1// Code generated by protoc-gen-go. DO NOT EDIT. 2// versions: 3// protoc-gen-go v1.25.0 4// protoc v3.14.0 5// source: envoy/extensions/filters/network/http_connection_manager/v4alpha/http_connection_manager.proto 6 7package envoy_extensions_filters_network_http_connection_manager_v4alpha 8 9import ( 10 _ "github.com/cncf/xds/go/udpa/annotations" 11 v4alpha1 "github.com/envoyproxy/go-control-plane/envoy/config/accesslog/v4alpha" 12 v4alpha "github.com/envoyproxy/go-control-plane/envoy/config/core/v4alpha" 13 v4alpha2 "github.com/envoyproxy/go-control-plane/envoy/config/route/v4alpha" 14 v4alpha3 "github.com/envoyproxy/go-control-plane/envoy/config/trace/v4alpha" 15 v32 "github.com/envoyproxy/go-control-plane/envoy/type/http/v3" 16 v31 "github.com/envoyproxy/go-control-plane/envoy/type/tracing/v3" 17 v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3" 18 _ "github.com/envoyproxy/protoc-gen-validate/validate" 19 proto "github.com/golang/protobuf/proto" 20 any "github.com/golang/protobuf/ptypes/any" 21 duration "github.com/golang/protobuf/ptypes/duration" 22 wrappers "github.com/golang/protobuf/ptypes/wrappers" 23 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 24 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 25 reflect "reflect" 26 sync "sync" 27) 28 29const ( 30 // Verify that this generated code is sufficiently up-to-date. 31 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 32 // Verify that runtime/protoimpl is sufficiently up-to-date. 33 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 34) 35 36// This is a compile-time assertion that a sufficiently up-to-date version 37// of the legacy proto package is being used. 38const _ = proto.ProtoPackageIsVersion4 39 40type HttpConnectionManager_CodecType int32 41 42const ( 43 // For every new connection, the connection manager will determine which 44 // codec to use. This mode supports both ALPN for TLS listeners as well as 45 // protocol inference for plaintext listeners. If ALPN data is available, it 46 // is preferred, otherwise protocol inference is used. In almost all cases, 47 // this is the right option to choose for this setting. 48 HttpConnectionManager_AUTO HttpConnectionManager_CodecType = 0 49 // The connection manager will assume that the client is speaking HTTP/1.1. 50 HttpConnectionManager_HTTP1 HttpConnectionManager_CodecType = 1 51 // The connection manager will assume that the client is speaking HTTP/2 52 // (Envoy does not require HTTP/2 to take place over TLS or to use ALPN. 53 // Prior knowledge is allowed). 54 HttpConnectionManager_HTTP2 HttpConnectionManager_CodecType = 2 55 // [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with 56 // caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient 57 // to distinguish HTTP1 and HTTP2 traffic. 58 HttpConnectionManager_HTTP3 HttpConnectionManager_CodecType = 3 59) 60 61// Enum value maps for HttpConnectionManager_CodecType. 62var ( 63 HttpConnectionManager_CodecType_name = map[int32]string{ 64 0: "AUTO", 65 1: "HTTP1", 66 2: "HTTP2", 67 3: "HTTP3", 68 } 69 HttpConnectionManager_CodecType_value = map[string]int32{ 70 "AUTO": 0, 71 "HTTP1": 1, 72 "HTTP2": 2, 73 "HTTP3": 3, 74 } 75) 76 77func (x HttpConnectionManager_CodecType) Enum() *HttpConnectionManager_CodecType { 78 p := new(HttpConnectionManager_CodecType) 79 *p = x 80 return p 81} 82 83func (x HttpConnectionManager_CodecType) String() string { 84 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 85} 86 87func (HttpConnectionManager_CodecType) Descriptor() protoreflect.EnumDescriptor { 88 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[0].Descriptor() 89} 90 91func (HttpConnectionManager_CodecType) Type() protoreflect.EnumType { 92 return &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[0] 93} 94 95func (x HttpConnectionManager_CodecType) Number() protoreflect.EnumNumber { 96 return protoreflect.EnumNumber(x) 97} 98 99// Deprecated: Use HttpConnectionManager_CodecType.Descriptor instead. 100func (HttpConnectionManager_CodecType) EnumDescriptor() ([]byte, []int) { 101 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} 102} 103 104type HttpConnectionManager_ServerHeaderTransformation int32 105 106const ( 107 // Overwrite any Server header with the contents of server_name. 108 HttpConnectionManager_OVERWRITE HttpConnectionManager_ServerHeaderTransformation = 0 109 // If no Server header is present, append Server server_name 110 // If a Server header is present, pass it through. 111 HttpConnectionManager_APPEND_IF_ABSENT HttpConnectionManager_ServerHeaderTransformation = 1 112 // Pass through the value of the server header, and do not append a header 113 // if none is present. 114 HttpConnectionManager_PASS_THROUGH HttpConnectionManager_ServerHeaderTransformation = 2 115) 116 117// Enum value maps for HttpConnectionManager_ServerHeaderTransformation. 118var ( 119 HttpConnectionManager_ServerHeaderTransformation_name = map[int32]string{ 120 0: "OVERWRITE", 121 1: "APPEND_IF_ABSENT", 122 2: "PASS_THROUGH", 123 } 124 HttpConnectionManager_ServerHeaderTransformation_value = map[string]int32{ 125 "OVERWRITE": 0, 126 "APPEND_IF_ABSENT": 1, 127 "PASS_THROUGH": 2, 128 } 129) 130 131func (x HttpConnectionManager_ServerHeaderTransformation) Enum() *HttpConnectionManager_ServerHeaderTransformation { 132 p := new(HttpConnectionManager_ServerHeaderTransformation) 133 *p = x 134 return p 135} 136 137func (x HttpConnectionManager_ServerHeaderTransformation) String() string { 138 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 139} 140 141func (HttpConnectionManager_ServerHeaderTransformation) Descriptor() protoreflect.EnumDescriptor { 142 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[1].Descriptor() 143} 144 145func (HttpConnectionManager_ServerHeaderTransformation) Type() protoreflect.EnumType { 146 return &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[1] 147} 148 149func (x HttpConnectionManager_ServerHeaderTransformation) Number() protoreflect.EnumNumber { 150 return protoreflect.EnumNumber(x) 151} 152 153// Deprecated: Use HttpConnectionManager_ServerHeaderTransformation.Descriptor instead. 154func (HttpConnectionManager_ServerHeaderTransformation) EnumDescriptor() ([]byte, []int) { 155 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} 156} 157 158// How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP 159// header. 160type HttpConnectionManager_ForwardClientCertDetails int32 161 162const ( 163 // Do not send the XFCC header to the next hop. This is the default value. 164 HttpConnectionManager_SANITIZE HttpConnectionManager_ForwardClientCertDetails = 0 165 // When the client connection is mTLS (Mutual TLS), forward the XFCC header 166 // in the request. 167 HttpConnectionManager_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 1 168 // When the client connection is mTLS, append the client certificate 169 // information to the request’s XFCC header and forward it. 170 HttpConnectionManager_APPEND_FORWARD HttpConnectionManager_ForwardClientCertDetails = 2 171 // When the client connection is mTLS, reset the XFCC header with the client 172 // certificate information and send it to the next hop. 173 HttpConnectionManager_SANITIZE_SET HttpConnectionManager_ForwardClientCertDetails = 3 174 // Always forward the XFCC header in the request, regardless of whether the 175 // client connection is mTLS. 176 HttpConnectionManager_ALWAYS_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 4 177) 178 179// Enum value maps for HttpConnectionManager_ForwardClientCertDetails. 180var ( 181 HttpConnectionManager_ForwardClientCertDetails_name = map[int32]string{ 182 0: "SANITIZE", 183 1: "FORWARD_ONLY", 184 2: "APPEND_FORWARD", 185 3: "SANITIZE_SET", 186 4: "ALWAYS_FORWARD_ONLY", 187 } 188 HttpConnectionManager_ForwardClientCertDetails_value = map[string]int32{ 189 "SANITIZE": 0, 190 "FORWARD_ONLY": 1, 191 "APPEND_FORWARD": 2, 192 "SANITIZE_SET": 3, 193 "ALWAYS_FORWARD_ONLY": 4, 194 } 195) 196 197func (x HttpConnectionManager_ForwardClientCertDetails) Enum() *HttpConnectionManager_ForwardClientCertDetails { 198 p := new(HttpConnectionManager_ForwardClientCertDetails) 199 *p = x 200 return p 201} 202 203func (x HttpConnectionManager_ForwardClientCertDetails) String() string { 204 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 205} 206 207func (HttpConnectionManager_ForwardClientCertDetails) Descriptor() protoreflect.EnumDescriptor { 208 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[2].Descriptor() 209} 210 211func (HttpConnectionManager_ForwardClientCertDetails) Type() protoreflect.EnumType { 212 return &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[2] 213} 214 215func (x HttpConnectionManager_ForwardClientCertDetails) Number() protoreflect.EnumNumber { 216 return protoreflect.EnumNumber(x) 217} 218 219// Deprecated: Use HttpConnectionManager_ForwardClientCertDetails.Descriptor instead. 220func (HttpConnectionManager_ForwardClientCertDetails) EnumDescriptor() ([]byte, []int) { 221 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} 222} 223 224// Determines the action for request that contain %2F, %2f, %5C or %5c sequences in the URI path. 225// This operation occurs before URL normalization and the merge slashes transformations if they were enabled. 226type HttpConnectionManager_PathWithEscapedSlashesAction int32 227 228const ( 229 // Default behavior specific to implementation (i.e. Envoy) of this configuration option. 230 // Envoy, by default, takes the KEEP_UNCHANGED action. 231 // NOTE: the implementation may change the default behavior at-will. 232 HttpConnectionManager_IMPLEMENTATION_SPECIFIC_DEFAULT HttpConnectionManager_PathWithEscapedSlashesAction = 0 233 // Keep escaped slashes. 234 HttpConnectionManager_KEEP_UNCHANGED HttpConnectionManager_PathWithEscapedSlashesAction = 1 235 // Reject client request with the 400 status. gRPC requests will be rejected with the INTERNAL (13) error code. 236 // The "httpN.downstream_rq_failed_path_normalization" counter is incremented for each rejected request. 237 HttpConnectionManager_REJECT_REQUEST HttpConnectionManager_PathWithEscapedSlashesAction = 2 238 // Unescape %2F and %5C sequences and redirect request to the new path if these sequences were present. 239 // Redirect occurs after path normalization and merge slashes transformations if they were configured. 240 // NOTE: gRPC requests will be rejected with the INTERNAL (13) error code. 241 // This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to 242 // traverse all parties: downstream client, intermediate proxies, Envoy and upstream server. 243 // The "httpN.downstream_rq_redirected_with_normalized_path" counter is incremented for each 244 // redirected request. 245 HttpConnectionManager_UNESCAPE_AND_REDIRECT HttpConnectionManager_PathWithEscapedSlashesAction = 3 246 // Unescape %2F and %5C sequences. 247 // Note: this option should not be enabled if intermediaries perform path based access control as 248 // it may lead to path confusion vulnerabilities. 249 HttpConnectionManager_UNESCAPE_AND_FORWARD HttpConnectionManager_PathWithEscapedSlashesAction = 4 250) 251 252// Enum value maps for HttpConnectionManager_PathWithEscapedSlashesAction. 253var ( 254 HttpConnectionManager_PathWithEscapedSlashesAction_name = map[int32]string{ 255 0: "IMPLEMENTATION_SPECIFIC_DEFAULT", 256 1: "KEEP_UNCHANGED", 257 2: "REJECT_REQUEST", 258 3: "UNESCAPE_AND_REDIRECT", 259 4: "UNESCAPE_AND_FORWARD", 260 } 261 HttpConnectionManager_PathWithEscapedSlashesAction_value = map[string]int32{ 262 "IMPLEMENTATION_SPECIFIC_DEFAULT": 0, 263 "KEEP_UNCHANGED": 1, 264 "REJECT_REQUEST": 2, 265 "UNESCAPE_AND_REDIRECT": 3, 266 "UNESCAPE_AND_FORWARD": 4, 267 } 268) 269 270func (x HttpConnectionManager_PathWithEscapedSlashesAction) Enum() *HttpConnectionManager_PathWithEscapedSlashesAction { 271 p := new(HttpConnectionManager_PathWithEscapedSlashesAction) 272 *p = x 273 return p 274} 275 276func (x HttpConnectionManager_PathWithEscapedSlashesAction) String() string { 277 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 278} 279 280func (HttpConnectionManager_PathWithEscapedSlashesAction) Descriptor() protoreflect.EnumDescriptor { 281 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[3].Descriptor() 282} 283 284func (HttpConnectionManager_PathWithEscapedSlashesAction) Type() protoreflect.EnumType { 285 return &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[3] 286} 287 288func (x HttpConnectionManager_PathWithEscapedSlashesAction) Number() protoreflect.EnumNumber { 289 return protoreflect.EnumNumber(x) 290} 291 292// Deprecated: Use HttpConnectionManager_PathWithEscapedSlashesAction.Descriptor instead. 293func (HttpConnectionManager_PathWithEscapedSlashesAction) EnumDescriptor() ([]byte, []int) { 294 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} 295} 296 297type HttpConnectionManager_Tracing_OperationName int32 298 299const ( 300 // The HTTP listener is used for ingress/incoming requests. 301 HttpConnectionManager_Tracing_INGRESS HttpConnectionManager_Tracing_OperationName = 0 302 // The HTTP listener is used for egress/outgoing requests. 303 HttpConnectionManager_Tracing_EGRESS HttpConnectionManager_Tracing_OperationName = 1 304) 305 306// Enum value maps for HttpConnectionManager_Tracing_OperationName. 307var ( 308 HttpConnectionManager_Tracing_OperationName_name = map[int32]string{ 309 0: "INGRESS", 310 1: "EGRESS", 311 } 312 HttpConnectionManager_Tracing_OperationName_value = map[string]int32{ 313 "INGRESS": 0, 314 "EGRESS": 1, 315 } 316) 317 318func (x HttpConnectionManager_Tracing_OperationName) Enum() *HttpConnectionManager_Tracing_OperationName { 319 p := new(HttpConnectionManager_Tracing_OperationName) 320 *p = x 321 return p 322} 323 324func (x HttpConnectionManager_Tracing_OperationName) String() string { 325 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 326} 327 328func (HttpConnectionManager_Tracing_OperationName) Descriptor() protoreflect.EnumDescriptor { 329 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[4].Descriptor() 330} 331 332func (HttpConnectionManager_Tracing_OperationName) Type() protoreflect.EnumType { 333 return &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes[4] 334} 335 336func (x HttpConnectionManager_Tracing_OperationName) Number() protoreflect.EnumNumber { 337 return protoreflect.EnumNumber(x) 338} 339 340// Deprecated: Use HttpConnectionManager_Tracing_OperationName.Descriptor instead. 341func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor() ([]byte, []int) { 342 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 0, 0} 343} 344 345// [#next-free-field: 46] 346type HttpConnectionManager struct { 347 state protoimpl.MessageState 348 sizeCache protoimpl.SizeCache 349 unknownFields protoimpl.UnknownFields 350 351 // Supplies the type of codec that the connection manager should use. 352 CodecType HttpConnectionManager_CodecType `protobuf:"varint,1,opt,name=codec_type,json=codecType,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager_CodecType" json:"codec_type,omitempty"` 353 // The human readable prefix to use when emitting statistics for the 354 // connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for 355 // more information. 356 StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"` 357 // Types that are assignable to RouteSpecifier: 358 // *HttpConnectionManager_Rds 359 // *HttpConnectionManager_RouteConfig 360 // *HttpConnectionManager_ScopedRoutes 361 RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"` 362 // A list of individual HTTP filters that make up the filter chain for 363 // requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>` 364 // as the filters are processed sequentially as request events happen. 365 HttpFilters []*HttpFilter `protobuf:"bytes,5,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"` 366 // Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent` 367 // and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked 368 // documentation for more information. Defaults to false. 369 AddUserAgent *wrappers.BoolValue `protobuf:"bytes,6,opt,name=add_user_agent,json=addUserAgent,proto3" json:"add_user_agent,omitempty"` 370 // Presence of the object defines whether the connection manager 371 // emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider 372 // <envoy_v3_api_msg_config.trace.v3.Tracing>`. 373 Tracing *HttpConnectionManager_Tracing `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"` 374 // Additional settings for HTTP requests handled by the connection manager. These will be 375 // applicable to both HTTP1 and HTTP2 requests. 376 CommonHttpProtocolOptions *v4alpha.HttpProtocolOptions `protobuf:"bytes,35,opt,name=common_http_protocol_options,json=commonHttpProtocolOptions,proto3" json:"common_http_protocol_options,omitempty"` 377 // Additional HTTP/1 settings that are passed to the HTTP/1 codec. 378 HttpProtocolOptions *v4alpha.Http1ProtocolOptions `protobuf:"bytes,8,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"` 379 // Additional HTTP/2 settings that are passed directly to the HTTP/2 codec. 380 Http2ProtocolOptions *v4alpha.Http2ProtocolOptions `protobuf:"bytes,9,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"` 381 // Additional HTTP/3 settings that are passed directly to the HTTP/3 codec. 382 // [#not-implemented-hide:] 383 Http3ProtocolOptions *v4alpha.Http3ProtocolOptions `protobuf:"bytes,44,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"` 384 // An optional override that the connection manager will write to the server 385 // header in responses. If not set, the default is *envoy*. 386 ServerName string `protobuf:"bytes,10,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"` 387 // Defines the action to be applied to the Server header on the response path. 388 // By default, Envoy will overwrite the header with the value specified in 389 // server_name. 390 ServerHeaderTransformation HttpConnectionManager_ServerHeaderTransformation `protobuf:"varint,34,opt,name=server_header_transformation,json=serverHeaderTransformation,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager_ServerHeaderTransformation" json:"server_header_transformation,omitempty"` 391 // The maximum request headers size for incoming connections. 392 // If unconfigured, the default max request headers allowed is 60 KiB. 393 // Requests that exceed this limit will receive a 431 response. 394 MaxRequestHeadersKb *wrappers.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"` 395 // The stream idle timeout for connections managed by the connection manager. 396 // If not specified, this defaults to 5 minutes. The default value was selected 397 // so as not to interfere with any smaller configured timeouts that may have 398 // existed in configurations prior to the introduction of this feature, while 399 // introducing robustness to TCP connections that terminate without a FIN. 400 // 401 // This idle timeout applies to new streams and is overridable by the 402 // :ref:`route-level idle_timeout 403 // <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>`. Even on a stream in 404 // which the override applies, prior to receipt of the initial request 405 // headers, the :ref:`stream_idle_timeout 406 // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>` 407 // applies. Each time an encode/decode event for headers or data is processed 408 // for the stream, the timer will be reset. If the timeout fires, the stream 409 // is terminated with a 408 Request Timeout error code if no upstream response 410 // header has been received, otherwise a stream reset occurs. 411 // 412 // This timeout also specifies the amount of time that Envoy will wait for the peer to open enough 413 // window to write any remaining stream data once the entirety of stream data (local end stream is 414 // true) has been buffered pending available window. In other words, this timeout defends against 415 // a peer that does not release enough window to completely write the stream, even though all 416 // data has been proxied within available flow control windows. If the timeout is hit in this 417 // case, the :ref:`tx_flush_timeout <config_http_conn_man_stats_per_codec>` counter will be 418 // incremented. Note that :ref:`max_stream_duration 419 // <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` does not apply to 420 // this corner case. 421 // 422 // If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts" 423 // is configured, this timeout is scaled according to the value for 424 // :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`. 425 // 426 // Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due 427 // to the granularity of events presented to the connection manager. For example, while receiving 428 // very large request headers, it may be the case that there is traffic regularly arriving on the 429 // wire while the connection manage is only able to observe the end-of-headers event, hence the 430 // stream may still idle timeout. 431 // 432 // A value of 0 will completely disable the connection manager stream idle 433 // timeout, although per-route idle timeout overrides will continue to apply. 434 StreamIdleTimeout *duration.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"` 435 // The amount of time that Envoy will wait for the entire request to be received. 436 // The timer is activated when the request is initiated, and is disarmed when the last byte of the 437 // request is sent upstream (i.e. all decoding filters have processed the request), OR when the 438 // response is initiated. If not specified or set to 0, this timeout is disabled. 439 RequestTimeout *duration.Duration `protobuf:"bytes,28,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"` 440 // The amount of time that Envoy will wait for the request headers to be received. The timer is 441 // activated when the first byte of the headers is received, and is disarmed when the last byte of 442 // the headers has been received. If not specified or set to 0, this timeout is disabled. 443 RequestHeadersTimeout *duration.Duration `protobuf:"bytes,41,opt,name=request_headers_timeout,json=requestHeadersTimeout,proto3" json:"request_headers_timeout,omitempty"` 444 // The time that Envoy will wait between sending an HTTP/2 “shutdown 445 // notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame. 446 // This is used so that Envoy provides a grace period for new streams that 447 // race with the final GOAWAY frame. During this grace period, Envoy will 448 // continue to accept new streams. After the grace period, a final GOAWAY 449 // frame is sent and Envoy will start refusing new streams. Draining occurs 450 // both when a connection hits the idle timeout or during general server 451 // draining. The default grace period is 5000 milliseconds (5 seconds) if this 452 // option is not specified. 453 DrainTimeout *duration.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"` 454 // The delayed close timeout is for downstream connections managed by the HTTP connection manager. 455 // It is defined as a grace period after connection close processing has been locally initiated 456 // during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy 457 // from the downstream connection) prior to Envoy closing the socket associated with that 458 // connection. 459 // NOTE: This timeout is enforced even when the socket associated with the downstream connection 460 // is pending a flush of the write buffer. However, any progress made writing data to the socket 461 // will restart the timer associated with this timeout. This means that the total grace period for 462 // a socket in this state will be 463 // <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>. 464 // 465 // Delaying Envoy's connection close and giving the peer the opportunity to initiate the close 466 // sequence mitigates a race condition that exists when downstream clients do not drain/process 467 // data in a connection's receive buffer after a remote close has been detected via a socket 468 // write(). This race leads to such clients failing to process the response code sent by Envoy, 469 // which could result in erroneous downstream processing. 470 // 471 // If the timeout triggers, Envoy will close the connection's socket. 472 // 473 // The default timeout is 1000 ms if this option is not specified. 474 // 475 // .. NOTE:: 476 // To be useful in avoiding the race condition described above, this timeout must be set 477 // to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for 478 // a reasonable "worst" case processing time for a full iteration of Envoy's event loop>. 479 // 480 // .. WARNING:: 481 // A value of 0 will completely disable delayed close processing. When disabled, the downstream 482 // connection's socket will be closed immediately after the write flush is completed or will 483 // never close if the write flush does not complete. 484 DelayedCloseTimeout *duration.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"` 485 // Configuration for :ref:`HTTP access logs <arch_overview_access_logs>` 486 // emitted by the connection manager. 487 AccessLog []*v4alpha1.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"` 488 // If set to true, the connection manager will use the real remote address 489 // of the client connection when determining internal versus external origin and manipulating 490 // various headers. If set to false or absent, the connection manager will use the 491 // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for 492 // :ref:`config_http_conn_man_headers_x-forwarded-for`, 493 // :ref:`config_http_conn_man_headers_x-envoy-internal`, and 494 // :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information. 495 UseRemoteAddress *wrappers.BoolValue `protobuf:"bytes,14,opt,name=use_remote_address,json=useRemoteAddress,proto3" json:"use_remote_address,omitempty"` 496 // The number of additional ingress proxy hops from the right side of the 497 // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when 498 // determining the origin client's IP address. The default is zero if this option 499 // is not specified. See the documentation for 500 // :ref:`config_http_conn_man_headers_x-forwarded-for` for more information. 501 XffNumTrustedHops uint32 `protobuf:"varint,19,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"` 502 // Configures what network addresses are considered internal for stats and header sanitation 503 // purposes. If unspecified, only RFC1918 IP addresses will be considered internal. 504 // See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more 505 // information about internal/external addresses. 506 InternalAddressConfig *HttpConnectionManager_InternalAddressConfig `protobuf:"bytes,25,opt,name=internal_address_config,json=internalAddressConfig,proto3" json:"internal_address_config,omitempty"` 507 // If set, Envoy will not append the remote address to the 508 // :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in 509 // conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager 510 // has mutated the request headers. While :ref:`use_remote_address 511 // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` 512 // will also suppress XFF addition, it has consequences for logging and other 513 // Envoy uses of the remote address, so *skip_xff_append* should be used 514 // when only an elision of XFF addition is intended. 515 SkipXffAppend bool `protobuf:"varint,21,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"` 516 // Via header value to append to request and response headers. If this is 517 // empty, no via header will be appended. 518 Via string `protobuf:"bytes,22,opt,name=via,proto3" json:"via,omitempty"` 519 // Whether the connection manager will generate the :ref:`x-request-id 520 // <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to 521 // true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature 522 // is not desired it can be disabled. 523 GenerateRequestId *wrappers.BoolValue `protobuf:"bytes,15,opt,name=generate_request_id,json=generateRequestId,proto3" json:"generate_request_id,omitempty"` 524 // Whether the connection manager will keep the :ref:`x-request-id 525 // <config_http_conn_man_headers_x-request-id>` header if passed for a request that is edge 526 // (Edge request is the request from external clients to front Envoy) and not reset it, which 527 // is the current Envoy behaviour. This defaults to false. 528 PreserveExternalRequestId bool `protobuf:"varint,32,opt,name=preserve_external_request_id,json=preserveExternalRequestId,proto3" json:"preserve_external_request_id,omitempty"` 529 // If set, Envoy will always set :ref:`x-request-id <config_http_conn_man_headers_x-request-id>` header in response. 530 // If this is false or not set, the request ID is returned in responses only if tracing is forced using 531 // :ref:`x-envoy-force-trace <config_http_conn_man_headers_x-envoy-force-trace>` header. 532 AlwaysSetRequestIdInResponse bool `protobuf:"varint,37,opt,name=always_set_request_id_in_response,json=alwaysSetRequestIdInResponse,proto3" json:"always_set_request_id_in_response,omitempty"` 533 // How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP 534 // header. 535 ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `protobuf:"varint,16,opt,name=forward_client_cert_details,json=forwardClientCertDetails,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager_ForwardClientCertDetails" json:"forward_client_cert_details,omitempty"` 536 // This field is valid only when :ref:`forward_client_cert_details 537 // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details>` 538 // is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in 539 // the client certificate to be forwarded. Note that in the 540 // :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, *Hash* is always set, and 541 // *By* is always set when the client certificate presents the URI type Subject Alternative Name 542 // value. 543 SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `protobuf:"bytes,17,opt,name=set_current_client_cert_details,json=setCurrentClientCertDetails,proto3" json:"set_current_client_cert_details,omitempty"` 544 // If proxy_100_continue is true, Envoy will proxy incoming "Expect: 545 // 100-continue" headers upstream, and forward "100 Continue" responses 546 // downstream. If this is false or not set, Envoy will instead strip the 547 // "Expect: 100-continue" header, and send a "100 Continue" response itself. 548 Proxy_100Continue bool `protobuf:"varint,18,opt,name=proxy_100_continue,json=proxy100Continue,proto3" json:"proxy_100_continue,omitempty"` 549 // If 550 // :ref:`use_remote_address 551 // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>` 552 // is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is 553 // an IPv4 address, the address will be mapped to IPv6 before it is appended to *x-forwarded-for*. 554 // This is useful for testing compatibility of upstream services that parse the header value. For 555 // example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses 556 // <https://tools.ietf.org/html/rfc4291#section-2.5.5.2>`_ for details. This will also affect the 557 // :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See 558 // :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6 559 // <config_http_conn_man_runtime_represent_ipv4_remote_address_as_ipv4_mapped_ipv6>` for runtime 560 // control. 561 // [#not-implemented-hide:] 562 RepresentIpv4RemoteAddressAsIpv4MappedIpv6 bool `protobuf:"varint,20,opt,name=represent_ipv4_remote_address_as_ipv4_mapped_ipv6,json=representIpv4RemoteAddressAsIpv4MappedIpv6,proto3" json:"represent_ipv4_remote_address_as_ipv4_mapped_ipv6,omitempty"` 563 UpgradeConfigs []*HttpConnectionManager_UpgradeConfig `protobuf:"bytes,23,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"` 564 // Should paths be normalized according to RFC 3986 before any processing of 565 // requests by HTTP filters or routing? This affects the upstream *:path* header 566 // as well. For paths that fail this check, Envoy will respond with 400 to 567 // paths that are malformed. This defaults to false currently but will default 568 // true in the future. When not specified, this value may be overridden by the 569 // runtime variable 570 // :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`. 571 // See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`_ 572 // for details of normalization. 573 // Note that Envoy does not perform 574 // `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`_ 575 NormalizePath *wrappers.BoolValue `protobuf:"bytes,30,opt,name=normalize_path,json=normalizePath,proto3" json:"normalize_path,omitempty"` 576 // Determines if adjacent slashes in the path are merged into one before any processing of 577 // requests by HTTP filters or routing. This affects the upstream *:path* header as well. Without 578 // setting this option, incoming requests with path `//dir///file` will not match against route 579 // with `prefix` match set to `/dir`. Defaults to `false`. Note that slash merging is not part of 580 // `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience. 581 MergeSlashes bool `protobuf:"varint,33,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"` 582 // Action to take when request URL path contains escaped slash sequences (%2F, %2f, %5C and %5c). 583 // The default value can be overridden by the :ref:`http_connection_manager.path_with_escaped_slashes_action<config_http_conn_man_runtime_path_with_escaped_slashes_action>` 584 // runtime variable. 585 // The :ref:`http_connection_manager.path_with_escaped_slashes_action_sampling<config_http_conn_man_runtime_path_with_escaped_slashes_action_enabled>` runtime 586 // variable can be used to apply the action to a portion of all requests. 587 PathWithEscapedSlashesAction HttpConnectionManager_PathWithEscapedSlashesAction `protobuf:"varint,45,opt,name=path_with_escaped_slashes_action,json=pathWithEscapedSlashesAction,proto3,enum=envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager_PathWithEscapedSlashesAction" json:"path_with_escaped_slashes_action,omitempty"` 588 // The configuration of the request ID extension. This includes operations such as 589 // generation, validation, and associated tracing operations. If empty, the 590 // :ref:`UuidRequestIdConfig <envoy_v3_api_msg_extensions.request_id.uuid.v3.UuidRequestIdConfig>` 591 // default extension is used with default parameters. See the documentation for that extension 592 // for details on what it does. Customizing the configuration for the default extension can be 593 // achieved by configuring it explicitly here. For example, to disable trace reason packing, 594 // the following configuration can be used: 595 // 596 // .. validated-code-block:: yaml 597 // :type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension 598 // 599 // typed_config: 600 // "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig 601 // pack_trace_reason: false 602 // 603 // [#extension-category: envoy.request_id] 604 RequestIdExtension *RequestIDExtension `protobuf:"bytes,36,opt,name=request_id_extension,json=requestIdExtension,proto3" json:"request_id_extension,omitempty"` 605 // The configuration to customize local reply returned by Envoy. It can customize status code, 606 // body text and response content type. If not specified, status code and text body are hard 607 // coded in Envoy, the response content type is plain text. 608 LocalReplyConfig *LocalReplyConfig `protobuf:"bytes,38,opt,name=local_reply_config,json=localReplyConfig,proto3" json:"local_reply_config,omitempty"` 609 // Types that are assignable to StripPortMode: 610 // *HttpConnectionManager_StripMatchingHostPort 611 // *HttpConnectionManager_StripAnyHostPort 612 StripPortMode isHttpConnectionManager_StripPortMode `protobuf_oneof:"strip_port_mode"` 613 // Governs Envoy's behavior when receiving invalid HTTP from downstream. 614 // If this option is false (default), Envoy will err on the conservative side handling HTTP 615 // errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request. 616 // If this option is set to true, Envoy will be more permissive, only resetting the invalid 617 // stream in the case of HTTP/2 and leaving the connection open where possible (if the entire 618 // request is read for HTTP/1.1) 619 // In general this should be true for deployments receiving trusted traffic (L2 Envoys, 620 // company-internal mesh) and false when receiving untrusted traffic (edge deployments). 621 // 622 // If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are 623 // desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message 624 // <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message>` or the new HTTP/2 option 625 // :ref:`override_stream_error_on_invalid_http_message 626 // <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>` 627 // *not* the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging 628 // <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.stream_error_on_invalid_http_messaging>` 629 StreamErrorOnInvalidHttpMessage *wrappers.BoolValue `protobuf:"bytes,40,opt,name=stream_error_on_invalid_http_message,json=streamErrorOnInvalidHttpMessage,proto3" json:"stream_error_on_invalid_http_message,omitempty"` 630 // [#not-implemented-hide:] Path normalization configuration. This includes 631 // configurations for transformations (e.g. RFC 3986 normalization or merge 632 // adjacent slashes) and the policy to apply them. The policy determines 633 // whether transformations affect the forwarded *:path* header. RFC 3986 path 634 // normalization is enabled by default and the default policy is that the 635 // normalized header will be forwarded. See :ref:`PathNormalizationOptions 636 // <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.PathNormalizationOptions>` 637 // for details. 638 PathNormalizationOptions *HttpConnectionManager_PathNormalizationOptions `protobuf:"bytes,43,opt,name=path_normalization_options,json=pathNormalizationOptions,proto3" json:"path_normalization_options,omitempty"` 639} 640 641func (x *HttpConnectionManager) Reset() { 642 *x = HttpConnectionManager{} 643 if protoimpl.UnsafeEnabled { 644 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[0] 645 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 646 ms.StoreMessageInfo(mi) 647 } 648} 649 650func (x *HttpConnectionManager) String() string { 651 return protoimpl.X.MessageStringOf(x) 652} 653 654func (*HttpConnectionManager) ProtoMessage() {} 655 656func (x *HttpConnectionManager) ProtoReflect() protoreflect.Message { 657 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[0] 658 if protoimpl.UnsafeEnabled && x != nil { 659 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 660 if ms.LoadMessageInfo() == nil { 661 ms.StoreMessageInfo(mi) 662 } 663 return ms 664 } 665 return mi.MessageOf(x) 666} 667 668// Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead. 669func (*HttpConnectionManager) Descriptor() ([]byte, []int) { 670 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0} 671} 672 673func (x *HttpConnectionManager) GetCodecType() HttpConnectionManager_CodecType { 674 if x != nil { 675 return x.CodecType 676 } 677 return HttpConnectionManager_AUTO 678} 679 680func (x *HttpConnectionManager) GetStatPrefix() string { 681 if x != nil { 682 return x.StatPrefix 683 } 684 return "" 685} 686 687func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier { 688 if m != nil { 689 return m.RouteSpecifier 690 } 691 return nil 692} 693 694func (x *HttpConnectionManager) GetRds() *Rds { 695 if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_Rds); ok { 696 return x.Rds 697 } 698 return nil 699} 700 701func (x *HttpConnectionManager) GetRouteConfig() *v4alpha2.RouteConfiguration { 702 if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_RouteConfig); ok { 703 return x.RouteConfig 704 } 705 return nil 706} 707 708func (x *HttpConnectionManager) GetScopedRoutes() *ScopedRoutes { 709 if x, ok := x.GetRouteSpecifier().(*HttpConnectionManager_ScopedRoutes); ok { 710 return x.ScopedRoutes 711 } 712 return nil 713} 714 715func (x *HttpConnectionManager) GetHttpFilters() []*HttpFilter { 716 if x != nil { 717 return x.HttpFilters 718 } 719 return nil 720} 721 722func (x *HttpConnectionManager) GetAddUserAgent() *wrappers.BoolValue { 723 if x != nil { 724 return x.AddUserAgent 725 } 726 return nil 727} 728 729func (x *HttpConnectionManager) GetTracing() *HttpConnectionManager_Tracing { 730 if x != nil { 731 return x.Tracing 732 } 733 return nil 734} 735 736func (x *HttpConnectionManager) GetCommonHttpProtocolOptions() *v4alpha.HttpProtocolOptions { 737 if x != nil { 738 return x.CommonHttpProtocolOptions 739 } 740 return nil 741} 742 743func (x *HttpConnectionManager) GetHttpProtocolOptions() *v4alpha.Http1ProtocolOptions { 744 if x != nil { 745 return x.HttpProtocolOptions 746 } 747 return nil 748} 749 750func (x *HttpConnectionManager) GetHttp2ProtocolOptions() *v4alpha.Http2ProtocolOptions { 751 if x != nil { 752 return x.Http2ProtocolOptions 753 } 754 return nil 755} 756 757func (x *HttpConnectionManager) GetHttp3ProtocolOptions() *v4alpha.Http3ProtocolOptions { 758 if x != nil { 759 return x.Http3ProtocolOptions 760 } 761 return nil 762} 763 764func (x *HttpConnectionManager) GetServerName() string { 765 if x != nil { 766 return x.ServerName 767 } 768 return "" 769} 770 771func (x *HttpConnectionManager) GetServerHeaderTransformation() HttpConnectionManager_ServerHeaderTransformation { 772 if x != nil { 773 return x.ServerHeaderTransformation 774 } 775 return HttpConnectionManager_OVERWRITE 776} 777 778func (x *HttpConnectionManager) GetMaxRequestHeadersKb() *wrappers.UInt32Value { 779 if x != nil { 780 return x.MaxRequestHeadersKb 781 } 782 return nil 783} 784 785func (x *HttpConnectionManager) GetStreamIdleTimeout() *duration.Duration { 786 if x != nil { 787 return x.StreamIdleTimeout 788 } 789 return nil 790} 791 792func (x *HttpConnectionManager) GetRequestTimeout() *duration.Duration { 793 if x != nil { 794 return x.RequestTimeout 795 } 796 return nil 797} 798 799func (x *HttpConnectionManager) GetRequestHeadersTimeout() *duration.Duration { 800 if x != nil { 801 return x.RequestHeadersTimeout 802 } 803 return nil 804} 805 806func (x *HttpConnectionManager) GetDrainTimeout() *duration.Duration { 807 if x != nil { 808 return x.DrainTimeout 809 } 810 return nil 811} 812 813func (x *HttpConnectionManager) GetDelayedCloseTimeout() *duration.Duration { 814 if x != nil { 815 return x.DelayedCloseTimeout 816 } 817 return nil 818} 819 820func (x *HttpConnectionManager) GetAccessLog() []*v4alpha1.AccessLog { 821 if x != nil { 822 return x.AccessLog 823 } 824 return nil 825} 826 827func (x *HttpConnectionManager) GetUseRemoteAddress() *wrappers.BoolValue { 828 if x != nil { 829 return x.UseRemoteAddress 830 } 831 return nil 832} 833 834func (x *HttpConnectionManager) GetXffNumTrustedHops() uint32 { 835 if x != nil { 836 return x.XffNumTrustedHops 837 } 838 return 0 839} 840 841func (x *HttpConnectionManager) GetInternalAddressConfig() *HttpConnectionManager_InternalAddressConfig { 842 if x != nil { 843 return x.InternalAddressConfig 844 } 845 return nil 846} 847 848func (x *HttpConnectionManager) GetSkipXffAppend() bool { 849 if x != nil { 850 return x.SkipXffAppend 851 } 852 return false 853} 854 855func (x *HttpConnectionManager) GetVia() string { 856 if x != nil { 857 return x.Via 858 } 859 return "" 860} 861 862func (x *HttpConnectionManager) GetGenerateRequestId() *wrappers.BoolValue { 863 if x != nil { 864 return x.GenerateRequestId 865 } 866 return nil 867} 868 869func (x *HttpConnectionManager) GetPreserveExternalRequestId() bool { 870 if x != nil { 871 return x.PreserveExternalRequestId 872 } 873 return false 874} 875 876func (x *HttpConnectionManager) GetAlwaysSetRequestIdInResponse() bool { 877 if x != nil { 878 return x.AlwaysSetRequestIdInResponse 879 } 880 return false 881} 882 883func (x *HttpConnectionManager) GetForwardClientCertDetails() HttpConnectionManager_ForwardClientCertDetails { 884 if x != nil { 885 return x.ForwardClientCertDetails 886 } 887 return HttpConnectionManager_SANITIZE 888} 889 890func (x *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnectionManager_SetCurrentClientCertDetails { 891 if x != nil { 892 return x.SetCurrentClientCertDetails 893 } 894 return nil 895} 896 897func (x *HttpConnectionManager) GetProxy_100Continue() bool { 898 if x != nil { 899 return x.Proxy_100Continue 900 } 901 return false 902} 903 904func (x *HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6() bool { 905 if x != nil { 906 return x.RepresentIpv4RemoteAddressAsIpv4MappedIpv6 907 } 908 return false 909} 910 911func (x *HttpConnectionManager) GetUpgradeConfigs() []*HttpConnectionManager_UpgradeConfig { 912 if x != nil { 913 return x.UpgradeConfigs 914 } 915 return nil 916} 917 918func (x *HttpConnectionManager) GetNormalizePath() *wrappers.BoolValue { 919 if x != nil { 920 return x.NormalizePath 921 } 922 return nil 923} 924 925func (x *HttpConnectionManager) GetMergeSlashes() bool { 926 if x != nil { 927 return x.MergeSlashes 928 } 929 return false 930} 931 932func (x *HttpConnectionManager) GetPathWithEscapedSlashesAction() HttpConnectionManager_PathWithEscapedSlashesAction { 933 if x != nil { 934 return x.PathWithEscapedSlashesAction 935 } 936 return HttpConnectionManager_IMPLEMENTATION_SPECIFIC_DEFAULT 937} 938 939func (x *HttpConnectionManager) GetRequestIdExtension() *RequestIDExtension { 940 if x != nil { 941 return x.RequestIdExtension 942 } 943 return nil 944} 945 946func (x *HttpConnectionManager) GetLocalReplyConfig() *LocalReplyConfig { 947 if x != nil { 948 return x.LocalReplyConfig 949 } 950 return nil 951} 952 953func (m *HttpConnectionManager) GetStripPortMode() isHttpConnectionManager_StripPortMode { 954 if m != nil { 955 return m.StripPortMode 956 } 957 return nil 958} 959 960func (x *HttpConnectionManager) GetStripMatchingHostPort() bool { 961 if x, ok := x.GetStripPortMode().(*HttpConnectionManager_StripMatchingHostPort); ok { 962 return x.StripMatchingHostPort 963 } 964 return false 965} 966 967func (x *HttpConnectionManager) GetStripAnyHostPort() bool { 968 if x, ok := x.GetStripPortMode().(*HttpConnectionManager_StripAnyHostPort); ok { 969 return x.StripAnyHostPort 970 } 971 return false 972} 973 974func (x *HttpConnectionManager) GetStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue { 975 if x != nil { 976 return x.StreamErrorOnInvalidHttpMessage 977 } 978 return nil 979} 980 981func (x *HttpConnectionManager) GetPathNormalizationOptions() *HttpConnectionManager_PathNormalizationOptions { 982 if x != nil { 983 return x.PathNormalizationOptions 984 } 985 return nil 986} 987 988type isHttpConnectionManager_RouteSpecifier interface { 989 isHttpConnectionManager_RouteSpecifier() 990} 991 992type HttpConnectionManager_Rds struct { 993 // The connection manager’s route table will be dynamically loaded via the RDS API. 994 Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"` 995} 996 997type HttpConnectionManager_RouteConfig struct { 998 // The route table for the connection manager is static and is specified in this property. 999 RouteConfig *v4alpha2.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"` 1000} 1001 1002type HttpConnectionManager_ScopedRoutes struct { 1003 // A route table will be dynamically assigned to each request based on request attributes 1004 // (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are 1005 // specified in this message. 1006 ScopedRoutes *ScopedRoutes `protobuf:"bytes,31,opt,name=scoped_routes,json=scopedRoutes,proto3,oneof"` 1007} 1008 1009func (*HttpConnectionManager_Rds) isHttpConnectionManager_RouteSpecifier() {} 1010 1011func (*HttpConnectionManager_RouteConfig) isHttpConnectionManager_RouteSpecifier() {} 1012 1013func (*HttpConnectionManager_ScopedRoutes) isHttpConnectionManager_RouteSpecifier() {} 1014 1015type isHttpConnectionManager_StripPortMode interface { 1016 isHttpConnectionManager_StripPortMode() 1017} 1018 1019type HttpConnectionManager_StripMatchingHostPort struct { 1020 // Determines if the port part should be removed from host/authority header before any processing 1021 // of request by HTTP filters or routing. The port would be removed only if it is equal to the :ref:`listener's<envoy_v3_api_field_config.listener.v3.Listener.address>` 1022 // local port. This affects the upstream host header unless the method is 1023 // CONNECT in which case if no filter adds a port the original port will be restored before headers are 1024 // sent upstream. 1025 // Without setting this option, incoming requests with host `example:443` will not match against 1026 // route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to `example`. Defaults to `false`. Note that port removal is not part 1027 // of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience. 1028 // Only one of `strip_matching_host_port` or `strip_any_host_port` can be set. 1029 StripMatchingHostPort bool `protobuf:"varint,39,opt,name=strip_matching_host_port,json=stripMatchingHostPort,proto3,oneof"` 1030} 1031 1032type HttpConnectionManager_StripAnyHostPort struct { 1033 // Determines if the port part should be removed from host/authority header before any processing 1034 // of request by HTTP filters or routing. 1035 // This affects the upstream host header unless the method is CONNECT in 1036 // which case if no filter adds a port the original port will be restored before headers are sent upstream. 1037 // Without setting this option, incoming requests with host `example:443` will not match against 1038 // route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to `example`. Defaults to `false`. Note that port removal is not part 1039 // of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience. 1040 // Only one of `strip_matching_host_port` or `strip_any_host_port` can be set. 1041 StripAnyHostPort bool `protobuf:"varint,42,opt,name=strip_any_host_port,json=stripAnyHostPort,proto3,oneof"` 1042} 1043 1044func (*HttpConnectionManager_StripMatchingHostPort) isHttpConnectionManager_StripPortMode() {} 1045 1046func (*HttpConnectionManager_StripAnyHostPort) isHttpConnectionManager_StripPortMode() {} 1047 1048// The configuration to customize local reply returned by Envoy. 1049type LocalReplyConfig struct { 1050 state protoimpl.MessageState 1051 sizeCache protoimpl.SizeCache 1052 unknownFields protoimpl.UnknownFields 1053 1054 // Configuration of list of mappers which allows to filter and change local response. 1055 // The mappers will be checked by the specified order until one is matched. 1056 Mappers []*ResponseMapper `protobuf:"bytes,1,rep,name=mappers,proto3" json:"mappers,omitempty"` 1057 // The configuration to form response body from the :ref:`command operators <config_access_log_command_operators>` 1058 // and to specify response content type as one of: plain/text or application/json. 1059 // 1060 // Example one: "plain/text" ``body_format``. 1061 // 1062 // .. validated-code-block:: yaml 1063 // :type-name: envoy.config.core.v3.SubstitutionFormatString 1064 // 1065 // text_format: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n" 1066 // 1067 // The following response body in "plain/text" format will be generated for a request with 1068 // local reply body of "upstream connection error", response_code=503 and path=/foo. 1069 // 1070 // .. code-block:: text 1071 // 1072 // upstream connect error:503:path=/foo 1073 // 1074 // Example two: "application/json" ``body_format``. 1075 // 1076 // .. validated-code-block:: yaml 1077 // :type-name: envoy.config.core.v3.SubstitutionFormatString 1078 // 1079 // json_format: 1080 // status: "%RESPONSE_CODE%" 1081 // message: "%LOCAL_REPLY_BODY%" 1082 // path: "%REQ(:path)%" 1083 // 1084 // The following response body in "application/json" format would be generated for a request with 1085 // local reply body of "upstream connection error", response_code=503 and path=/foo. 1086 // 1087 // .. code-block:: json 1088 // 1089 // { 1090 // "status": 503, 1091 // "message": "upstream connection error", 1092 // "path": "/foo" 1093 // } 1094 // 1095 BodyFormat *v4alpha.SubstitutionFormatString `protobuf:"bytes,2,opt,name=body_format,json=bodyFormat,proto3" json:"body_format,omitempty"` 1096} 1097 1098func (x *LocalReplyConfig) Reset() { 1099 *x = LocalReplyConfig{} 1100 if protoimpl.UnsafeEnabled { 1101 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[1] 1102 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1103 ms.StoreMessageInfo(mi) 1104 } 1105} 1106 1107func (x *LocalReplyConfig) String() string { 1108 return protoimpl.X.MessageStringOf(x) 1109} 1110 1111func (*LocalReplyConfig) ProtoMessage() {} 1112 1113func (x *LocalReplyConfig) ProtoReflect() protoreflect.Message { 1114 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[1] 1115 if protoimpl.UnsafeEnabled && x != nil { 1116 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1117 if ms.LoadMessageInfo() == nil { 1118 ms.StoreMessageInfo(mi) 1119 } 1120 return ms 1121 } 1122 return mi.MessageOf(x) 1123} 1124 1125// Deprecated: Use LocalReplyConfig.ProtoReflect.Descriptor instead. 1126func (*LocalReplyConfig) Descriptor() ([]byte, []int) { 1127 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{1} 1128} 1129 1130func (x *LocalReplyConfig) GetMappers() []*ResponseMapper { 1131 if x != nil { 1132 return x.Mappers 1133 } 1134 return nil 1135} 1136 1137func (x *LocalReplyConfig) GetBodyFormat() *v4alpha.SubstitutionFormatString { 1138 if x != nil { 1139 return x.BodyFormat 1140 } 1141 return nil 1142} 1143 1144// The configuration to filter and change local response. 1145// [#next-free-field: 6] 1146type ResponseMapper struct { 1147 state protoimpl.MessageState 1148 sizeCache protoimpl.SizeCache 1149 unknownFields protoimpl.UnknownFields 1150 1151 // Filter to determine if this mapper should apply. 1152 Filter *v4alpha1.AccessLogFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"` 1153 // The new response status code if specified. 1154 StatusCode *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"` 1155 // The new local reply body text if specified. It will be used in the `%LOCAL_REPLY_BODY%` 1156 // command operator in the `body_format`. 1157 Body *v4alpha.DataSource `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"` 1158 // A per mapper `body_format` to override the :ref:`body_format <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.body_format>`. 1159 // It will be used when this mapper is matched. 1160 BodyFormatOverride *v4alpha.SubstitutionFormatString `protobuf:"bytes,4,opt,name=body_format_override,json=bodyFormatOverride,proto3" json:"body_format_override,omitempty"` 1161 // HTTP headers to add to a local reply. This allows the response mapper to append, to add 1162 // or to override headers of any local reply before it is sent to a downstream client. 1163 HeadersToAdd []*v4alpha.HeaderValueOption `protobuf:"bytes,5,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"` 1164} 1165 1166func (x *ResponseMapper) Reset() { 1167 *x = ResponseMapper{} 1168 if protoimpl.UnsafeEnabled { 1169 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[2] 1170 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1171 ms.StoreMessageInfo(mi) 1172 } 1173} 1174 1175func (x *ResponseMapper) String() string { 1176 return protoimpl.X.MessageStringOf(x) 1177} 1178 1179func (*ResponseMapper) ProtoMessage() {} 1180 1181func (x *ResponseMapper) ProtoReflect() protoreflect.Message { 1182 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[2] 1183 if protoimpl.UnsafeEnabled && x != nil { 1184 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1185 if ms.LoadMessageInfo() == nil { 1186 ms.StoreMessageInfo(mi) 1187 } 1188 return ms 1189 } 1190 return mi.MessageOf(x) 1191} 1192 1193// Deprecated: Use ResponseMapper.ProtoReflect.Descriptor instead. 1194func (*ResponseMapper) Descriptor() ([]byte, []int) { 1195 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{2} 1196} 1197 1198func (x *ResponseMapper) GetFilter() *v4alpha1.AccessLogFilter { 1199 if x != nil { 1200 return x.Filter 1201 } 1202 return nil 1203} 1204 1205func (x *ResponseMapper) GetStatusCode() *wrappers.UInt32Value { 1206 if x != nil { 1207 return x.StatusCode 1208 } 1209 return nil 1210} 1211 1212func (x *ResponseMapper) GetBody() *v4alpha.DataSource { 1213 if x != nil { 1214 return x.Body 1215 } 1216 return nil 1217} 1218 1219func (x *ResponseMapper) GetBodyFormatOverride() *v4alpha.SubstitutionFormatString { 1220 if x != nil { 1221 return x.BodyFormatOverride 1222 } 1223 return nil 1224} 1225 1226func (x *ResponseMapper) GetHeadersToAdd() []*v4alpha.HeaderValueOption { 1227 if x != nil { 1228 return x.HeadersToAdd 1229 } 1230 return nil 1231} 1232 1233type Rds struct { 1234 state protoimpl.MessageState 1235 sizeCache protoimpl.SizeCache 1236 unknownFields protoimpl.UnknownFields 1237 1238 // Configuration source specifier for RDS. 1239 ConfigSource *v4alpha.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"` 1240 // The name of the route configuration. This name will be passed to the RDS 1241 // API. This allows an Envoy configuration with multiple HTTP listeners (and 1242 // associated HTTP connection manager filters) to use different route 1243 // configurations. 1244 RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"` 1245} 1246 1247func (x *Rds) Reset() { 1248 *x = Rds{} 1249 if protoimpl.UnsafeEnabled { 1250 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[3] 1251 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1252 ms.StoreMessageInfo(mi) 1253 } 1254} 1255 1256func (x *Rds) String() string { 1257 return protoimpl.X.MessageStringOf(x) 1258} 1259 1260func (*Rds) ProtoMessage() {} 1261 1262func (x *Rds) ProtoReflect() protoreflect.Message { 1263 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[3] 1264 if protoimpl.UnsafeEnabled && x != nil { 1265 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1266 if ms.LoadMessageInfo() == nil { 1267 ms.StoreMessageInfo(mi) 1268 } 1269 return ms 1270 } 1271 return mi.MessageOf(x) 1272} 1273 1274// Deprecated: Use Rds.ProtoReflect.Descriptor instead. 1275func (*Rds) Descriptor() ([]byte, []int) { 1276 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{3} 1277} 1278 1279func (x *Rds) GetConfigSource() *v4alpha.ConfigSource { 1280 if x != nil { 1281 return x.ConfigSource 1282 } 1283 return nil 1284} 1285 1286func (x *Rds) GetRouteConfigName() string { 1287 if x != nil { 1288 return x.RouteConfigName 1289 } 1290 return "" 1291} 1292 1293// This message is used to work around the limitations with 'oneof' and repeated fields. 1294type ScopedRouteConfigurationsList struct { 1295 state protoimpl.MessageState 1296 sizeCache protoimpl.SizeCache 1297 unknownFields protoimpl.UnknownFields 1298 1299 ScopedRouteConfigurations []*v4alpha2.ScopedRouteConfiguration `protobuf:"bytes,1,rep,name=scoped_route_configurations,json=scopedRouteConfigurations,proto3" json:"scoped_route_configurations,omitempty"` 1300} 1301 1302func (x *ScopedRouteConfigurationsList) Reset() { 1303 *x = ScopedRouteConfigurationsList{} 1304 if protoimpl.UnsafeEnabled { 1305 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[4] 1306 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1307 ms.StoreMessageInfo(mi) 1308 } 1309} 1310 1311func (x *ScopedRouteConfigurationsList) String() string { 1312 return protoimpl.X.MessageStringOf(x) 1313} 1314 1315func (*ScopedRouteConfigurationsList) ProtoMessage() {} 1316 1317func (x *ScopedRouteConfigurationsList) ProtoReflect() protoreflect.Message { 1318 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[4] 1319 if protoimpl.UnsafeEnabled && x != nil { 1320 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1321 if ms.LoadMessageInfo() == nil { 1322 ms.StoreMessageInfo(mi) 1323 } 1324 return ms 1325 } 1326 return mi.MessageOf(x) 1327} 1328 1329// Deprecated: Use ScopedRouteConfigurationsList.ProtoReflect.Descriptor instead. 1330func (*ScopedRouteConfigurationsList) Descriptor() ([]byte, []int) { 1331 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{4} 1332} 1333 1334func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v4alpha2.ScopedRouteConfiguration { 1335 if x != nil { 1336 return x.ScopedRouteConfigurations 1337 } 1338 return nil 1339} 1340 1341// [#next-free-field: 6] 1342type ScopedRoutes struct { 1343 state protoimpl.MessageState 1344 sizeCache protoimpl.SizeCache 1345 unknownFields protoimpl.UnknownFields 1346 1347 // The name assigned to the scoped routing configuration. 1348 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1349 // The algorithm to use for constructing a scope key for each request. 1350 ScopeKeyBuilder *ScopedRoutes_ScopeKeyBuilder `protobuf:"bytes,2,opt,name=scope_key_builder,json=scopeKeyBuilder,proto3" json:"scope_key_builder,omitempty"` 1351 // Configuration source specifier for RDS. 1352 // This config source is used to subscribe to RouteConfiguration resources specified in 1353 // ScopedRouteConfiguration messages. 1354 RdsConfigSource *v4alpha.ConfigSource `protobuf:"bytes,3,opt,name=rds_config_source,json=rdsConfigSource,proto3" json:"rds_config_source,omitempty"` 1355 // Types that are assignable to ConfigSpecifier: 1356 // *ScopedRoutes_ScopedRouteConfigurationsList 1357 // *ScopedRoutes_ScopedRds 1358 ConfigSpecifier isScopedRoutes_ConfigSpecifier `protobuf_oneof:"config_specifier"` 1359} 1360 1361func (x *ScopedRoutes) Reset() { 1362 *x = ScopedRoutes{} 1363 if protoimpl.UnsafeEnabled { 1364 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[5] 1365 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1366 ms.StoreMessageInfo(mi) 1367 } 1368} 1369 1370func (x *ScopedRoutes) String() string { 1371 return protoimpl.X.MessageStringOf(x) 1372} 1373 1374func (*ScopedRoutes) ProtoMessage() {} 1375 1376func (x *ScopedRoutes) ProtoReflect() protoreflect.Message { 1377 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[5] 1378 if protoimpl.UnsafeEnabled && x != nil { 1379 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1380 if ms.LoadMessageInfo() == nil { 1381 ms.StoreMessageInfo(mi) 1382 } 1383 return ms 1384 } 1385 return mi.MessageOf(x) 1386} 1387 1388// Deprecated: Use ScopedRoutes.ProtoReflect.Descriptor instead. 1389func (*ScopedRoutes) Descriptor() ([]byte, []int) { 1390 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{5} 1391} 1392 1393func (x *ScopedRoutes) GetName() string { 1394 if x != nil { 1395 return x.Name 1396 } 1397 return "" 1398} 1399 1400func (x *ScopedRoutes) GetScopeKeyBuilder() *ScopedRoutes_ScopeKeyBuilder { 1401 if x != nil { 1402 return x.ScopeKeyBuilder 1403 } 1404 return nil 1405} 1406 1407func (x *ScopedRoutes) GetRdsConfigSource() *v4alpha.ConfigSource { 1408 if x != nil { 1409 return x.RdsConfigSource 1410 } 1411 return nil 1412} 1413 1414func (m *ScopedRoutes) GetConfigSpecifier() isScopedRoutes_ConfigSpecifier { 1415 if m != nil { 1416 return m.ConfigSpecifier 1417 } 1418 return nil 1419} 1420 1421func (x *ScopedRoutes) GetScopedRouteConfigurationsList() *ScopedRouteConfigurationsList { 1422 if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRouteConfigurationsList); ok { 1423 return x.ScopedRouteConfigurationsList 1424 } 1425 return nil 1426} 1427 1428func (x *ScopedRoutes) GetScopedRds() *ScopedRds { 1429 if x, ok := x.GetConfigSpecifier().(*ScopedRoutes_ScopedRds); ok { 1430 return x.ScopedRds 1431 } 1432 return nil 1433} 1434 1435type isScopedRoutes_ConfigSpecifier interface { 1436 isScopedRoutes_ConfigSpecifier() 1437} 1438 1439type ScopedRoutes_ScopedRouteConfigurationsList struct { 1440 // The set of routing scopes corresponding to the HCM. A scope is assigned to a request by 1441 // matching a key constructed from the request's attributes according to the algorithm specified 1442 // by the 1443 // :ref:`ScopeKeyBuilder<envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder>` 1444 // in this message. 1445 ScopedRouteConfigurationsList *ScopedRouteConfigurationsList `protobuf:"bytes,4,opt,name=scoped_route_configurations_list,json=scopedRouteConfigurationsList,proto3,oneof"` 1446} 1447 1448type ScopedRoutes_ScopedRds struct { 1449 // The set of routing scopes associated with the HCM will be dynamically loaded via the SRDS 1450 // API. A scope is assigned to a request by matching a key constructed from the request's 1451 // attributes according to the algorithm specified by the 1452 // :ref:`ScopeKeyBuilder<envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder>` 1453 // in this message. 1454 ScopedRds *ScopedRds `protobuf:"bytes,5,opt,name=scoped_rds,json=scopedRds,proto3,oneof"` 1455} 1456 1457func (*ScopedRoutes_ScopedRouteConfigurationsList) isScopedRoutes_ConfigSpecifier() {} 1458 1459func (*ScopedRoutes_ScopedRds) isScopedRoutes_ConfigSpecifier() {} 1460 1461type ScopedRds struct { 1462 state protoimpl.MessageState 1463 sizeCache protoimpl.SizeCache 1464 unknownFields protoimpl.UnknownFields 1465 1466 // Configuration source specifier for scoped RDS. 1467 ScopedRdsConfigSource *v4alpha.ConfigSource `protobuf:"bytes,1,opt,name=scoped_rds_config_source,json=scopedRdsConfigSource,proto3" json:"scoped_rds_config_source,omitempty"` 1468 // xdstp:// resource locator for scoped RDS collection. 1469 // [#not-implemented-hide:] 1470 SrdsResourcesLocator string `protobuf:"bytes,2,opt,name=srds_resources_locator,json=srdsResourcesLocator,proto3" json:"srds_resources_locator,omitempty"` 1471} 1472 1473func (x *ScopedRds) Reset() { 1474 *x = ScopedRds{} 1475 if protoimpl.UnsafeEnabled { 1476 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[6] 1477 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1478 ms.StoreMessageInfo(mi) 1479 } 1480} 1481 1482func (x *ScopedRds) String() string { 1483 return protoimpl.X.MessageStringOf(x) 1484} 1485 1486func (*ScopedRds) ProtoMessage() {} 1487 1488func (x *ScopedRds) ProtoReflect() protoreflect.Message { 1489 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[6] 1490 if protoimpl.UnsafeEnabled && x != nil { 1491 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1492 if ms.LoadMessageInfo() == nil { 1493 ms.StoreMessageInfo(mi) 1494 } 1495 return ms 1496 } 1497 return mi.MessageOf(x) 1498} 1499 1500// Deprecated: Use ScopedRds.ProtoReflect.Descriptor instead. 1501func (*ScopedRds) Descriptor() ([]byte, []int) { 1502 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{6} 1503} 1504 1505func (x *ScopedRds) GetScopedRdsConfigSource() *v4alpha.ConfigSource { 1506 if x != nil { 1507 return x.ScopedRdsConfigSource 1508 } 1509 return nil 1510} 1511 1512func (x *ScopedRds) GetSrdsResourcesLocator() string { 1513 if x != nil { 1514 return x.SrdsResourcesLocator 1515 } 1516 return "" 1517} 1518 1519// [#next-free-field: 7] 1520type HttpFilter struct { 1521 state protoimpl.MessageState 1522 sizeCache protoimpl.SizeCache 1523 unknownFields protoimpl.UnknownFields 1524 1525 // The name of the filter configuration. The name is used as a fallback to 1526 // select an extension if the type of the configuration proto is not 1527 // sufficient. It also serves as a resource name in ExtensionConfigDS. 1528 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1529 // Types that are assignable to ConfigType: 1530 // *HttpFilter_TypedConfig 1531 // *HttpFilter_ConfigDiscovery 1532 ConfigType isHttpFilter_ConfigType `protobuf_oneof:"config_type"` 1533 // If true, clients that do not support this filter may ignore the 1534 // filter but otherwise accept the config. 1535 // Otherwise, clients that do not support this filter must reject the config. 1536 // [#not-implemented-hide:] 1537 IsOptional bool `protobuf:"varint,6,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"` 1538} 1539 1540func (x *HttpFilter) Reset() { 1541 *x = HttpFilter{} 1542 if protoimpl.UnsafeEnabled { 1543 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[7] 1544 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1545 ms.StoreMessageInfo(mi) 1546 } 1547} 1548 1549func (x *HttpFilter) String() string { 1550 return protoimpl.X.MessageStringOf(x) 1551} 1552 1553func (*HttpFilter) ProtoMessage() {} 1554 1555func (x *HttpFilter) ProtoReflect() protoreflect.Message { 1556 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[7] 1557 if protoimpl.UnsafeEnabled && x != nil { 1558 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1559 if ms.LoadMessageInfo() == nil { 1560 ms.StoreMessageInfo(mi) 1561 } 1562 return ms 1563 } 1564 return mi.MessageOf(x) 1565} 1566 1567// Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead. 1568func (*HttpFilter) Descriptor() ([]byte, []int) { 1569 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{7} 1570} 1571 1572func (x *HttpFilter) GetName() string { 1573 if x != nil { 1574 return x.Name 1575 } 1576 return "" 1577} 1578 1579func (m *HttpFilter) GetConfigType() isHttpFilter_ConfigType { 1580 if m != nil { 1581 return m.ConfigType 1582 } 1583 return nil 1584} 1585 1586func (x *HttpFilter) GetTypedConfig() *any.Any { 1587 if x, ok := x.GetConfigType().(*HttpFilter_TypedConfig); ok { 1588 return x.TypedConfig 1589 } 1590 return nil 1591} 1592 1593func (x *HttpFilter) GetConfigDiscovery() *v4alpha.ExtensionConfigSource { 1594 if x, ok := x.GetConfigType().(*HttpFilter_ConfigDiscovery); ok { 1595 return x.ConfigDiscovery 1596 } 1597 return nil 1598} 1599 1600func (x *HttpFilter) GetIsOptional() bool { 1601 if x != nil { 1602 return x.IsOptional 1603 } 1604 return false 1605} 1606 1607type isHttpFilter_ConfigType interface { 1608 isHttpFilter_ConfigType() 1609} 1610 1611type HttpFilter_TypedConfig struct { 1612 // Filter specific configuration which depends on the filter being instantiated. See the supported 1613 // filters for further documentation. 1614 // 1615 // To support configuring a :ref:`match tree <arch_overview_matching_api>`, use an 1616 // :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>` 1617 // with the desired HTTP filter. 1618 // [#extension-category: envoy.filters.http] 1619 TypedConfig *any.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"` 1620} 1621 1622type HttpFilter_ConfigDiscovery struct { 1623 // Configuration source specifier for an extension configuration discovery service. 1624 // In case of a failure and without the default configuration, the HTTP listener responds with code 500. 1625 // Extension configs delivered through this mechanism are not expected to require warming (see https://github.com/envoyproxy/envoy/issues/12061). 1626 // 1627 // To support configuring a :ref:`match tree <arch_overview_matching_api>`, use an 1628 // :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>` 1629 // with the desired HTTP filter. This works for both the default filter configuration as well 1630 // as for filters provided via the API. 1631 ConfigDiscovery *v4alpha.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"` 1632} 1633 1634func (*HttpFilter_TypedConfig) isHttpFilter_ConfigType() {} 1635 1636func (*HttpFilter_ConfigDiscovery) isHttpFilter_ConfigType() {} 1637 1638type RequestIDExtension struct { 1639 state protoimpl.MessageState 1640 sizeCache protoimpl.SizeCache 1641 unknownFields protoimpl.UnknownFields 1642 1643 // Request ID extension specific configuration. 1644 TypedConfig *any.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"` 1645} 1646 1647func (x *RequestIDExtension) Reset() { 1648 *x = RequestIDExtension{} 1649 if protoimpl.UnsafeEnabled { 1650 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[8] 1651 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1652 ms.StoreMessageInfo(mi) 1653 } 1654} 1655 1656func (x *RequestIDExtension) String() string { 1657 return protoimpl.X.MessageStringOf(x) 1658} 1659 1660func (*RequestIDExtension) ProtoMessage() {} 1661 1662func (x *RequestIDExtension) ProtoReflect() protoreflect.Message { 1663 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[8] 1664 if protoimpl.UnsafeEnabled && x != nil { 1665 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1666 if ms.LoadMessageInfo() == nil { 1667 ms.StoreMessageInfo(mi) 1668 } 1669 return ms 1670 } 1671 return mi.MessageOf(x) 1672} 1673 1674// Deprecated: Use RequestIDExtension.ProtoReflect.Descriptor instead. 1675func (*RequestIDExtension) Descriptor() ([]byte, []int) { 1676 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{8} 1677} 1678 1679func (x *RequestIDExtension) GetTypedConfig() *any.Any { 1680 if x != nil { 1681 return x.TypedConfig 1682 } 1683 return nil 1684} 1685 1686// [#next-free-field: 10] 1687type HttpConnectionManager_Tracing struct { 1688 state protoimpl.MessageState 1689 sizeCache protoimpl.SizeCache 1690 unknownFields protoimpl.UnknownFields 1691 1692 // Target percentage of requests managed by this HTTP connection manager that will be force 1693 // traced if the :ref:`x-client-trace-id <config_http_conn_man_headers_x-client-trace-id>` 1694 // header is set. This field is a direct analog for the runtime variable 1695 // 'tracing.client_sampling' in the :ref:`HTTP Connection Manager 1696 // <config_http_conn_man_runtime>`. 1697 // Default: 100% 1698 ClientSampling *v3.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"` 1699 // Target percentage of requests managed by this HTTP connection manager that will be randomly 1700 // selected for trace generation, if not requested by the client or not forced. This field is 1701 // a direct analog for the runtime variable 'tracing.random_sampling' in the 1702 // :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`. 1703 // Default: 100% 1704 RandomSampling *v3.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"` 1705 // Target percentage of requests managed by this HTTP connection manager that will be traced 1706 // after all other sampling checks have been applied (client-directed, force tracing, random 1707 // sampling). This field functions as an upper limit on the total configured sampling rate. For 1708 // instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1% 1709 // of client requests with the appropriate headers to be force traced. This field is a direct 1710 // analog for the runtime variable 'tracing.global_enabled' in the 1711 // :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`. 1712 // Default: 100% 1713 OverallSampling *v3.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"` 1714 // Whether to annotate spans with additional data. If true, spans will include logs for stream 1715 // events. 1716 Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"` 1717 // Maximum length of the request path to extract and include in the HttpUrl tag. Used to 1718 // truncate lengthy request paths to meet the needs of a tracing backend. 1719 // Default: 256 1720 MaxPathTagLength *wrappers.UInt32Value `protobuf:"bytes,7,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"` 1721 // A list of custom tags with unique tag name to create tags for the active span. 1722 CustomTags []*v31.CustomTag `protobuf:"bytes,8,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"` 1723 // Configuration for an external tracing provider. 1724 // If not specified, no tracing will be performed. 1725 // 1726 // .. attention:: 1727 // Please be aware that *envoy.tracers.opencensus* provider can only be configured once 1728 // in Envoy lifetime. 1729 // Any attempts to reconfigure it or to use different configurations for different HCM filters 1730 // will be rejected. 1731 // Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes 1732 // on OpenCensus side. 1733 Provider *v4alpha3.Tracing_Http `protobuf:"bytes,9,opt,name=provider,proto3" json:"provider,omitempty"` 1734} 1735 1736func (x *HttpConnectionManager_Tracing) Reset() { 1737 *x = HttpConnectionManager_Tracing{} 1738 if protoimpl.UnsafeEnabled { 1739 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[9] 1740 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1741 ms.StoreMessageInfo(mi) 1742 } 1743} 1744 1745func (x *HttpConnectionManager_Tracing) String() string { 1746 return protoimpl.X.MessageStringOf(x) 1747} 1748 1749func (*HttpConnectionManager_Tracing) ProtoMessage() {} 1750 1751func (x *HttpConnectionManager_Tracing) ProtoReflect() protoreflect.Message { 1752 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[9] 1753 if protoimpl.UnsafeEnabled && x != nil { 1754 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1755 if ms.LoadMessageInfo() == nil { 1756 ms.StoreMessageInfo(mi) 1757 } 1758 return ms 1759 } 1760 return mi.MessageOf(x) 1761} 1762 1763// Deprecated: Use HttpConnectionManager_Tracing.ProtoReflect.Descriptor instead. 1764func (*HttpConnectionManager_Tracing) Descriptor() ([]byte, []int) { 1765 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 0} 1766} 1767 1768func (x *HttpConnectionManager_Tracing) GetClientSampling() *v3.Percent { 1769 if x != nil { 1770 return x.ClientSampling 1771 } 1772 return nil 1773} 1774 1775func (x *HttpConnectionManager_Tracing) GetRandomSampling() *v3.Percent { 1776 if x != nil { 1777 return x.RandomSampling 1778 } 1779 return nil 1780} 1781 1782func (x *HttpConnectionManager_Tracing) GetOverallSampling() *v3.Percent { 1783 if x != nil { 1784 return x.OverallSampling 1785 } 1786 return nil 1787} 1788 1789func (x *HttpConnectionManager_Tracing) GetVerbose() bool { 1790 if x != nil { 1791 return x.Verbose 1792 } 1793 return false 1794} 1795 1796func (x *HttpConnectionManager_Tracing) GetMaxPathTagLength() *wrappers.UInt32Value { 1797 if x != nil { 1798 return x.MaxPathTagLength 1799 } 1800 return nil 1801} 1802 1803func (x *HttpConnectionManager_Tracing) GetCustomTags() []*v31.CustomTag { 1804 if x != nil { 1805 return x.CustomTags 1806 } 1807 return nil 1808} 1809 1810func (x *HttpConnectionManager_Tracing) GetProvider() *v4alpha3.Tracing_Http { 1811 if x != nil { 1812 return x.Provider 1813 } 1814 return nil 1815} 1816 1817type HttpConnectionManager_InternalAddressConfig struct { 1818 state protoimpl.MessageState 1819 sizeCache protoimpl.SizeCache 1820 unknownFields protoimpl.UnknownFields 1821 1822 // Whether unix socket addresses should be considered internal. 1823 UnixSockets bool `protobuf:"varint,1,opt,name=unix_sockets,json=unixSockets,proto3" json:"unix_sockets,omitempty"` 1824} 1825 1826func (x *HttpConnectionManager_InternalAddressConfig) Reset() { 1827 *x = HttpConnectionManager_InternalAddressConfig{} 1828 if protoimpl.UnsafeEnabled { 1829 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[10] 1830 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1831 ms.StoreMessageInfo(mi) 1832 } 1833} 1834 1835func (x *HttpConnectionManager_InternalAddressConfig) String() string { 1836 return protoimpl.X.MessageStringOf(x) 1837} 1838 1839func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage() {} 1840 1841func (x *HttpConnectionManager_InternalAddressConfig) ProtoReflect() protoreflect.Message { 1842 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[10] 1843 if protoimpl.UnsafeEnabled && x != nil { 1844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1845 if ms.LoadMessageInfo() == nil { 1846 ms.StoreMessageInfo(mi) 1847 } 1848 return ms 1849 } 1850 return mi.MessageOf(x) 1851} 1852 1853// Deprecated: Use HttpConnectionManager_InternalAddressConfig.ProtoReflect.Descriptor instead. 1854func (*HttpConnectionManager_InternalAddressConfig) Descriptor() ([]byte, []int) { 1855 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 1} 1856} 1857 1858func (x *HttpConnectionManager_InternalAddressConfig) GetUnixSockets() bool { 1859 if x != nil { 1860 return x.UnixSockets 1861 } 1862 return false 1863} 1864 1865// [#next-free-field: 7] 1866type HttpConnectionManager_SetCurrentClientCertDetails struct { 1867 state protoimpl.MessageState 1868 sizeCache protoimpl.SizeCache 1869 unknownFields protoimpl.UnknownFields 1870 1871 // Whether to forward the subject of the client cert. Defaults to false. 1872 Subject *wrappers.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"` 1873 // Whether to forward the entire client cert in URL encoded PEM format. This will appear in the 1874 // XFCC header comma separated from other values with the value Cert="PEM". 1875 // Defaults to false. 1876 Cert bool `protobuf:"varint,3,opt,name=cert,proto3" json:"cert,omitempty"` 1877 // Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM 1878 // format. This will appear in the XFCC header comma separated from other values with the value 1879 // Chain="PEM". 1880 // Defaults to false. 1881 Chain bool `protobuf:"varint,6,opt,name=chain,proto3" json:"chain,omitempty"` 1882 // Whether to forward the DNS type Subject Alternative Names of the client cert. 1883 // Defaults to false. 1884 Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"` 1885 // Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to 1886 // false. 1887 Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"` 1888} 1889 1890func (x *HttpConnectionManager_SetCurrentClientCertDetails) Reset() { 1891 *x = HttpConnectionManager_SetCurrentClientCertDetails{} 1892 if protoimpl.UnsafeEnabled { 1893 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[11] 1894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1895 ms.StoreMessageInfo(mi) 1896 } 1897} 1898 1899func (x *HttpConnectionManager_SetCurrentClientCertDetails) String() string { 1900 return protoimpl.X.MessageStringOf(x) 1901} 1902 1903func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage() {} 1904 1905func (x *HttpConnectionManager_SetCurrentClientCertDetails) ProtoReflect() protoreflect.Message { 1906 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[11] 1907 if protoimpl.UnsafeEnabled && x != nil { 1908 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1909 if ms.LoadMessageInfo() == nil { 1910 ms.StoreMessageInfo(mi) 1911 } 1912 return ms 1913 } 1914 return mi.MessageOf(x) 1915} 1916 1917// Deprecated: Use HttpConnectionManager_SetCurrentClientCertDetails.ProtoReflect.Descriptor instead. 1918func (*HttpConnectionManager_SetCurrentClientCertDetails) Descriptor() ([]byte, []int) { 1919 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 2} 1920} 1921 1922func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetSubject() *wrappers.BoolValue { 1923 if x != nil { 1924 return x.Subject 1925 } 1926 return nil 1927} 1928 1929func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetCert() bool { 1930 if x != nil { 1931 return x.Cert 1932 } 1933 return false 1934} 1935 1936func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetChain() bool { 1937 if x != nil { 1938 return x.Chain 1939 } 1940 return false 1941} 1942 1943func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetDns() bool { 1944 if x != nil { 1945 return x.Dns 1946 } 1947 return false 1948} 1949 1950func (x *HttpConnectionManager_SetCurrentClientCertDetails) GetUri() bool { 1951 if x != nil { 1952 return x.Uri 1953 } 1954 return false 1955} 1956 1957// The configuration for HTTP upgrades. 1958// For each upgrade type desired, an UpgradeConfig must be added. 1959// 1960// .. warning:: 1961// 1962// The current implementation of upgrade headers does not handle 1963// multi-valued upgrade headers. Support for multi-valued headers may be 1964// added in the future if needed. 1965// 1966// .. warning:: 1967// The current implementation of upgrade headers does not work with HTTP/2 1968// upstreams. 1969type HttpConnectionManager_UpgradeConfig struct { 1970 state protoimpl.MessageState 1971 sizeCache protoimpl.SizeCache 1972 unknownFields protoimpl.UnknownFields 1973 1974 // The case-insensitive name of this upgrade, e.g. "websocket". 1975 // For each upgrade type present in upgrade_configs, requests with 1976 // Upgrade: [upgrade_type] 1977 // will be proxied upstream. 1978 UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"` 1979 // If present, this represents the filter chain which will be created for 1980 // this type of upgrade. If no filters are present, the filter chain for 1981 // HTTP connections will be used for this upgrade type. 1982 Filters []*HttpFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` 1983 // Determines if upgrades are enabled or disabled by default. Defaults to true. 1984 // This can be overridden on a per-route basis with :ref:`cluster 1985 // <envoy_v3_api_field_config.route.v3.RouteAction.upgrade_configs>` as documented in the 1986 // :ref:`upgrade documentation <arch_overview_upgrades>`. 1987 Enabled *wrappers.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"` 1988} 1989 1990func (x *HttpConnectionManager_UpgradeConfig) Reset() { 1991 *x = HttpConnectionManager_UpgradeConfig{} 1992 if protoimpl.UnsafeEnabled { 1993 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[12] 1994 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1995 ms.StoreMessageInfo(mi) 1996 } 1997} 1998 1999func (x *HttpConnectionManager_UpgradeConfig) String() string { 2000 return protoimpl.X.MessageStringOf(x) 2001} 2002 2003func (*HttpConnectionManager_UpgradeConfig) ProtoMessage() {} 2004 2005func (x *HttpConnectionManager_UpgradeConfig) ProtoReflect() protoreflect.Message { 2006 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[12] 2007 if protoimpl.UnsafeEnabled && x != nil { 2008 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2009 if ms.LoadMessageInfo() == nil { 2010 ms.StoreMessageInfo(mi) 2011 } 2012 return ms 2013 } 2014 return mi.MessageOf(x) 2015} 2016 2017// Deprecated: Use HttpConnectionManager_UpgradeConfig.ProtoReflect.Descriptor instead. 2018func (*HttpConnectionManager_UpgradeConfig) Descriptor() ([]byte, []int) { 2019 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 3} 2020} 2021 2022func (x *HttpConnectionManager_UpgradeConfig) GetUpgradeType() string { 2023 if x != nil { 2024 return x.UpgradeType 2025 } 2026 return "" 2027} 2028 2029func (x *HttpConnectionManager_UpgradeConfig) GetFilters() []*HttpFilter { 2030 if x != nil { 2031 return x.Filters 2032 } 2033 return nil 2034} 2035 2036func (x *HttpConnectionManager_UpgradeConfig) GetEnabled() *wrappers.BoolValue { 2037 if x != nil { 2038 return x.Enabled 2039 } 2040 return nil 2041} 2042 2043// [#not-implemented-hide:] Transformations that apply to path headers. Transformations are applied 2044// before any processing of requests by HTTP filters, routing, and matching. Only the normalized 2045// path will be visible internally if a transformation is enabled. Any path rewrites that the 2046// router performs (e.g. :ref:`regex_rewrite 2047// <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>` or :ref:`prefix_rewrite 2048// <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`) will apply to the *:path* header 2049// destined for the upstream. 2050// 2051// Note: access logging and tracing will show the original *:path* header. 2052type HttpConnectionManager_PathNormalizationOptions struct { 2053 state protoimpl.MessageState 2054 sizeCache protoimpl.SizeCache 2055 unknownFields protoimpl.UnknownFields 2056 2057 // [#not-implemented-hide:] Normalization applies internally before any processing of requests by 2058 // HTTP filters, routing, and matching *and* will affect the forwarded *:path* header. Defaults 2059 // to :ref:`NormalizePathRFC3986 2060 // <envoy_v3_api_msg_type.http.v3.PathTransformation.Operation.NormalizePathRFC3986>`. When not 2061 // specified, this value may be overridden by the runtime variable 2062 // :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`. 2063 // Envoy will respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986 2064 // normalization due to disallowed characters.) 2065 ForwardingTransformation *v32.PathTransformation `protobuf:"bytes,1,opt,name=forwarding_transformation,json=forwardingTransformation,proto3" json:"forwarding_transformation,omitempty"` 2066 // [#not-implemented-hide:] Normalization only applies internally before any processing of 2067 // requests by HTTP filters, routing, and matching. These will be applied after full 2068 // transformation is applied. The *:path* header before this transformation will be restored in 2069 // the router filter and sent upstream unless it was mutated by a filter. Defaults to no 2070 // transformations. 2071 // Multiple actions can be applied in the same Transformation, forming a sequential 2072 // pipeline. The transformations will be performed in the order that they appear. Envoy will 2073 // respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986 2074 // normalization due to disallowed characters.) 2075 HttpFilterTransformation *v32.PathTransformation `protobuf:"bytes,2,opt,name=http_filter_transformation,json=httpFilterTransformation,proto3" json:"http_filter_transformation,omitempty"` 2076} 2077 2078func (x *HttpConnectionManager_PathNormalizationOptions) Reset() { 2079 *x = HttpConnectionManager_PathNormalizationOptions{} 2080 if protoimpl.UnsafeEnabled { 2081 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[13] 2082 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2083 ms.StoreMessageInfo(mi) 2084 } 2085} 2086 2087func (x *HttpConnectionManager_PathNormalizationOptions) String() string { 2088 return protoimpl.X.MessageStringOf(x) 2089} 2090 2091func (*HttpConnectionManager_PathNormalizationOptions) ProtoMessage() {} 2092 2093func (x *HttpConnectionManager_PathNormalizationOptions) ProtoReflect() protoreflect.Message { 2094 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[13] 2095 if protoimpl.UnsafeEnabled && x != nil { 2096 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2097 if ms.LoadMessageInfo() == nil { 2098 ms.StoreMessageInfo(mi) 2099 } 2100 return ms 2101 } 2102 return mi.MessageOf(x) 2103} 2104 2105// Deprecated: Use HttpConnectionManager_PathNormalizationOptions.ProtoReflect.Descriptor instead. 2106func (*HttpConnectionManager_PathNormalizationOptions) Descriptor() ([]byte, []int) { 2107 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{0, 4} 2108} 2109 2110func (x *HttpConnectionManager_PathNormalizationOptions) GetForwardingTransformation() *v32.PathTransformation { 2111 if x != nil { 2112 return x.ForwardingTransformation 2113 } 2114 return nil 2115} 2116 2117func (x *HttpConnectionManager_PathNormalizationOptions) GetHttpFilterTransformation() *v32.PathTransformation { 2118 if x != nil { 2119 return x.HttpFilterTransformation 2120 } 2121 return nil 2122} 2123 2124// Specifies the mechanism for constructing "scope keys" based on HTTP request attributes. These 2125// keys are matched against a set of :ref:`Key<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration.Key>` 2126// objects assembled from :ref:`ScopedRouteConfiguration<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration>` 2127// messages distributed via SRDS (the Scoped Route Discovery Service) or assigned statically via 2128// :ref:`scoped_route_configurations_list<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list>`. 2129// 2130// Upon receiving a request's headers, the Router will build a key using the algorithm specified 2131// by this message. This key will be used to look up the routing table (i.e., the 2132// :ref:`RouteConfiguration<envoy_v3_api_msg_config.route.v3.RouteConfiguration>`) to use for the request. 2133type ScopedRoutes_ScopeKeyBuilder struct { 2134 state protoimpl.MessageState 2135 sizeCache protoimpl.SizeCache 2136 unknownFields protoimpl.UnknownFields 2137 2138 // The final(built) scope key consists of the ordered union of these fragments, which are compared in order with the 2139 // fragments of a :ref:`ScopedRouteConfiguration<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration>`. 2140 // A missing fragment during comparison will make the key invalid, i.e., the computed key doesn't match any key. 2141 Fragments []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"` 2142} 2143 2144func (x *ScopedRoutes_ScopeKeyBuilder) Reset() { 2145 *x = ScopedRoutes_ScopeKeyBuilder{} 2146 if protoimpl.UnsafeEnabled { 2147 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[14] 2148 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2149 ms.StoreMessageInfo(mi) 2150 } 2151} 2152 2153func (x *ScopedRoutes_ScopeKeyBuilder) String() string { 2154 return protoimpl.X.MessageStringOf(x) 2155} 2156 2157func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage() {} 2158 2159func (x *ScopedRoutes_ScopeKeyBuilder) ProtoReflect() protoreflect.Message { 2160 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[14] 2161 if protoimpl.UnsafeEnabled && x != nil { 2162 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2163 if ms.LoadMessageInfo() == nil { 2164 ms.StoreMessageInfo(mi) 2165 } 2166 return ms 2167 } 2168 return mi.MessageOf(x) 2169} 2170 2171// Deprecated: Use ScopedRoutes_ScopeKeyBuilder.ProtoReflect.Descriptor instead. 2172func (*ScopedRoutes_ScopeKeyBuilder) Descriptor() ([]byte, []int) { 2173 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{5, 0} 2174} 2175 2176func (x *ScopedRoutes_ScopeKeyBuilder) GetFragments() []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder { 2177 if x != nil { 2178 return x.Fragments 2179 } 2180 return nil 2181} 2182 2183// Specifies the mechanism for constructing key fragments which are composed into scope keys. 2184type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct { 2185 state protoimpl.MessageState 2186 sizeCache protoimpl.SizeCache 2187 unknownFields protoimpl.UnknownFields 2188 2189 // Types that are assignable to Type: 2190 // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ 2191 Type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type `protobuf_oneof:"type"` 2192} 2193 2194func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset() { 2195 *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder{} 2196 if protoimpl.UnsafeEnabled { 2197 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[15] 2198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2199 ms.StoreMessageInfo(mi) 2200 } 2201} 2202 2203func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String() string { 2204 return protoimpl.X.MessageStringOf(x) 2205} 2206 2207func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage() {} 2208 2209func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect() protoreflect.Message { 2210 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[15] 2211 if protoimpl.UnsafeEnabled && x != nil { 2212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2213 if ms.LoadMessageInfo() == nil { 2214 ms.StoreMessageInfo(mi) 2215 } 2216 return ms 2217 } 2218 return mi.MessageOf(x) 2219} 2220 2221// Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ProtoReflect.Descriptor instead. 2222func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor() ([]byte, []int) { 2223 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0} 2224} 2225 2226func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type { 2227 if m != nil { 2228 return m.Type 2229 } 2230 return nil 2231} 2232 2233func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetHeaderValueExtractor() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor { 2234 if x, ok := x.GetType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_); ok { 2235 return x.HeaderValueExtractor 2236 } 2237 return nil 2238} 2239 2240type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type interface { 2241 isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() 2242} 2243 2244type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ struct { 2245 // Specifies how a header field's value should be extracted. 2246 HeaderValueExtractor *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor `protobuf:"bytes,1,opt,name=header_value_extractor,json=headerValueExtractor,proto3,oneof"` 2247} 2248 2249func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type() { 2250} 2251 2252// Specifies how the value of a header should be extracted. 2253// The following example maps the structure of a header to the fields in this message. 2254// 2255// .. code:: 2256// 2257// <0> <1> <-- index 2258// X-Header: a=b;c=d 2259// | || | 2260// | || \----> <element_separator> 2261// | || 2262// | |\----> <element.separator> 2263// | | 2264// | \----> <element.key> 2265// | 2266// \----> <name> 2267// 2268// Each 'a=b' key-value pair constitutes an 'element' of the header field. 2269type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct { 2270 state protoimpl.MessageState 2271 sizeCache protoimpl.SizeCache 2272 unknownFields protoimpl.UnknownFields 2273 2274 // The name of the header field to extract the value from. 2275 // 2276 // .. note:: 2277 // 2278 // If the header appears multiple times only the first value is used. 2279 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 2280 // The element separator (e.g., ';' separates 'a;b;c;d'). 2281 // Default: empty string. This causes the entirety of the header field to be extracted. 2282 // If this field is set to an empty string and 'index' is used in the oneof below, 'index' 2283 // must be set to 0. 2284 ElementSeparator string `protobuf:"bytes,2,opt,name=element_separator,json=elementSeparator,proto3" json:"element_separator,omitempty"` 2285 // Types that are assignable to ExtractType: 2286 // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index 2287 // *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element 2288 ExtractType isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType `protobuf_oneof:"extract_type"` 2289} 2290 2291func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset() { 2292 *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor{} 2293 if protoimpl.UnsafeEnabled { 2294 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[16] 2295 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2296 ms.StoreMessageInfo(mi) 2297 } 2298} 2299 2300func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) String() string { 2301 return protoimpl.X.MessageStringOf(x) 2302} 2303 2304func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage() {} 2305 2306func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoReflect() protoreflect.Message { 2307 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[16] 2308 if protoimpl.UnsafeEnabled && x != nil { 2309 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2310 if ms.LoadMessageInfo() == nil { 2311 ms.StoreMessageInfo(mi) 2312 } 2313 return ms 2314 } 2315 return mi.MessageOf(x) 2316} 2317 2318// Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ProtoReflect.Descriptor instead. 2319func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor() ([]byte, []int) { 2320 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0} 2321} 2322 2323func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName() string { 2324 if x != nil { 2325 return x.Name 2326 } 2327 return "" 2328} 2329 2330func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElementSeparator() string { 2331 if x != nil { 2332 return x.ElementSeparator 2333 } 2334 return "" 2335} 2336 2337func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType { 2338 if m != nil { 2339 return m.ExtractType 2340 } 2341 return nil 2342} 2343 2344func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetIndex() uint32 { 2345 if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index); ok { 2346 return x.Index 2347 } 2348 return 0 2349} 2350 2351func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElement() *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement { 2352 if x, ok := x.GetExtractType().(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element); ok { 2353 return x.Element 2354 } 2355 return nil 2356} 2357 2358type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType interface { 2359 isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() 2360} 2361 2362type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index struct { 2363 // Specifies the zero based index of the element to extract. 2364 // Note Envoy concatenates multiple values of the same header key into a comma separated 2365 // string, the splitting always happens after the concatenation. 2366 Index uint32 `protobuf:"varint,3,opt,name=index,proto3,oneof"` 2367} 2368 2369type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element struct { 2370 // Specifies the key value pair to extract the value from. 2371 Element *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement `protobuf:"bytes,4,opt,name=element,proto3,oneof"` 2372} 2373 2374func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { 2375} 2376 2377func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element) isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType() { 2378} 2379 2380// Specifies a header field's key value pair to match on. 2381type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement struct { 2382 state protoimpl.MessageState 2383 sizeCache protoimpl.SizeCache 2384 unknownFields protoimpl.UnknownFields 2385 2386 // The separator between key and value (e.g., '=' separates 'k=v;...'). 2387 // If an element is an empty string, the element is ignored. 2388 // If an element contains no separator, the whole element is parsed as key and the 2389 // fragment value is an empty string. 2390 // If there are multiple values for a matched key, the first value is returned. 2391 Separator string `protobuf:"bytes,1,opt,name=separator,proto3" json:"separator,omitempty"` 2392 // The key to match on. 2393 Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"` 2394} 2395 2396func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset() { 2397 *x = ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement{} 2398 if protoimpl.UnsafeEnabled { 2399 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[17] 2400 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2401 ms.StoreMessageInfo(mi) 2402 } 2403} 2404 2405func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) String() string { 2406 return protoimpl.X.MessageStringOf(x) 2407} 2408 2409func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage() {} 2410 2411func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoReflect() protoreflect.Message { 2412 mi := &file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[17] 2413 if protoimpl.UnsafeEnabled && x != nil { 2414 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 2415 if ms.LoadMessageInfo() == nil { 2416 ms.StoreMessageInfo(mi) 2417 } 2418 return ms 2419 } 2420 return mi.MessageOf(x) 2421} 2422 2423// Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ProtoReflect.Descriptor instead. 2424func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor() ([]byte, []int) { 2425 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP(), []int{5, 0, 0, 0, 0} 2426} 2427 2428func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator() string { 2429 if x != nil { 2430 return x.Separator 2431 } 2432 return "" 2433} 2434 2435func (x *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetKey() string { 2436 if x != nil { 2437 return x.Key 2438 } 2439 return "" 2440} 2441 2442var File_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto protoreflect.FileDescriptor 2443 2444var file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDesc = []byte{ 2445 0x0a, 0x5e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 2446 0x6e, 0x73, 0x2f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 2447 0x72, 0x6b, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2448 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 2449 0x68, 0x61, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2450 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2451 0x12, 0x40, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 2452 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 2453 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2454 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 2455 0x68, 0x61, 0x1a, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2456 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 2457 0x68, 0x61, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 2458 0x74, 0x6f, 0x1a, 0x24, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2459 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x62, 0x61, 2460 0x73, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 2461 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 2462 0x70, 0x68, 0x61, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 2463 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 2464 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 2465 0x68, 0x61, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 2466 0x74, 0x6f, 0x1a, 0x28, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2467 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x70, 0x72, 2468 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x65, 0x6e, 2469 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 2470 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 2471 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 2472 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 2473 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x34, 0x61, 2474 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2475 0x1a, 0x2d, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 2476 0x6f, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x73, 0x63, 0x6f, 2477 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 2478 0x2c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x74, 0x72, 2479 0x61, 0x63, 0x65, 0x2f, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2f, 0x68, 0x74, 0x74, 0x70, 2480 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 0x65, 2481 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x76, 2482 0x33, 0x2f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 2483 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x65, 0x6e, 0x76, 2484 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x2f, 2485 0x76, 0x33, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x2e, 0x70, 0x72, 2486 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 2487 0x76, 0x33, 0x2f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2488 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2489 0x66, 0x2f, 0x61, 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 2490 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 2491 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 2492 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 2493 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x75, 0x64, 0x70, 2494 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 0x65, 2495 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x75, 0x64, 2496 0x70, 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x73, 2497 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x75, 0x64, 0x70, 2498 0x61, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x65, 2499 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 2500 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 2501 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd7, 0x33, 0x0a, 0x15, 0x48, 0x74, 0x74, 0x70, 2502 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 2503 0x72, 0x12, 0x8a, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 2504 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x61, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 2505 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 2506 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 2507 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 2508 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 2509 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 2510 0x43, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 2511 0x02, 0x10, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x54, 0x79, 0x70, 0x65, 0x12, 0x28, 2512 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 2513 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x73, 0x74, 2514 0x61, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x59, 0x0a, 0x03, 0x72, 0x64, 0x73, 0x18, 2515 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 2516 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2517 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 2518 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 2519 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 0x03, 2520 0x72, 0x64, 0x73, 0x12, 0x53, 0x0a, 0x0c, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 2521 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 2522 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x2e, 0x76, 2523 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 2524 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0b, 0x72, 0x6f, 0x75, 2525 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x75, 0x0a, 0x0d, 0x73, 0x63, 0x6f, 0x70, 2526 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x0b, 0x32, 2527 0x4e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 2528 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 2529 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2530 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 2531 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x48, 2532 0x00, 0x52, 0x0c, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 2533 0x6f, 0x0a, 0x0c, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x18, 2534 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 2535 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2536 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 2537 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 2538 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 2539 0x74, 0x65, 0x72, 0x52, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2540 0x12, 0x40, 0x0a, 0x0e, 0x61, 0x64, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x67, 0x65, 2541 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2542 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 2543 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0c, 0x61, 0x64, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x67, 0x65, 2544 0x6e, 0x74, 0x12, 0x79, 0x0a, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 2545 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 2546 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 2547 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 2548 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 2549 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 2550 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 2551 0x63, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x74, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x78, 0x0a, 2552 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x70, 0x72, 0x6f, 2553 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x23, 0x20, 2554 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 2555 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 2556 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 2557 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x19, 0x63, 0x6f, 2558 0x6d, 0x6d, 0x6f, 0x6e, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 2559 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x15, 0x68, 0x74, 0x74, 0x70, 0x5f, 2560 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2561 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 2562 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 2563 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x31, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 2564 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 2565 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6e, 0x0a, 0x16, 2566 0x68, 0x74, 0x74, 0x70, 0x32, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 2567 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 2568 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 2569 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 2570 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x8a, 2571 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x32, 0x50, 0x72, 0x6f, 2572 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x65, 0x0a, 0x16, 2573 0x68, 0x74, 0x74, 0x70, 0x33, 0x5f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x5f, 0x6f, 2574 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x65, 2575 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 2576 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 2577 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x14, 0x68, 2578 0x74, 0x74, 0x70, 0x33, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x4f, 0x70, 0x74, 0x69, 2579 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6e, 0x61, 2580 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc0, 2581 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x61, 0x6d, 2582 0x65, 0x12, 0xbe, 0x01, 0x0a, 0x1c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x65, 0x61, 2583 0x64, 0x65, 0x72, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 2584 0x6f, 0x6e, 0x18, 0x22, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x72, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 2585 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 2586 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 2587 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 2588 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 2589 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 2590 0x72, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 2591 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 2592 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x1a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 2593 0x61, 0x64, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 2594 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x16, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 2595 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x6b, 0x62, 0x18, 0x1d, 0x20, 0x01, 2596 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2597 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 2598 0x42, 0x0a, 0xfa, 0x42, 0x07, 0x2a, 0x05, 0x18, 0x80, 0x40, 0x20, 0x00, 0x52, 0x13, 0x6d, 0x61, 2599 0x78, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x4b, 2600 0x62, 0x12, 0x52, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x6c, 0x65, 2601 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 2602 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2603 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 2604 0x08, 0x01, 0x52, 0x11, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x6c, 0x65, 0x54, 0x69, 2605 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4b, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2606 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 2607 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2608 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 2609 0x08, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 2610 0x75, 0x74, 0x12, 0x62, 0x0a, 0x17, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 2611 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x29, 0x20, 2612 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2613 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0f, 2614 0xfa, 0x42, 0x05, 0xaa, 0x01, 0x02, 0x32, 0x00, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 0x52, 2615 0x15, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 2616 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x3e, 0x0a, 0x0d, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x5f, 2617 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 2618 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2619 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x72, 0x61, 0x69, 0x6e, 0x54, 2620 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x4d, 0x0a, 0x15, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 2621 0x64, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 2622 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 2623 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2624 0x52, 0x13, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x54, 0x69, 2625 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x48, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 2626 0x6c, 0x6f, 0x67, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 2627 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 2628 0x6f, 0x67, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 2629 0x73, 0x4c, 0x6f, 0x67, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x12, 2630 0x51, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 2631 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 2632 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 2633 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x8a, 0x93, 0xb7, 0x2a, 0x02, 0x08, 0x01, 2634 0x52, 0x10, 0x75, 0x73, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x65, 2635 0x73, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x78, 0x66, 0x66, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x72, 2636 0x75, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x70, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0d, 2637 0x52, 0x11, 0x78, 0x66, 0x66, 0x4e, 0x75, 0x6d, 0x54, 0x72, 0x75, 0x73, 0x74, 0x65, 0x64, 0x48, 2638 0x6f, 0x70, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x17, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 2639 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 2640 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x6d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 2641 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2642 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 2643 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 2644 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 2645 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x49, 2646 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 2647 0x6e, 0x66, 0x69, 0x67, 0x52, 0x15, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 2648 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x0a, 0x0f, 0x73, 2649 0x6b, 0x69, 0x70, 0x5f, 0x78, 0x66, 0x66, 0x5f, 0x61, 0x70, 0x70, 0x65, 0x6e, 0x64, 0x18, 0x15, 2650 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x73, 0x6b, 0x69, 0x70, 0x58, 0x66, 0x66, 0x41, 0x70, 0x70, 2651 0x65, 0x6e, 0x64, 0x12, 0x1d, 0x0a, 0x03, 0x76, 0x69, 0x61, 0x18, 0x16, 0x20, 0x01, 0x28, 0x09, 2652 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x72, 0x06, 0xc0, 0x01, 0x02, 0xc8, 0x01, 0x00, 0x52, 0x03, 0x76, 2653 0x69, 0x61, 0x12, 0x4a, 0x0a, 0x13, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x5f, 0x72, 2654 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 2655 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2656 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x11, 0x67, 0x65, 0x6e, 2657 0x65, 0x72, 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x3f, 2658 0x0a, 0x1c, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 2659 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x20, 2660 0x20, 0x01, 0x28, 0x08, 0x52, 0x19, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x45, 0x78, 2661 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 2662 0x47, 0x0a, 0x21, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x72, 0x65, 2663 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x70, 2664 0x6f, 0x6e, 0x73, 0x65, 0x18, 0x25, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1c, 0x61, 0x6c, 0x77, 0x61, 2665 0x79, 0x73, 0x53, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x49, 0x6e, 2666 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x1b, 0x66, 0x6f, 0x72, 2667 0x77, 0x61, 0x72, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 2668 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x70, 2669 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 2670 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 2671 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 2672 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 2673 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2674 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 2675 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 2676 0x42, 0x08, 0xfa, 0x42, 0x05, 0x82, 0x01, 0x02, 0x10, 0x01, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 2677 0x61, 0x72, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 2678 0x61, 0x69, 0x6c, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x1f, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x75, 0x72, 2679 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 2680 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x73, 2681 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 2682 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 2683 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 2684 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 2685 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2686 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 2687 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 2688 0x69, 0x6c, 0x73, 0x52, 0x1b, 0x73, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 2689 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 2690 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x5f, 0x31, 0x30, 0x30, 0x5f, 0x63, 0x6f, 2691 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x72, 2692 0x6f, 0x78, 0x79, 0x31, 0x30, 0x30, 0x43, 0x6f, 0x6e, 0x74, 0x69, 0x6e, 0x75, 0x65, 0x12, 0x65, 2693 0x0a, 0x31, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x70, 0x76, 0x34, 2694 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x5f, 2695 0x61, 0x73, 0x5f, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x69, 2696 0x70, 0x76, 0x36, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x2a, 0x72, 0x65, 0x70, 0x72, 0x65, 2697 0x73, 0x65, 0x6e, 0x74, 0x49, 0x70, 0x76, 0x34, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 2698 0x64, 0x72, 0x65, 0x73, 0x73, 0x41, 0x73, 0x49, 0x70, 0x76, 0x34, 0x4d, 0x61, 0x70, 0x70, 0x65, 2699 0x64, 0x49, 0x70, 0x76, 0x36, 0x12, 0x8e, 0x01, 0x0a, 0x0f, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 2700 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, 2701 0x65, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 2702 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 2703 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2704 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 2705 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 2706 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 2707 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0e, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 2708 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 2709 0x69, 0x7a, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2710 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2711 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x6e, 0x6f, 0x72, 0x6d, 2712 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x65, 0x72, 2713 0x67, 0x65, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x18, 0x21, 0x20, 0x01, 0x28, 0x08, 2714 0x52, 0x0c, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x12, 0xbc, 2715 0x01, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x65, 0x73, 0x63, 2716 0x61, 0x70, 0x65, 0x64, 0x5f, 0x73, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x5f, 0x61, 0x63, 0x74, 2717 0x69, 0x6f, 0x6e, 0x18, 0x2d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x74, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 2718 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 2719 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 2720 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 2721 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 2722 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 2723 0x65, 0x72, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 2724 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 2725 0x1c, 0x70, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 2726 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x86, 0x01, 2727 0x0a, 0x14, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x5f, 0x65, 0x78, 0x74, 2728 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x24, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x54, 0x2e, 0x65, 2729 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 2730 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 2731 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 2732 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 2733 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 2734 0x6f, 0x6e, 0x52, 0x12, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x45, 0x78, 0x74, 2735 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x80, 0x01, 0x0a, 0x12, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 2736 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x26, 0x20, 2737 0x01, 0x28, 0x0b, 0x32, 0x52, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 2738 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 2739 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 2740 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 2741 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 2742 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 2743 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x39, 0x0a, 0x18, 0x73, 0x74, 0x72, 2744 0x69, 0x70, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x6f, 0x73, 0x74, 2745 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x27, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x15, 0x73, 2746 0x74, 0x72, 0x69, 0x70, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x48, 0x6f, 0x73, 0x74, 2747 0x50, 0x6f, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x61, 0x6e, 2748 0x79, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x2a, 0x20, 0x01, 0x28, 2749 0x08, 0x48, 0x01, 0x52, 0x10, 0x73, 0x74, 0x72, 0x69, 0x70, 0x41, 0x6e, 0x79, 0x48, 0x6f, 0x73, 2750 0x74, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x69, 0x0a, 0x24, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 2751 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 2752 0x5f, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x28, 0x20, 2753 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 2754 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 2755 0x1f, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x4f, 0x6e, 0x49, 0x6e, 2756 0x76, 0x61, 0x6c, 0x69, 0x64, 0x48, 0x74, 0x74, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 2757 0x12, 0xae, 0x01, 0x0a, 0x1a, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 2758 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 2759 0x2b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x70, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 2760 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2761 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 2762 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 2763 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 2764 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 2765 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2766 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x18, 0x70, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 2767 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 2768 0x73, 0x1a, 0x80, 0x05, 0x0a, 0x07, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x12, 0x3f, 0x0a, 2769 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 2770 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 2771 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 0x0e, 2772 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x3f, 2773 0x0a, 0x0f, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 2774 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 2775 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x52, 2776 0x0e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x12, 2777 0x41, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 2778 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 2779 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 2780 0x74, 0x52, 0x0f, 0x6f, 0x76, 0x65, 0x72, 0x61, 0x6c, 0x6c, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 2781 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x18, 0x06, 0x20, 2782 0x01, 0x28, 0x08, 0x52, 0x07, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x13, 2783 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x6c, 0x65, 0x6e, 2784 0x67, 0x74, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2785 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 2786 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x74, 0x68, 2787 0x54, 0x61, 0x67, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x41, 0x0a, 0x0b, 0x63, 0x75, 0x73, 2788 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 2789 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x74, 0x72, 0x61, 0x63, 2790 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 2791 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x67, 0x73, 0x12, 0x44, 0x0a, 0x08, 2792 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 2793 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x74, 0x72, 2794 0x61, 0x63, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x54, 0x72, 0x61, 0x63, 2795 0x69, 0x6e, 0x67, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 2796 0x65, 0x72, 0x22, 0x28, 0x0a, 0x0d, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 2797 0x61, 0x6d, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x00, 2798 0x12, 0x0a, 0x0a, 0x06, 0x45, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x01, 0x3a, 0x60, 0x9a, 0xc5, 2799 0x88, 0x1e, 0x5b, 0x0a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 2800 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 2801 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 2802 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 2803 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 2804 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x4a, 0x04, 2805 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x72, 2806 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x18, 0x72, 0x65, 0x71, 0x75, 2807 0x65, 0x73, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x66, 0x6f, 0x72, 0x5f, 2808 0x74, 0x61, 0x67, 0x73, 0x1a, 0xaa, 0x01, 0x0a, 0x15, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 2809 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 2810 0x0a, 0x0c, 0x75, 0x6e, 0x69, 0x78, 0x5f, 0x73, 0x6f, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 2811 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x78, 0x53, 0x6f, 0x63, 0x6b, 0x65, 0x74, 2812 0x73, 0x3a, 0x6e, 0x9a, 0xc5, 0x88, 0x1e, 0x69, 0x0a, 0x67, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 2813 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 2814 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 2815 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 2816 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 2817 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x49, 0x6e, 0x74, 0x65, 2818 0x72, 0x6e, 0x61, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2819 0x67, 0x1a, 0x9d, 0x02, 0x0a, 0x1b, 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 2820 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 2821 0x73, 0x12, 0x34, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 2822 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 2823 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 2824 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x65, 0x72, 0x74, 0x18, 2825 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x63, 0x65, 0x72, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 2826 0x68, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x63, 0x68, 0x61, 0x69, 2827 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x64, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 2828 0x64, 0x6e, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x69, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 2829 0x52, 0x03, 0x75, 0x72, 0x69, 0x3a, 0x74, 0x9a, 0xc5, 0x88, 0x1e, 0x6f, 0x0a, 0x6d, 0x65, 0x6e, 2830 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 2831 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 2832 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 2833 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 2834 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 2835 0x53, 0x65, 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 2836 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 2837 0x03, 0x1a, 0xb8, 0x02, 0x0a, 0x0d, 0x55, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 2838 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x75, 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x5f, 0x74, 2839 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x75, 0x70, 0x67, 0x72, 0x61, 2840 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x66, 0x0a, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 2841 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 2842 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 2843 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 2844 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 2845 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x46, 2846 0x69, 0x6c, 0x74, 0x65, 0x72, 0x52, 0x07, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x12, 0x34, 2847 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 2848 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 2849 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x65, 0x6e, 0x61, 2850 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x66, 0x9a, 0xc5, 0x88, 0x1e, 0x61, 0x0a, 0x5f, 0x65, 0x6e, 0x76, 2851 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 2852 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 2853 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 2854 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 2855 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x55, 2856 0x70, 0x67, 0x72, 0x61, 0x64, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0xd8, 0x02, 0x0a, 2857 0x18, 0x50, 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 2858 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x19, 0x66, 0x6f, 0x72, 2859 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 2860 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 2861 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 2862 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 2863 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 2864 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 2865 0x0a, 0x1a, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x5f, 0x74, 0x72, 2866 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 2867 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 2868 0x68, 0x74, 0x74, 0x70, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x61, 0x74, 0x68, 0x54, 0x72, 0x61, 0x6e, 2869 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x68, 0x74, 0x74, 0x70, 2870 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 2871 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x71, 0x9a, 0xc5, 0x88, 0x1e, 0x6c, 0x0a, 0x6a, 0x65, 0x6e, 0x76, 2872 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 2873 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 2874 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 2875 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 2876 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x50, 2877 0x61, 0x74, 0x68, 0x4e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 2878 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x36, 0x0a, 0x09, 0x43, 0x6f, 0x64, 0x65, 0x63, 2879 0x54, 0x79, 0x70, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x55, 0x54, 0x4f, 0x10, 0x00, 0x12, 0x09, 2880 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x31, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 2881 0x50, 0x32, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x33, 0x10, 0x03, 0x22, 2882 0x53, 0x0a, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x54, 2883 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0d, 0x0a, 2884 0x09, 0x4f, 0x56, 0x45, 0x52, 0x57, 0x52, 0x49, 0x54, 0x45, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 2885 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x49, 0x46, 0x5f, 0x41, 0x42, 0x53, 0x45, 0x4e, 0x54, 2886 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x41, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x52, 0x4f, 0x55, 2887 0x47, 0x48, 0x10, 0x02, 0x22, 0x79, 0x0a, 0x18, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x43, 2888 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 2889 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 0x10, 0x00, 0x12, 0x10, 2890 0x0a, 0x0c, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x01, 2891 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x50, 0x50, 0x45, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 2892 0x52, 0x44, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x41, 0x4e, 0x49, 0x54, 0x49, 0x5a, 0x45, 2893 0x5f, 0x53, 0x45, 0x54, 0x10, 0x03, 0x12, 0x17, 0x0a, 0x13, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 2894 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x22, 2895 0xa0, 0x01, 0x0a, 0x1c, 0x50, 0x61, 0x74, 0x68, 0x57, 0x69, 0x74, 0x68, 0x45, 0x73, 0x63, 0x61, 2896 0x70, 0x65, 0x64, 0x53, 0x6c, 0x61, 0x73, 0x68, 0x65, 0x73, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 2897 0x12, 0x23, 0x0a, 0x1f, 0x49, 0x4d, 0x50, 0x4c, 0x45, 0x4d, 0x45, 0x4e, 0x54, 0x41, 0x54, 0x49, 2898 0x4f, 0x4e, 0x5f, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x43, 0x5f, 0x44, 0x45, 0x46, 0x41, 2899 0x55, 0x4c, 0x54, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, 0x4b, 0x45, 0x45, 0x50, 0x5f, 0x55, 0x4e, 2900 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x45, 0x4a, 2901 0x45, 0x43, 0x54, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x02, 0x12, 0x19, 0x0a, 2902 0x15, 0x55, 0x4e, 0x45, 0x53, 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x52, 0x45, 2903 0x44, 0x49, 0x52, 0x45, 0x43, 0x54, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x55, 0x4e, 0x45, 0x53, 2904 0x43, 0x41, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x44, 0x5f, 0x46, 0x4f, 0x52, 0x57, 0x41, 0x52, 0x44, 2905 0x10, 0x04, 0x3a, 0x58, 0x9a, 0xc5, 0x88, 0x1e, 0x53, 0x0a, 0x51, 0x65, 0x6e, 0x76, 0x6f, 0x79, 2906 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 2907 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 2908 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 2909 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 2910 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x42, 0x16, 0x0a, 0x0f, 2911 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 2912 0x03, 0xf8, 0x42, 0x01, 0x42, 0x11, 0x0a, 0x0f, 0x73, 0x74, 0x72, 0x69, 0x70, 0x5f, 0x70, 0x6f, 2913 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 2914 0x0b, 0x10, 0x0c, 0x52, 0x0c, 0x69, 0x64, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 2915 0x74, 0x22, 0xa9, 0x02, 0x0a, 0x10, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 2916 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x6a, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 2917 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x50, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 2918 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 2919 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 2920 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 2921 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 2922 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x65, 2923 0x72, 0x73, 0x12, 0x54, 0x0a, 0x0b, 0x62, 0x6f, 0x64, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 2924 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 2925 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 2926 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 0x6e, 2927 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x62, 0x6f, 2928 0x64, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x3a, 0x53, 0x9a, 0xc5, 0x88, 0x1e, 0x4e, 0x0a, 2929 0x4c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 2930 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 2931 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 2932 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x6f, 0x63, 2933 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x83, 0x04, 2934 0x0a, 0x0e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x72, 2935 0x12, 0x51, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 2936 0x32, 0x2f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 2937 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x6c, 0x6f, 0x67, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 2938 0x61, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x6f, 0x67, 0x46, 0x69, 0x6c, 0x74, 0x65, 2939 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 2940 0x74, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 2941 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2942 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 2943 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xfa, 0x42, 0x08, 0x2a, 0x06, 0x10, 0xd8, 0x04, 2944 0x28, 0xc8, 0x01, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 2945 0x39, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 2946 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 2947 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x53, 0x6f, 2948 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x65, 0x0a, 0x14, 0x62, 0x6f, 2949 0x64, 0x79, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 2950 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 2951 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 2952 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x75, 0x62, 0x73, 0x74, 0x69, 0x74, 0x75, 0x74, 0x69, 0x6f, 2953 0x6e, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x12, 0x62, 2954 0x6f, 0x64, 0x79, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 2955 0x65, 0x12, 0x5d, 0x0a, 0x0e, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x5f, 0x74, 0x6f, 0x5f, 2956 0x61, 0x64, 0x64, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 2957 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 2958 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 2959 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x09, 0xfa, 0x42, 0x06, 0x92, 0x01, 0x03, 0x10, 2960 0xe8, 0x07, 0x52, 0x0c, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x54, 0x6f, 0x41, 0x64, 0x64, 2961 0x3a, 0x51, 0x9a, 0xc5, 0x88, 0x1e, 0x4c, 0x0a, 0x4a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 2962 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 2963 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 2964 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 2965 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x4d, 0x61, 0x70, 2966 0x70, 0x65, 0x72, 0x22, 0xd1, 0x01, 0x0a, 0x03, 0x52, 0x64, 0x73, 0x12, 0x56, 0x0a, 0x0d, 0x63, 2967 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 2968 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 2969 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 2970 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 2971 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 2972 0x72, 0x63, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 2973 0x66, 0x69, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 2974 0x72, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x61, 0x6d, 0x65, 0x3a, 2975 0x46, 0x9a, 0xc5, 0x88, 0x1e, 0x41, 0x0a, 0x3f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 2976 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 2977 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 2978 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 2979 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x64, 0x73, 0x22, 0x81, 0x02, 0x0a, 0x1d, 0x53, 0x63, 0x6f, 0x70, 2980 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 2981 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x7e, 0x0a, 0x1b, 0x73, 0x63, 0x6f, 2982 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2983 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 2984 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x6f, 2985 0x75, 0x74, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 2986 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 2987 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x19, 2988 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2989 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x60, 0x9a, 0xc5, 0x88, 0x1e, 0x5b, 2990 0x0a, 0x59, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 2991 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 2992 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 2993 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 2994 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 2995 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x22, 0xa7, 0x0f, 0x0a, 0x0c, 2996 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x04, 2997 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 2998 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x94, 0x01, 0x0a, 0x11, 0x73, 0x63, 2999 0x6f, 0x70, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 3000 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 3001 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 3002 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 3003 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 3004 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 3005 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 3006 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 3007 0x0f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 3008 0x12, 0x5d, 0x0a, 0x11, 0x72, 0x64, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 3009 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 3010 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 3011 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 3012 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0f, 3013 0x72, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 3014 0xaa, 0x01, 0x0a, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 3015 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 3016 0x6c, 0x69, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x5f, 0x2e, 0x65, 0x6e, 0x76, 3017 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 3018 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 3019 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 3020 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 3021 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 3022 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x00, 0x52, 0x1d, 0x73, 3023 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3024 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 3025 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 3026 0x32, 0x4b, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 3027 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 3028 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 3029 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 3030 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x48, 0x00, 0x52, 3031 0x09, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x64, 0x73, 0x1a, 0xfe, 0x09, 0x0a, 0x0f, 0x53, 3032 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x96, 3033 0x01, 0x0a, 0x09, 0x66, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 3034 0x28, 0x0b, 0x32, 0x6e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 3035 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 3036 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 3037 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 3038 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 3039 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 3040 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 3041 0x65, 0x72, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x09, 0x66, 0x72, 3042 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0xf0, 0x07, 0x0a, 0x0f, 0x46, 0x72, 0x61, 0x67, 3043 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0xbc, 0x01, 0x0a, 0x16, 3044 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x65, 0x78, 0x74, 3045 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x83, 0x01, 0x2e, 3046 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 3047 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 3048 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 3049 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 3050 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 3051 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 3052 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 3053 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 3054 0x6f, 0x72, 0x48, 0x00, 0x52, 0x14, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 3055 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x1a, 0x9f, 0x05, 0x0a, 0x14, 0x48, 3056 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 3057 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 3058 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 3059 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x65, 0x70, 0x61, 3060 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x6c, 0x65, 3061 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 3062 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 3063 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0xaa, 0x01, 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 3064 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x8d, 0x01, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 3065 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 3066 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 3067 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 3068 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x2e, 0x53, 0x63, 0x6f, 0x70, 3069 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 3070 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 3071 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 3072 0x61, 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x76, 3073 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x6d, 0x65, 3074 0x6e, 0x74, 0x1a, 0xe0, 0x01, 0x0a, 0x09, 0x4b, 0x76, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 3075 0x12, 0x25, 0x0a, 0x09, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 3076 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x09, 0x73, 0x65, 3077 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x19, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 3078 0x20, 0x01, 0x28, 0x09, 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x03, 0x6b, 3079 0x65, 0x79, 0x3a, 0x90, 0x01, 0x9a, 0xc5, 0x88, 0x1e, 0x8a, 0x01, 0x0a, 0x87, 0x01, 0x65, 0x6e, 3080 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 3081 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 3082 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 3083 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 3084 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 3085 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 3086 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 0x6c, 3087 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x4b, 0x76, 0x45, 0x6c, 3088 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x3a, 0x84, 0x01, 0x9a, 0xc5, 0x88, 0x1e, 0x7f, 0x0a, 0x7d, 0x65, 3089 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 3090 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 3091 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 3092 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 3093 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 3094 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 3095 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x56, 0x61, 3096 0x6c, 0x75, 0x65, 0x45, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x42, 0x0e, 0x0a, 0x0c, 3097 0x65, 0x78, 0x74, 0x72, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x3a, 0x6f, 0x9a, 0xc5, 3098 0x88, 0x1e, 0x6a, 0x0a, 0x68, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 3099 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 3100 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 3101 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 3102 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 3103 0x6f, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x2e, 0x46, 0x72, 3104 0x61, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 3105 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x03, 0xf8, 0x42, 0x01, 0x3a, 0x5f, 0x9a, 0xc5, 0x88, 0x1e, 3106 0x5a, 0x0a, 0x58, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 3107 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 3108 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 3109 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 3110 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 3111 0x65, 0x4b, 0x65, 0x79, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x4f, 0x9a, 0xc5, 0x88, 3112 0x1e, 0x4a, 0x0a, 0x48, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 3113 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 3114 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 3115 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 3116 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x42, 0x17, 0x0a, 0x10, 3117 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x72, 3118 0x12, 0x03, 0xf8, 0x42, 0x01, 0x22, 0xfb, 0x01, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 3119 0x52, 0x64, 0x73, 0x12, 0x6a, 0x0a, 0x18, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 0x5f, 0x72, 0x64, 3120 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 3121 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 3122 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 3123 0x61, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x08, 3124 0xfa, 0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x15, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x64, 3125 0x52, 0x64, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 3126 0x34, 0x0a, 0x16, 0x73, 0x72, 0x64, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 3127 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 3128 0x14, 0x73, 0x72, 0x64, 0x73, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x4c, 0x6f, 3129 0x63, 0x61, 0x74, 0x6f, 0x72, 0x3a, 0x4c, 0x9a, 0xc5, 0x88, 0x1e, 0x47, 0x0a, 0x45, 0x65, 0x6e, 3130 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 3131 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 3132 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 3133 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x64, 3134 0x52, 0x64, 0x73, 0x22, 0xd6, 0x02, 0x0a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 3135 0x65, 0x72, 0x12, 0x1b, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 3136 0x42, 0x07, 0xfa, 0x42, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 3137 0x39, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 3138 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 3139 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x48, 0x00, 0x52, 0x0b, 0x74, 3140 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x10, 0x63, 0x6f, 3141 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x18, 0x05, 3142 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x63, 0x6f, 0x6e, 3143 0x66, 0x69, 0x67, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x34, 0x61, 0x6c, 0x70, 0x68, 0x61, 3144 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3145 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x48, 0x00, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 3146 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 3147 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 3148 0x69, 0x73, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x3a, 0x4d, 0x9a, 0xc5, 0x88, 0x1e, 3149 0x48, 0x0a, 0x46, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 3150 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 0x74, 0x77, 3151 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 3152 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x2e, 0x48, 3153 0x74, 0x74, 0x70, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x0d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 3154 0x66, 0x69, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x4a, 0x04, 0x08, 0x03, 0x10, 0x04, 0x4a, 0x04, 3155 0x08, 0x02, 0x10, 0x03, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa4, 0x01, 0x0a, 3156 0x12, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 3157 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x0c, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 3158 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 3159 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 3160 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x3a, 0x55, 0x9a, 0xc5, 3161 0x88, 0x1e, 0x50, 0x0a, 0x4e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 3162 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 3163 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 3164 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x33, 3165 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x44, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 3166 0x69, 0x6f, 0x6e, 0x42, 0x76, 0x0a, 0x4e, 0x69, 0x6f, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x70, 3167 0x72, 0x6f, 0x78, 0x79, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x65, 0x78, 0x74, 0x65, 0x6e, 3168 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x6e, 0x65, 3169 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x5f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 3170 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x76, 0x34, 3171 0x61, 0x6c, 0x70, 0x68, 0x61, 0x42, 0x1a, 0x48, 0x74, 0x74, 0x70, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 3172 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 3173 0x6f, 0x50, 0x01, 0xba, 0x80, 0xc8, 0xd1, 0x06, 0x02, 0x10, 0x03, 0x62, 0x06, 0x70, 0x72, 0x6f, 3174 0x74, 0x6f, 0x33, 3175} 3176 3177var ( 3178 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescOnce sync.Once 3179 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescData = file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDesc 3180) 3181 3182func file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescGZIP() []byte { 3183 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescOnce.Do(func() { 3184 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescData = protoimpl.X.CompressGZIP(file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescData) 3185 }) 3186 return file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDescData 3187} 3188 3189var file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 5) 3190var file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 18) 3191var file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_goTypes = []interface{}{ 3192 (HttpConnectionManager_CodecType)(0), // 0: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.CodecType 3193 (HttpConnectionManager_ServerHeaderTransformation)(0), // 1: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.ServerHeaderTransformation 3194 (HttpConnectionManager_ForwardClientCertDetails)(0), // 2: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.ForwardClientCertDetails 3195 (HttpConnectionManager_PathWithEscapedSlashesAction)(0), // 3: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathWithEscapedSlashesAction 3196 (HttpConnectionManager_Tracing_OperationName)(0), // 4: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.OperationName 3197 (*HttpConnectionManager)(nil), // 5: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager 3198 (*LocalReplyConfig)(nil), // 6: envoy.extensions.filters.network.http_connection_manager.v4alpha.LocalReplyConfig 3199 (*ResponseMapper)(nil), // 7: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper 3200 (*Rds)(nil), // 8: envoy.extensions.filters.network.http_connection_manager.v4alpha.Rds 3201 (*ScopedRouteConfigurationsList)(nil), // 9: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRouteConfigurationsList 3202 (*ScopedRoutes)(nil), // 10: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes 3203 (*ScopedRds)(nil), // 11: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRds 3204 (*HttpFilter)(nil), // 12: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpFilter 3205 (*RequestIDExtension)(nil), // 13: envoy.extensions.filters.network.http_connection_manager.v4alpha.RequestIDExtension 3206 (*HttpConnectionManager_Tracing)(nil), // 14: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing 3207 (*HttpConnectionManager_InternalAddressConfig)(nil), // 15: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.InternalAddressConfig 3208 (*HttpConnectionManager_SetCurrentClientCertDetails)(nil), // 16: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.SetCurrentClientCertDetails 3209 (*HttpConnectionManager_UpgradeConfig)(nil), // 17: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.UpgradeConfig 3210 (*HttpConnectionManager_PathNormalizationOptions)(nil), // 18: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathNormalizationOptions 3211 (*ScopedRoutes_ScopeKeyBuilder)(nil), // 19: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder 3212 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder)(nil), // 20: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder 3213 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor)(nil), // 21: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor 3214 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement)(nil), // 22: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement 3215 (*v4alpha2.RouteConfiguration)(nil), // 23: envoy.config.route.v4alpha.RouteConfiguration 3216 (*wrappers.BoolValue)(nil), // 24: google.protobuf.BoolValue 3217 (*v4alpha.HttpProtocolOptions)(nil), // 25: envoy.config.core.v4alpha.HttpProtocolOptions 3218 (*v4alpha.Http1ProtocolOptions)(nil), // 26: envoy.config.core.v4alpha.Http1ProtocolOptions 3219 (*v4alpha.Http2ProtocolOptions)(nil), // 27: envoy.config.core.v4alpha.Http2ProtocolOptions 3220 (*v4alpha.Http3ProtocolOptions)(nil), // 28: envoy.config.core.v4alpha.Http3ProtocolOptions 3221 (*wrappers.UInt32Value)(nil), // 29: google.protobuf.UInt32Value 3222 (*duration.Duration)(nil), // 30: google.protobuf.Duration 3223 (*v4alpha1.AccessLog)(nil), // 31: envoy.config.accesslog.v4alpha.AccessLog 3224 (*v4alpha.SubstitutionFormatString)(nil), // 32: envoy.config.core.v4alpha.SubstitutionFormatString 3225 (*v4alpha1.AccessLogFilter)(nil), // 33: envoy.config.accesslog.v4alpha.AccessLogFilter 3226 (*v4alpha.DataSource)(nil), // 34: envoy.config.core.v4alpha.DataSource 3227 (*v4alpha.HeaderValueOption)(nil), // 35: envoy.config.core.v4alpha.HeaderValueOption 3228 (*v4alpha.ConfigSource)(nil), // 36: envoy.config.core.v4alpha.ConfigSource 3229 (*v4alpha2.ScopedRouteConfiguration)(nil), // 37: envoy.config.route.v4alpha.ScopedRouteConfiguration 3230 (*any.Any)(nil), // 38: google.protobuf.Any 3231 (*v4alpha.ExtensionConfigSource)(nil), // 39: envoy.config.core.v4alpha.ExtensionConfigSource 3232 (*v3.Percent)(nil), // 40: envoy.type.v3.Percent 3233 (*v31.CustomTag)(nil), // 41: envoy.type.tracing.v3.CustomTag 3234 (*v4alpha3.Tracing_Http)(nil), // 42: envoy.config.trace.v4alpha.Tracing.Http 3235 (*v32.PathTransformation)(nil), // 43: envoy.type.http.v3.PathTransformation 3236} 3237var file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_depIdxs = []int32{ 3238 0, // 0: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.codec_type:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.CodecType 3239 8, // 1: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.Rds 3240 23, // 2: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.route_config:type_name -> envoy.config.route.v4alpha.RouteConfiguration 3241 10, // 3: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.scoped_routes:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes 3242 12, // 4: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.http_filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpFilter 3243 24, // 5: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.add_user_agent:type_name -> google.protobuf.BoolValue 3244 14, // 6: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.tracing:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing 3245 25, // 7: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.common_http_protocol_options:type_name -> envoy.config.core.v4alpha.HttpProtocolOptions 3246 26, // 8: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.http_protocol_options:type_name -> envoy.config.core.v4alpha.Http1ProtocolOptions 3247 27, // 9: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.http2_protocol_options:type_name -> envoy.config.core.v4alpha.Http2ProtocolOptions 3248 28, // 10: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.http3_protocol_options:type_name -> envoy.config.core.v4alpha.Http3ProtocolOptions 3249 1, // 11: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.server_header_transformation:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.ServerHeaderTransformation 3250 29, // 12: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.max_request_headers_kb:type_name -> google.protobuf.UInt32Value 3251 30, // 13: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.stream_idle_timeout:type_name -> google.protobuf.Duration 3252 30, // 14: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.request_timeout:type_name -> google.protobuf.Duration 3253 30, // 15: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.request_headers_timeout:type_name -> google.protobuf.Duration 3254 30, // 16: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.drain_timeout:type_name -> google.protobuf.Duration 3255 30, // 17: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.delayed_close_timeout:type_name -> google.protobuf.Duration 3256 31, // 18: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.access_log:type_name -> envoy.config.accesslog.v4alpha.AccessLog 3257 24, // 19: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.use_remote_address:type_name -> google.protobuf.BoolValue 3258 15, // 20: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.internal_address_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.InternalAddressConfig 3259 24, // 21: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.generate_request_id:type_name -> google.protobuf.BoolValue 3260 2, // 22: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.forward_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.ForwardClientCertDetails 3261 16, // 23: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.set_current_client_cert_details:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.SetCurrentClientCertDetails 3262 17, // 24: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.upgrade_configs:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.UpgradeConfig 3263 24, // 25: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.normalize_path:type_name -> google.protobuf.BoolValue 3264 3, // 26: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.path_with_escaped_slashes_action:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathWithEscapedSlashesAction 3265 13, // 27: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.request_id_extension:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.RequestIDExtension 3266 6, // 28: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.local_reply_config:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.LocalReplyConfig 3267 24, // 29: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.stream_error_on_invalid_http_message:type_name -> google.protobuf.BoolValue 3268 18, // 30: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.path_normalization_options:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathNormalizationOptions 3269 7, // 31: envoy.extensions.filters.network.http_connection_manager.v4alpha.LocalReplyConfig.mappers:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper 3270 32, // 32: envoy.extensions.filters.network.http_connection_manager.v4alpha.LocalReplyConfig.body_format:type_name -> envoy.config.core.v4alpha.SubstitutionFormatString 3271 33, // 33: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper.filter:type_name -> envoy.config.accesslog.v4alpha.AccessLogFilter 3272 29, // 34: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper.status_code:type_name -> google.protobuf.UInt32Value 3273 34, // 35: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper.body:type_name -> envoy.config.core.v4alpha.DataSource 3274 32, // 36: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper.body_format_override:type_name -> envoy.config.core.v4alpha.SubstitutionFormatString 3275 35, // 37: envoy.extensions.filters.network.http_connection_manager.v4alpha.ResponseMapper.headers_to_add:type_name -> envoy.config.core.v4alpha.HeaderValueOption 3276 36, // 38: envoy.extensions.filters.network.http_connection_manager.v4alpha.Rds.config_source:type_name -> envoy.config.core.v4alpha.ConfigSource 3277 37, // 39: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRouteConfigurationsList.scoped_route_configurations:type_name -> envoy.config.route.v4alpha.ScopedRouteConfiguration 3278 19, // 40: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.scope_key_builder:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder 3279 36, // 41: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.rds_config_source:type_name -> envoy.config.core.v4alpha.ConfigSource 3280 9, // 42: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.scoped_route_configurations_list:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRouteConfigurationsList 3281 11, // 43: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.scoped_rds:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRds 3282 36, // 44: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRds.scoped_rds_config_source:type_name -> envoy.config.core.v4alpha.ConfigSource 3283 38, // 45: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpFilter.typed_config:type_name -> google.protobuf.Any 3284 39, // 46: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpFilter.config_discovery:type_name -> envoy.config.core.v4alpha.ExtensionConfigSource 3285 38, // 47: envoy.extensions.filters.network.http_connection_manager.v4alpha.RequestIDExtension.typed_config:type_name -> google.protobuf.Any 3286 40, // 48: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.client_sampling:type_name -> envoy.type.v3.Percent 3287 40, // 49: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.random_sampling:type_name -> envoy.type.v3.Percent 3288 40, // 50: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.overall_sampling:type_name -> envoy.type.v3.Percent 3289 29, // 51: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.max_path_tag_length:type_name -> google.protobuf.UInt32Value 3290 41, // 52: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.custom_tags:type_name -> envoy.type.tracing.v3.CustomTag 3291 42, // 53: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.Tracing.provider:type_name -> envoy.config.trace.v4alpha.Tracing.Http 3292 24, // 54: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.SetCurrentClientCertDetails.subject:type_name -> google.protobuf.BoolValue 3293 12, // 55: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.UpgradeConfig.filters:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpFilter 3294 24, // 56: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.UpgradeConfig.enabled:type_name -> google.protobuf.BoolValue 3295 43, // 57: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathNormalizationOptions.forwarding_transformation:type_name -> envoy.type.http.v3.PathTransformation 3296 43, // 58: envoy.extensions.filters.network.http_connection_manager.v4alpha.HttpConnectionManager.PathNormalizationOptions.http_filter_transformation:type_name -> envoy.type.http.v3.PathTransformation 3297 20, // 59: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.fragments:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder 3298 21, // 60: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.header_value_extractor:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor 3299 22, // 61: envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.element:type_name -> envoy.extensions.filters.network.http_connection_manager.v4alpha.ScopedRoutes.ScopeKeyBuilder.FragmentBuilder.HeaderValueExtractor.KvElement 3300 62, // [62:62] is the sub-list for method output_type 3301 62, // [62:62] is the sub-list for method input_type 3302 62, // [62:62] is the sub-list for extension type_name 3303 62, // [62:62] is the sub-list for extension extendee 3304 0, // [0:62] is the sub-list for field type_name 3305} 3306 3307func init() { 3308 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_init() 3309} 3310func file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_init() { 3311 if File_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto != nil { 3312 return 3313 } 3314 if !protoimpl.UnsafeEnabled { 3315 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 3316 switch v := v.(*HttpConnectionManager); i { 3317 case 0: 3318 return &v.state 3319 case 1: 3320 return &v.sizeCache 3321 case 2: 3322 return &v.unknownFields 3323 default: 3324 return nil 3325 } 3326 } 3327 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 3328 switch v := v.(*LocalReplyConfig); i { 3329 case 0: 3330 return &v.state 3331 case 1: 3332 return &v.sizeCache 3333 case 2: 3334 return &v.unknownFields 3335 default: 3336 return nil 3337 } 3338 } 3339 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 3340 switch v := v.(*ResponseMapper); i { 3341 case 0: 3342 return &v.state 3343 case 1: 3344 return &v.sizeCache 3345 case 2: 3346 return &v.unknownFields 3347 default: 3348 return nil 3349 } 3350 } 3351 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 3352 switch v := v.(*Rds); i { 3353 case 0: 3354 return &v.state 3355 case 1: 3356 return &v.sizeCache 3357 case 2: 3358 return &v.unknownFields 3359 default: 3360 return nil 3361 } 3362 } 3363 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 3364 switch v := v.(*ScopedRouteConfigurationsList); i { 3365 case 0: 3366 return &v.state 3367 case 1: 3368 return &v.sizeCache 3369 case 2: 3370 return &v.unknownFields 3371 default: 3372 return nil 3373 } 3374 } 3375 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 3376 switch v := v.(*ScopedRoutes); i { 3377 case 0: 3378 return &v.state 3379 case 1: 3380 return &v.sizeCache 3381 case 2: 3382 return &v.unknownFields 3383 default: 3384 return nil 3385 } 3386 } 3387 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 3388 switch v := v.(*ScopedRds); i { 3389 case 0: 3390 return &v.state 3391 case 1: 3392 return &v.sizeCache 3393 case 2: 3394 return &v.unknownFields 3395 default: 3396 return nil 3397 } 3398 } 3399 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 3400 switch v := v.(*HttpFilter); i { 3401 case 0: 3402 return &v.state 3403 case 1: 3404 return &v.sizeCache 3405 case 2: 3406 return &v.unknownFields 3407 default: 3408 return nil 3409 } 3410 } 3411 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 3412 switch v := v.(*RequestIDExtension); i { 3413 case 0: 3414 return &v.state 3415 case 1: 3416 return &v.sizeCache 3417 case 2: 3418 return &v.unknownFields 3419 default: 3420 return nil 3421 } 3422 } 3423 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 3424 switch v := v.(*HttpConnectionManager_Tracing); i { 3425 case 0: 3426 return &v.state 3427 case 1: 3428 return &v.sizeCache 3429 case 2: 3430 return &v.unknownFields 3431 default: 3432 return nil 3433 } 3434 } 3435 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 3436 switch v := v.(*HttpConnectionManager_InternalAddressConfig); i { 3437 case 0: 3438 return &v.state 3439 case 1: 3440 return &v.sizeCache 3441 case 2: 3442 return &v.unknownFields 3443 default: 3444 return nil 3445 } 3446 } 3447 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 3448 switch v := v.(*HttpConnectionManager_SetCurrentClientCertDetails); i { 3449 case 0: 3450 return &v.state 3451 case 1: 3452 return &v.sizeCache 3453 case 2: 3454 return &v.unknownFields 3455 default: 3456 return nil 3457 } 3458 } 3459 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 3460 switch v := v.(*HttpConnectionManager_UpgradeConfig); i { 3461 case 0: 3462 return &v.state 3463 case 1: 3464 return &v.sizeCache 3465 case 2: 3466 return &v.unknownFields 3467 default: 3468 return nil 3469 } 3470 } 3471 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 3472 switch v := v.(*HttpConnectionManager_PathNormalizationOptions); i { 3473 case 0: 3474 return &v.state 3475 case 1: 3476 return &v.sizeCache 3477 case 2: 3478 return &v.unknownFields 3479 default: 3480 return nil 3481 } 3482 } 3483 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { 3484 switch v := v.(*ScopedRoutes_ScopeKeyBuilder); i { 3485 case 0: 3486 return &v.state 3487 case 1: 3488 return &v.sizeCache 3489 case 2: 3490 return &v.unknownFields 3491 default: 3492 return nil 3493 } 3494 } 3495 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 3496 switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder); i { 3497 case 0: 3498 return &v.state 3499 case 1: 3500 return &v.sizeCache 3501 case 2: 3502 return &v.unknownFields 3503 default: 3504 return nil 3505 } 3506 } 3507 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { 3508 switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor); i { 3509 case 0: 3510 return &v.state 3511 case 1: 3512 return &v.sizeCache 3513 case 2: 3514 return &v.unknownFields 3515 default: 3516 return nil 3517 } 3518 } 3519 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { 3520 switch v := v.(*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement); i { 3521 case 0: 3522 return &v.state 3523 case 1: 3524 return &v.sizeCache 3525 case 2: 3526 return &v.unknownFields 3527 default: 3528 return nil 3529 } 3530 } 3531 } 3532 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[0].OneofWrappers = []interface{}{ 3533 (*HttpConnectionManager_Rds)(nil), 3534 (*HttpConnectionManager_RouteConfig)(nil), 3535 (*HttpConnectionManager_ScopedRoutes)(nil), 3536 (*HttpConnectionManager_StripMatchingHostPort)(nil), 3537 (*HttpConnectionManager_StripAnyHostPort)(nil), 3538 } 3539 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[5].OneofWrappers = []interface{}{ 3540 (*ScopedRoutes_ScopedRouteConfigurationsList)(nil), 3541 (*ScopedRoutes_ScopedRds)(nil), 3542 } 3543 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[7].OneofWrappers = []interface{}{ 3544 (*HttpFilter_TypedConfig)(nil), 3545 (*HttpFilter_ConfigDiscovery)(nil), 3546 } 3547 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[15].OneofWrappers = []interface{}{ 3548 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_)(nil), 3549 } 3550 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes[16].OneofWrappers = []interface{}{ 3551 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index)(nil), 3552 (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element)(nil), 3553 } 3554 type x struct{} 3555 out := protoimpl.TypeBuilder{ 3556 File: protoimpl.DescBuilder{ 3557 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 3558 RawDescriptor: file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDesc, 3559 NumEnums: 5, 3560 NumMessages: 18, 3561 NumExtensions: 0, 3562 NumServices: 0, 3563 }, 3564 GoTypes: file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_goTypes, 3565 DependencyIndexes: file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_depIdxs, 3566 EnumInfos: file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_enumTypes, 3567 MessageInfos: file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_msgTypes, 3568 }.Build() 3569 File_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto = out.File 3570 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_rawDesc = nil 3571 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_goTypes = nil 3572 file_envoy_extensions_filters_network_http_connection_manager_v4alpha_http_connection_manager_proto_depIdxs = nil 3573} 3574