github.com/Uhtred009/v2ray-core-1@v4.31.2+incompatible/app/router/config.pb.go (about)

     1  // Code generated by protoc-gen-go. DO NOT EDIT.
     2  // versions:
     3  // 	protoc-gen-go v1.25.0
     4  // 	protoc        v3.13.0
     5  // source: app/router/config.proto
     6  
     7  package router
     8  
     9  import (
    10  	proto "github.com/golang/protobuf/proto"
    11  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    12  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    13  	reflect "reflect"
    14  	sync "sync"
    15  	net "v2ray.com/core/common/net"
    16  )
    17  
    18  const (
    19  	// Verify that this generated code is sufficiently up-to-date.
    20  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    21  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    22  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    23  )
    24  
    25  // This is a compile-time assertion that a sufficiently up-to-date version
    26  // of the legacy proto package is being used.
    27  const _ = proto.ProtoPackageIsVersion4
    28  
    29  // Type of domain value.
    30  type Domain_Type int32
    31  
    32  const (
    33  	// The value is used as is.
    34  	Domain_Plain Domain_Type = 0
    35  	// The value is used as a regular expression.
    36  	Domain_Regex Domain_Type = 1
    37  	// The value is a root domain.
    38  	Domain_Domain Domain_Type = 2
    39  	// The value is a domain.
    40  	Domain_Full Domain_Type = 3
    41  )
    42  
    43  // Enum value maps for Domain_Type.
    44  var (
    45  	Domain_Type_name = map[int32]string{
    46  		0: "Plain",
    47  		1: "Regex",
    48  		2: "Domain",
    49  		3: "Full",
    50  	}
    51  	Domain_Type_value = map[string]int32{
    52  		"Plain":  0,
    53  		"Regex":  1,
    54  		"Domain": 2,
    55  		"Full":   3,
    56  	}
    57  )
    58  
    59  func (x Domain_Type) Enum() *Domain_Type {
    60  	p := new(Domain_Type)
    61  	*p = x
    62  	return p
    63  }
    64  
    65  func (x Domain_Type) String() string {
    66  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    67  }
    68  
    69  func (Domain_Type) Descriptor() protoreflect.EnumDescriptor {
    70  	return file_app_router_config_proto_enumTypes[0].Descriptor()
    71  }
    72  
    73  func (Domain_Type) Type() protoreflect.EnumType {
    74  	return &file_app_router_config_proto_enumTypes[0]
    75  }
    76  
    77  func (x Domain_Type) Number() protoreflect.EnumNumber {
    78  	return protoreflect.EnumNumber(x)
    79  }
    80  
    81  // Deprecated: Use Domain_Type.Descriptor instead.
    82  func (Domain_Type) EnumDescriptor() ([]byte, []int) {
    83  	return file_app_router_config_proto_rawDescGZIP(), []int{0, 0}
    84  }
    85  
    86  type Config_DomainStrategy int32
    87  
    88  const (
    89  	// Use domain as is.
    90  	Config_AsIs Config_DomainStrategy = 0
    91  	// Always resolve IP for domains.
    92  	Config_UseIp Config_DomainStrategy = 1
    93  	// Resolve to IP if the domain doesn't match any rules.
    94  	Config_IpIfNonMatch Config_DomainStrategy = 2
    95  	// Resolve to IP if any rule requires IP matching.
    96  	Config_IpOnDemand Config_DomainStrategy = 3
    97  )
    98  
    99  // Enum value maps for Config_DomainStrategy.
   100  var (
   101  	Config_DomainStrategy_name = map[int32]string{
   102  		0: "AsIs",
   103  		1: "UseIp",
   104  		2: "IpIfNonMatch",
   105  		3: "IpOnDemand",
   106  	}
   107  	Config_DomainStrategy_value = map[string]int32{
   108  		"AsIs":         0,
   109  		"UseIp":        1,
   110  		"IpIfNonMatch": 2,
   111  		"IpOnDemand":   3,
   112  	}
   113  )
   114  
   115  func (x Config_DomainStrategy) Enum() *Config_DomainStrategy {
   116  	p := new(Config_DomainStrategy)
   117  	*p = x
   118  	return p
   119  }
   120  
   121  func (x Config_DomainStrategy) String() string {
   122  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   123  }
   124  
   125  func (Config_DomainStrategy) Descriptor() protoreflect.EnumDescriptor {
   126  	return file_app_router_config_proto_enumTypes[1].Descriptor()
   127  }
   128  
   129  func (Config_DomainStrategy) Type() protoreflect.EnumType {
   130  	return &file_app_router_config_proto_enumTypes[1]
   131  }
   132  
   133  func (x Config_DomainStrategy) Number() protoreflect.EnumNumber {
   134  	return protoreflect.EnumNumber(x)
   135  }
   136  
   137  // Deprecated: Use Config_DomainStrategy.Descriptor instead.
   138  func (Config_DomainStrategy) EnumDescriptor() ([]byte, []int) {
   139  	return file_app_router_config_proto_rawDescGZIP(), []int{8, 0}
   140  }
   141  
   142  // Domain for routing decision.
   143  type Domain struct {
   144  	state         protoimpl.MessageState
   145  	sizeCache     protoimpl.SizeCache
   146  	unknownFields protoimpl.UnknownFields
   147  
   148  	// Domain matching type.
   149  	Type Domain_Type `protobuf:"varint,1,opt,name=type,proto3,enum=v2ray.core.app.router.Domain_Type" json:"type,omitempty"`
   150  	// Domain value.
   151  	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
   152  	// Attributes of this domain. May be used for filtering.
   153  	Attribute []*Domain_Attribute `protobuf:"bytes,3,rep,name=attribute,proto3" json:"attribute,omitempty"`
   154  }
   155  
   156  func (x *Domain) Reset() {
   157  	*x = Domain{}
   158  	if protoimpl.UnsafeEnabled {
   159  		mi := &file_app_router_config_proto_msgTypes[0]
   160  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   161  		ms.StoreMessageInfo(mi)
   162  	}
   163  }
   164  
   165  func (x *Domain) String() string {
   166  	return protoimpl.X.MessageStringOf(x)
   167  }
   168  
   169  func (*Domain) ProtoMessage() {}
   170  
   171  func (x *Domain) ProtoReflect() protoreflect.Message {
   172  	mi := &file_app_router_config_proto_msgTypes[0]
   173  	if protoimpl.UnsafeEnabled && x != nil {
   174  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   175  		if ms.LoadMessageInfo() == nil {
   176  			ms.StoreMessageInfo(mi)
   177  		}
   178  		return ms
   179  	}
   180  	return mi.MessageOf(x)
   181  }
   182  
   183  // Deprecated: Use Domain.ProtoReflect.Descriptor instead.
   184  func (*Domain) Descriptor() ([]byte, []int) {
   185  	return file_app_router_config_proto_rawDescGZIP(), []int{0}
   186  }
   187  
   188  func (x *Domain) GetType() Domain_Type {
   189  	if x != nil {
   190  		return x.Type
   191  	}
   192  	return Domain_Plain
   193  }
   194  
   195  func (x *Domain) GetValue() string {
   196  	if x != nil {
   197  		return x.Value
   198  	}
   199  	return ""
   200  }
   201  
   202  func (x *Domain) GetAttribute() []*Domain_Attribute {
   203  	if x != nil {
   204  		return x.Attribute
   205  	}
   206  	return nil
   207  }
   208  
   209  // IP for routing decision, in CIDR form.
   210  type CIDR struct {
   211  	state         protoimpl.MessageState
   212  	sizeCache     protoimpl.SizeCache
   213  	unknownFields protoimpl.UnknownFields
   214  
   215  	// IP address, should be either 4 or 16 bytes.
   216  	Ip []byte `protobuf:"bytes,1,opt,name=ip,proto3" json:"ip,omitempty"`
   217  	// Number of leading ones in the network mask.
   218  	Prefix uint32 `protobuf:"varint,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
   219  }
   220  
   221  func (x *CIDR) Reset() {
   222  	*x = CIDR{}
   223  	if protoimpl.UnsafeEnabled {
   224  		mi := &file_app_router_config_proto_msgTypes[1]
   225  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   226  		ms.StoreMessageInfo(mi)
   227  	}
   228  }
   229  
   230  func (x *CIDR) String() string {
   231  	return protoimpl.X.MessageStringOf(x)
   232  }
   233  
   234  func (*CIDR) ProtoMessage() {}
   235  
   236  func (x *CIDR) ProtoReflect() protoreflect.Message {
   237  	mi := &file_app_router_config_proto_msgTypes[1]
   238  	if protoimpl.UnsafeEnabled && x != nil {
   239  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   240  		if ms.LoadMessageInfo() == nil {
   241  			ms.StoreMessageInfo(mi)
   242  		}
   243  		return ms
   244  	}
   245  	return mi.MessageOf(x)
   246  }
   247  
   248  // Deprecated: Use CIDR.ProtoReflect.Descriptor instead.
   249  func (*CIDR) Descriptor() ([]byte, []int) {
   250  	return file_app_router_config_proto_rawDescGZIP(), []int{1}
   251  }
   252  
   253  func (x *CIDR) GetIp() []byte {
   254  	if x != nil {
   255  		return x.Ip
   256  	}
   257  	return nil
   258  }
   259  
   260  func (x *CIDR) GetPrefix() uint32 {
   261  	if x != nil {
   262  		return x.Prefix
   263  	}
   264  	return 0
   265  }
   266  
   267  type GeoIP struct {
   268  	state         protoimpl.MessageState
   269  	sizeCache     protoimpl.SizeCache
   270  	unknownFields protoimpl.UnknownFields
   271  
   272  	CountryCode string  `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
   273  	Cidr        []*CIDR `protobuf:"bytes,2,rep,name=cidr,proto3" json:"cidr,omitempty"`
   274  }
   275  
   276  func (x *GeoIP) Reset() {
   277  	*x = GeoIP{}
   278  	if protoimpl.UnsafeEnabled {
   279  		mi := &file_app_router_config_proto_msgTypes[2]
   280  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   281  		ms.StoreMessageInfo(mi)
   282  	}
   283  }
   284  
   285  func (x *GeoIP) String() string {
   286  	return protoimpl.X.MessageStringOf(x)
   287  }
   288  
   289  func (*GeoIP) ProtoMessage() {}
   290  
   291  func (x *GeoIP) ProtoReflect() protoreflect.Message {
   292  	mi := &file_app_router_config_proto_msgTypes[2]
   293  	if protoimpl.UnsafeEnabled && x != nil {
   294  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   295  		if ms.LoadMessageInfo() == nil {
   296  			ms.StoreMessageInfo(mi)
   297  		}
   298  		return ms
   299  	}
   300  	return mi.MessageOf(x)
   301  }
   302  
   303  // Deprecated: Use GeoIP.ProtoReflect.Descriptor instead.
   304  func (*GeoIP) Descriptor() ([]byte, []int) {
   305  	return file_app_router_config_proto_rawDescGZIP(), []int{2}
   306  }
   307  
   308  func (x *GeoIP) GetCountryCode() string {
   309  	if x != nil {
   310  		return x.CountryCode
   311  	}
   312  	return ""
   313  }
   314  
   315  func (x *GeoIP) GetCidr() []*CIDR {
   316  	if x != nil {
   317  		return x.Cidr
   318  	}
   319  	return nil
   320  }
   321  
   322  type GeoIPList struct {
   323  	state         protoimpl.MessageState
   324  	sizeCache     protoimpl.SizeCache
   325  	unknownFields protoimpl.UnknownFields
   326  
   327  	Entry []*GeoIP `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"`
   328  }
   329  
   330  func (x *GeoIPList) Reset() {
   331  	*x = GeoIPList{}
   332  	if protoimpl.UnsafeEnabled {
   333  		mi := &file_app_router_config_proto_msgTypes[3]
   334  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   335  		ms.StoreMessageInfo(mi)
   336  	}
   337  }
   338  
   339  func (x *GeoIPList) String() string {
   340  	return protoimpl.X.MessageStringOf(x)
   341  }
   342  
   343  func (*GeoIPList) ProtoMessage() {}
   344  
   345  func (x *GeoIPList) ProtoReflect() protoreflect.Message {
   346  	mi := &file_app_router_config_proto_msgTypes[3]
   347  	if protoimpl.UnsafeEnabled && x != nil {
   348  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   349  		if ms.LoadMessageInfo() == nil {
   350  			ms.StoreMessageInfo(mi)
   351  		}
   352  		return ms
   353  	}
   354  	return mi.MessageOf(x)
   355  }
   356  
   357  // Deprecated: Use GeoIPList.ProtoReflect.Descriptor instead.
   358  func (*GeoIPList) Descriptor() ([]byte, []int) {
   359  	return file_app_router_config_proto_rawDescGZIP(), []int{3}
   360  }
   361  
   362  func (x *GeoIPList) GetEntry() []*GeoIP {
   363  	if x != nil {
   364  		return x.Entry
   365  	}
   366  	return nil
   367  }
   368  
   369  type GeoSite struct {
   370  	state         protoimpl.MessageState
   371  	sizeCache     protoimpl.SizeCache
   372  	unknownFields protoimpl.UnknownFields
   373  
   374  	CountryCode string    `protobuf:"bytes,1,opt,name=country_code,json=countryCode,proto3" json:"country_code,omitempty"`
   375  	Domain      []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"`
   376  }
   377  
   378  func (x *GeoSite) Reset() {
   379  	*x = GeoSite{}
   380  	if protoimpl.UnsafeEnabled {
   381  		mi := &file_app_router_config_proto_msgTypes[4]
   382  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   383  		ms.StoreMessageInfo(mi)
   384  	}
   385  }
   386  
   387  func (x *GeoSite) String() string {
   388  	return protoimpl.X.MessageStringOf(x)
   389  }
   390  
   391  func (*GeoSite) ProtoMessage() {}
   392  
   393  func (x *GeoSite) ProtoReflect() protoreflect.Message {
   394  	mi := &file_app_router_config_proto_msgTypes[4]
   395  	if protoimpl.UnsafeEnabled && x != nil {
   396  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   397  		if ms.LoadMessageInfo() == nil {
   398  			ms.StoreMessageInfo(mi)
   399  		}
   400  		return ms
   401  	}
   402  	return mi.MessageOf(x)
   403  }
   404  
   405  // Deprecated: Use GeoSite.ProtoReflect.Descriptor instead.
   406  func (*GeoSite) Descriptor() ([]byte, []int) {
   407  	return file_app_router_config_proto_rawDescGZIP(), []int{4}
   408  }
   409  
   410  func (x *GeoSite) GetCountryCode() string {
   411  	if x != nil {
   412  		return x.CountryCode
   413  	}
   414  	return ""
   415  }
   416  
   417  func (x *GeoSite) GetDomain() []*Domain {
   418  	if x != nil {
   419  		return x.Domain
   420  	}
   421  	return nil
   422  }
   423  
   424  type GeoSiteList struct {
   425  	state         protoimpl.MessageState
   426  	sizeCache     protoimpl.SizeCache
   427  	unknownFields protoimpl.UnknownFields
   428  
   429  	Entry []*GeoSite `protobuf:"bytes,1,rep,name=entry,proto3" json:"entry,omitempty"`
   430  }
   431  
   432  func (x *GeoSiteList) Reset() {
   433  	*x = GeoSiteList{}
   434  	if protoimpl.UnsafeEnabled {
   435  		mi := &file_app_router_config_proto_msgTypes[5]
   436  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   437  		ms.StoreMessageInfo(mi)
   438  	}
   439  }
   440  
   441  func (x *GeoSiteList) String() string {
   442  	return protoimpl.X.MessageStringOf(x)
   443  }
   444  
   445  func (*GeoSiteList) ProtoMessage() {}
   446  
   447  func (x *GeoSiteList) ProtoReflect() protoreflect.Message {
   448  	mi := &file_app_router_config_proto_msgTypes[5]
   449  	if protoimpl.UnsafeEnabled && x != nil {
   450  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   451  		if ms.LoadMessageInfo() == nil {
   452  			ms.StoreMessageInfo(mi)
   453  		}
   454  		return ms
   455  	}
   456  	return mi.MessageOf(x)
   457  }
   458  
   459  // Deprecated: Use GeoSiteList.ProtoReflect.Descriptor instead.
   460  func (*GeoSiteList) Descriptor() ([]byte, []int) {
   461  	return file_app_router_config_proto_rawDescGZIP(), []int{5}
   462  }
   463  
   464  func (x *GeoSiteList) GetEntry() []*GeoSite {
   465  	if x != nil {
   466  		return x.Entry
   467  	}
   468  	return nil
   469  }
   470  
   471  type RoutingRule struct {
   472  	state         protoimpl.MessageState
   473  	sizeCache     protoimpl.SizeCache
   474  	unknownFields protoimpl.UnknownFields
   475  
   476  	// Types that are assignable to TargetTag:
   477  	//	*RoutingRule_Tag
   478  	//	*RoutingRule_BalancingTag
   479  	TargetTag isRoutingRule_TargetTag `protobuf_oneof:"target_tag"`
   480  	// List of domains for target domain matching.
   481  	Domain []*Domain `protobuf:"bytes,2,rep,name=domain,proto3" json:"domain,omitempty"`
   482  	// List of CIDRs for target IP address matching.
   483  	// Deprecated. Use geoip below.
   484  	//
   485  	// Deprecated: Do not use.
   486  	Cidr []*CIDR `protobuf:"bytes,3,rep,name=cidr,proto3" json:"cidr,omitempty"`
   487  	// List of GeoIPs for target IP address matching. If this entry exists, the
   488  	// cidr above will have no effect. GeoIP fields with the same country code are
   489  	// supposed to contain exactly same content. They will be merged during
   490  	// runtime. For customized GeoIPs, please leave country code empty.
   491  	Geoip []*GeoIP `protobuf:"bytes,10,rep,name=geoip,proto3" json:"geoip,omitempty"`
   492  	// A range of port [from, to]. If the destination port is in this range, this
   493  	// rule takes effect. Deprecated. Use port_list.
   494  	//
   495  	// Deprecated: Do not use.
   496  	PortRange *net.PortRange `protobuf:"bytes,4,opt,name=port_range,json=portRange,proto3" json:"port_range,omitempty"`
   497  	// List of ports.
   498  	PortList *net.PortList `protobuf:"bytes,14,opt,name=port_list,json=portList,proto3" json:"port_list,omitempty"`
   499  	// List of networks. Deprecated. Use networks.
   500  	//
   501  	// Deprecated: Do not use.
   502  	NetworkList *net.NetworkList `protobuf:"bytes,5,opt,name=network_list,json=networkList,proto3" json:"network_list,omitempty"`
   503  	// List of networks for matching.
   504  	Networks []net.Network `protobuf:"varint,13,rep,packed,name=networks,proto3,enum=v2ray.core.common.net.Network" json:"networks,omitempty"`
   505  	// List of CIDRs for source IP address matching.
   506  	//
   507  	// Deprecated: Do not use.
   508  	SourceCidr []*CIDR `protobuf:"bytes,6,rep,name=source_cidr,json=sourceCidr,proto3" json:"source_cidr,omitempty"`
   509  	// List of GeoIPs for source IP address matching. If this entry exists, the
   510  	// source_cidr above will have no effect.
   511  	SourceGeoip []*GeoIP `protobuf:"bytes,11,rep,name=source_geoip,json=sourceGeoip,proto3" json:"source_geoip,omitempty"`
   512  	// List of ports for source port matching.
   513  	SourcePortList *net.PortList `protobuf:"bytes,16,opt,name=source_port_list,json=sourcePortList,proto3" json:"source_port_list,omitempty"`
   514  	UserEmail      []string      `protobuf:"bytes,7,rep,name=user_email,json=userEmail,proto3" json:"user_email,omitempty"`
   515  	InboundTag     []string      `protobuf:"bytes,8,rep,name=inbound_tag,json=inboundTag,proto3" json:"inbound_tag,omitempty"`
   516  	Protocol       []string      `protobuf:"bytes,9,rep,name=protocol,proto3" json:"protocol,omitempty"`
   517  	Attributes     string        `protobuf:"bytes,15,opt,name=attributes,proto3" json:"attributes,omitempty"`
   518  }
   519  
   520  func (x *RoutingRule) Reset() {
   521  	*x = RoutingRule{}
   522  	if protoimpl.UnsafeEnabled {
   523  		mi := &file_app_router_config_proto_msgTypes[6]
   524  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   525  		ms.StoreMessageInfo(mi)
   526  	}
   527  }
   528  
   529  func (x *RoutingRule) String() string {
   530  	return protoimpl.X.MessageStringOf(x)
   531  }
   532  
   533  func (*RoutingRule) ProtoMessage() {}
   534  
   535  func (x *RoutingRule) ProtoReflect() protoreflect.Message {
   536  	mi := &file_app_router_config_proto_msgTypes[6]
   537  	if protoimpl.UnsafeEnabled && x != nil {
   538  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   539  		if ms.LoadMessageInfo() == nil {
   540  			ms.StoreMessageInfo(mi)
   541  		}
   542  		return ms
   543  	}
   544  	return mi.MessageOf(x)
   545  }
   546  
   547  // Deprecated: Use RoutingRule.ProtoReflect.Descriptor instead.
   548  func (*RoutingRule) Descriptor() ([]byte, []int) {
   549  	return file_app_router_config_proto_rawDescGZIP(), []int{6}
   550  }
   551  
   552  func (m *RoutingRule) GetTargetTag() isRoutingRule_TargetTag {
   553  	if m != nil {
   554  		return m.TargetTag
   555  	}
   556  	return nil
   557  }
   558  
   559  func (x *RoutingRule) GetTag() string {
   560  	if x, ok := x.GetTargetTag().(*RoutingRule_Tag); ok {
   561  		return x.Tag
   562  	}
   563  	return ""
   564  }
   565  
   566  func (x *RoutingRule) GetBalancingTag() string {
   567  	if x, ok := x.GetTargetTag().(*RoutingRule_BalancingTag); ok {
   568  		return x.BalancingTag
   569  	}
   570  	return ""
   571  }
   572  
   573  func (x *RoutingRule) GetDomain() []*Domain {
   574  	if x != nil {
   575  		return x.Domain
   576  	}
   577  	return nil
   578  }
   579  
   580  // Deprecated: Do not use.
   581  func (x *RoutingRule) GetCidr() []*CIDR {
   582  	if x != nil {
   583  		return x.Cidr
   584  	}
   585  	return nil
   586  }
   587  
   588  func (x *RoutingRule) GetGeoip() []*GeoIP {
   589  	if x != nil {
   590  		return x.Geoip
   591  	}
   592  	return nil
   593  }
   594  
   595  // Deprecated: Do not use.
   596  func (x *RoutingRule) GetPortRange() *net.PortRange {
   597  	if x != nil {
   598  		return x.PortRange
   599  	}
   600  	return nil
   601  }
   602  
   603  func (x *RoutingRule) GetPortList() *net.PortList {
   604  	if x != nil {
   605  		return x.PortList
   606  	}
   607  	return nil
   608  }
   609  
   610  // Deprecated: Do not use.
   611  func (x *RoutingRule) GetNetworkList() *net.NetworkList {
   612  	if x != nil {
   613  		return x.NetworkList
   614  	}
   615  	return nil
   616  }
   617  
   618  func (x *RoutingRule) GetNetworks() []net.Network {
   619  	if x != nil {
   620  		return x.Networks
   621  	}
   622  	return nil
   623  }
   624  
   625  // Deprecated: Do not use.
   626  func (x *RoutingRule) GetSourceCidr() []*CIDR {
   627  	if x != nil {
   628  		return x.SourceCidr
   629  	}
   630  	return nil
   631  }
   632  
   633  func (x *RoutingRule) GetSourceGeoip() []*GeoIP {
   634  	if x != nil {
   635  		return x.SourceGeoip
   636  	}
   637  	return nil
   638  }
   639  
   640  func (x *RoutingRule) GetSourcePortList() *net.PortList {
   641  	if x != nil {
   642  		return x.SourcePortList
   643  	}
   644  	return nil
   645  }
   646  
   647  func (x *RoutingRule) GetUserEmail() []string {
   648  	if x != nil {
   649  		return x.UserEmail
   650  	}
   651  	return nil
   652  }
   653  
   654  func (x *RoutingRule) GetInboundTag() []string {
   655  	if x != nil {
   656  		return x.InboundTag
   657  	}
   658  	return nil
   659  }
   660  
   661  func (x *RoutingRule) GetProtocol() []string {
   662  	if x != nil {
   663  		return x.Protocol
   664  	}
   665  	return nil
   666  }
   667  
   668  func (x *RoutingRule) GetAttributes() string {
   669  	if x != nil {
   670  		return x.Attributes
   671  	}
   672  	return ""
   673  }
   674  
   675  type isRoutingRule_TargetTag interface {
   676  	isRoutingRule_TargetTag()
   677  }
   678  
   679  type RoutingRule_Tag struct {
   680  	// Tag of outbound that this rule is pointing to.
   681  	Tag string `protobuf:"bytes,1,opt,name=tag,proto3,oneof"`
   682  }
   683  
   684  type RoutingRule_BalancingTag struct {
   685  	// Tag of routing balancer.
   686  	BalancingTag string `protobuf:"bytes,12,opt,name=balancing_tag,json=balancingTag,proto3,oneof"`
   687  }
   688  
   689  func (*RoutingRule_Tag) isRoutingRule_TargetTag() {}
   690  
   691  func (*RoutingRule_BalancingTag) isRoutingRule_TargetTag() {}
   692  
   693  type BalancingRule struct {
   694  	state         protoimpl.MessageState
   695  	sizeCache     protoimpl.SizeCache
   696  	unknownFields protoimpl.UnknownFields
   697  
   698  	Tag              string   `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"`
   699  	OutboundSelector []string `protobuf:"bytes,2,rep,name=outbound_selector,json=outboundSelector,proto3" json:"outbound_selector,omitempty"`
   700  }
   701  
   702  func (x *BalancingRule) Reset() {
   703  	*x = BalancingRule{}
   704  	if protoimpl.UnsafeEnabled {
   705  		mi := &file_app_router_config_proto_msgTypes[7]
   706  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   707  		ms.StoreMessageInfo(mi)
   708  	}
   709  }
   710  
   711  func (x *BalancingRule) String() string {
   712  	return protoimpl.X.MessageStringOf(x)
   713  }
   714  
   715  func (*BalancingRule) ProtoMessage() {}
   716  
   717  func (x *BalancingRule) ProtoReflect() protoreflect.Message {
   718  	mi := &file_app_router_config_proto_msgTypes[7]
   719  	if protoimpl.UnsafeEnabled && x != nil {
   720  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   721  		if ms.LoadMessageInfo() == nil {
   722  			ms.StoreMessageInfo(mi)
   723  		}
   724  		return ms
   725  	}
   726  	return mi.MessageOf(x)
   727  }
   728  
   729  // Deprecated: Use BalancingRule.ProtoReflect.Descriptor instead.
   730  func (*BalancingRule) Descriptor() ([]byte, []int) {
   731  	return file_app_router_config_proto_rawDescGZIP(), []int{7}
   732  }
   733  
   734  func (x *BalancingRule) GetTag() string {
   735  	if x != nil {
   736  		return x.Tag
   737  	}
   738  	return ""
   739  }
   740  
   741  func (x *BalancingRule) GetOutboundSelector() []string {
   742  	if x != nil {
   743  		return x.OutboundSelector
   744  	}
   745  	return nil
   746  }
   747  
   748  type Config struct {
   749  	state         protoimpl.MessageState
   750  	sizeCache     protoimpl.SizeCache
   751  	unknownFields protoimpl.UnknownFields
   752  
   753  	DomainStrategy Config_DomainStrategy `protobuf:"varint,1,opt,name=domain_strategy,json=domainStrategy,proto3,enum=v2ray.core.app.router.Config_DomainStrategy" json:"domain_strategy,omitempty"`
   754  	Rule           []*RoutingRule        `protobuf:"bytes,2,rep,name=rule,proto3" json:"rule,omitempty"`
   755  	BalancingRule  []*BalancingRule      `protobuf:"bytes,3,rep,name=balancing_rule,json=balancingRule,proto3" json:"balancing_rule,omitempty"`
   756  }
   757  
   758  func (x *Config) Reset() {
   759  	*x = Config{}
   760  	if protoimpl.UnsafeEnabled {
   761  		mi := &file_app_router_config_proto_msgTypes[8]
   762  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   763  		ms.StoreMessageInfo(mi)
   764  	}
   765  }
   766  
   767  func (x *Config) String() string {
   768  	return protoimpl.X.MessageStringOf(x)
   769  }
   770  
   771  func (*Config) ProtoMessage() {}
   772  
   773  func (x *Config) ProtoReflect() protoreflect.Message {
   774  	mi := &file_app_router_config_proto_msgTypes[8]
   775  	if protoimpl.UnsafeEnabled && x != nil {
   776  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   777  		if ms.LoadMessageInfo() == nil {
   778  			ms.StoreMessageInfo(mi)
   779  		}
   780  		return ms
   781  	}
   782  	return mi.MessageOf(x)
   783  }
   784  
   785  // Deprecated: Use Config.ProtoReflect.Descriptor instead.
   786  func (*Config) Descriptor() ([]byte, []int) {
   787  	return file_app_router_config_proto_rawDescGZIP(), []int{8}
   788  }
   789  
   790  func (x *Config) GetDomainStrategy() Config_DomainStrategy {
   791  	if x != nil {
   792  		return x.DomainStrategy
   793  	}
   794  	return Config_AsIs
   795  }
   796  
   797  func (x *Config) GetRule() []*RoutingRule {
   798  	if x != nil {
   799  		return x.Rule
   800  	}
   801  	return nil
   802  }
   803  
   804  func (x *Config) GetBalancingRule() []*BalancingRule {
   805  	if x != nil {
   806  		return x.BalancingRule
   807  	}
   808  	return nil
   809  }
   810  
   811  type Domain_Attribute struct {
   812  	state         protoimpl.MessageState
   813  	sizeCache     protoimpl.SizeCache
   814  	unknownFields protoimpl.UnknownFields
   815  
   816  	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
   817  	// Types that are assignable to TypedValue:
   818  	//	*Domain_Attribute_BoolValue
   819  	//	*Domain_Attribute_IntValue
   820  	TypedValue isDomain_Attribute_TypedValue `protobuf_oneof:"typed_value"`
   821  }
   822  
   823  func (x *Domain_Attribute) Reset() {
   824  	*x = Domain_Attribute{}
   825  	if protoimpl.UnsafeEnabled {
   826  		mi := &file_app_router_config_proto_msgTypes[9]
   827  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   828  		ms.StoreMessageInfo(mi)
   829  	}
   830  }
   831  
   832  func (x *Domain_Attribute) String() string {
   833  	return protoimpl.X.MessageStringOf(x)
   834  }
   835  
   836  func (*Domain_Attribute) ProtoMessage() {}
   837  
   838  func (x *Domain_Attribute) ProtoReflect() protoreflect.Message {
   839  	mi := &file_app_router_config_proto_msgTypes[9]
   840  	if protoimpl.UnsafeEnabled && x != nil {
   841  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   842  		if ms.LoadMessageInfo() == nil {
   843  			ms.StoreMessageInfo(mi)
   844  		}
   845  		return ms
   846  	}
   847  	return mi.MessageOf(x)
   848  }
   849  
   850  // Deprecated: Use Domain_Attribute.ProtoReflect.Descriptor instead.
   851  func (*Domain_Attribute) Descriptor() ([]byte, []int) {
   852  	return file_app_router_config_proto_rawDescGZIP(), []int{0, 0}
   853  }
   854  
   855  func (x *Domain_Attribute) GetKey() string {
   856  	if x != nil {
   857  		return x.Key
   858  	}
   859  	return ""
   860  }
   861  
   862  func (m *Domain_Attribute) GetTypedValue() isDomain_Attribute_TypedValue {
   863  	if m != nil {
   864  		return m.TypedValue
   865  	}
   866  	return nil
   867  }
   868  
   869  func (x *Domain_Attribute) GetBoolValue() bool {
   870  	if x, ok := x.GetTypedValue().(*Domain_Attribute_BoolValue); ok {
   871  		return x.BoolValue
   872  	}
   873  	return false
   874  }
   875  
   876  func (x *Domain_Attribute) GetIntValue() int64 {
   877  	if x, ok := x.GetTypedValue().(*Domain_Attribute_IntValue); ok {
   878  		return x.IntValue
   879  	}
   880  	return 0
   881  }
   882  
   883  type isDomain_Attribute_TypedValue interface {
   884  	isDomain_Attribute_TypedValue()
   885  }
   886  
   887  type Domain_Attribute_BoolValue struct {
   888  	BoolValue bool `protobuf:"varint,2,opt,name=bool_value,json=boolValue,proto3,oneof"`
   889  }
   890  
   891  type Domain_Attribute_IntValue struct {
   892  	IntValue int64 `protobuf:"varint,3,opt,name=int_value,json=intValue,proto3,oneof"`
   893  }
   894  
   895  func (*Domain_Attribute_BoolValue) isDomain_Attribute_TypedValue() {}
   896  
   897  func (*Domain_Attribute_IntValue) isDomain_Attribute_TypedValue() {}
   898  
   899  var File_app_router_config_proto protoreflect.FileDescriptor
   900  
   901  var file_app_router_config_proto_rawDesc = []byte{
   902  	0x0a, 0x17, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2f, 0x63, 0x6f, 0x6e,
   903  	0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x15, 0x76, 0x32, 0x72, 0x61, 0x79,
   904  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
   905  	0x1a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x70, 0x6f, 0x72,
   906  	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x18, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f,
   907  	0x6e, 0x65, 0x74, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74,
   908  	0x6f, 0x22, 0xbf, 0x02, 0x0a, 0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x36, 0x0a, 0x04,
   909  	0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72,
   910  	0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74,
   911  	0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04,
   912  	0x74, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
   913  	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x45, 0x0a, 0x09, 0x61, 0x74,
   914  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e,
   915  	0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72,
   916  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2e, 0x41, 0x74, 0x74,
   917  	0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x09, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
   918  	0x65, 0x1a, 0x6c, 0x0a, 0x09, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x10,
   919  	0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
   920  	0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
   921  	0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75,
   922  	0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03,
   923  	0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65,
   924  	0x42, 0x0d, 0x0a, 0x0b, 0x74, 0x79, 0x70, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22,
   925  	0x32, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x6c, 0x61, 0x69, 0x6e,
   926  	0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x52, 0x65, 0x67, 0x65, 0x78, 0x10, 0x01, 0x12, 0x0a, 0x0a,
   927  	0x06, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x75, 0x6c,
   928  	0x6c, 0x10, 0x03, 0x22, 0x2e, 0x0a, 0x04, 0x43, 0x49, 0x44, 0x52, 0x12, 0x0e, 0x0a, 0x02, 0x69,
   929  	0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x02, 0x69, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x70,
   930  	0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x70, 0x72, 0x65,
   931  	0x66, 0x69, 0x78, 0x22, 0x5b, 0x0a, 0x05, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x12, 0x21, 0x0a, 0x0c,
   932  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
   933  	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12,
   934  	0x2f, 0x0a, 0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e,
   935  	0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72,
   936  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x52, 0x04, 0x63, 0x69, 0x64, 0x72,
   937  	0x22, 0x3f, 0x0a, 0x09, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x32, 0x0a,
   938  	0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76,
   939  	0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
   940  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72,
   941  	0x79, 0x22, 0x63, 0x0a, 0x07, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74, 0x65, 0x12, 0x21, 0x0a, 0x0c,
   942  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01,
   943  	0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x12,
   944  	0x35, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32,
   945  	0x1d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70,
   946  	0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06,
   947  	0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x22, 0x43, 0x0a, 0x0b, 0x47, 0x65, 0x6f, 0x53, 0x69, 0x74,
   948  	0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x34, 0x0a, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x01,
   949  	0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72,
   950  	0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f,
   951  	0x53, 0x69, 0x74, 0x65, 0x52, 0x05, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0xca, 0x06, 0x0a, 0x0b,
   952  	0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x03, 0x74,
   953  	0x61, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12,
   954  	0x25, 0x0a, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x67,
   955  	0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63,
   956  	0x69, 0x6e, 0x67, 0x54, 0x61, 0x67, 0x12, 0x35, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
   957  	0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63,
   958  	0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x44,
   959  	0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x33, 0x0a,
   960  	0x04, 0x63, 0x69, 0x64, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x32,
   961  	0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75,
   962  	0x74, 0x65, 0x72, 0x2e, 0x43, 0x49, 0x44, 0x52, 0x42, 0x02, 0x18, 0x01, 0x52, 0x04, 0x63, 0x69,
   963  	0x64, 0x72, 0x12, 0x32, 0x0a, 0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x18, 0x0a, 0x20, 0x03, 0x28,
   964  	0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61,
   965  	0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52,
   966  	0x05, 0x67, 0x65, 0x6f, 0x69, 0x70, 0x12, 0x43, 0x0a, 0x0a, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72,
   967  	0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x76, 0x32, 0x72,
   968  	0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e,
   969  	0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x02, 0x18, 0x01,
   970  	0x52, 0x09, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x70,
   971  	0x6f, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f,
   972  	0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d,
   973  	0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52,
   974  	0x08, 0x70, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x49, 0x0a, 0x0c, 0x6e, 0x65, 0x74,
   975  	0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32,
   976  	0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d,
   977  	0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x4c,
   978  	0x69, 0x73, 0x74, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
   979  	0x4c, 0x69, 0x73, 0x74, 0x12, 0x3a, 0x0a, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73,
   980  	0x18, 0x0d, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63,
   981  	0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x4e,
   982  	0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 0x08, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73,
   983  	0x12, 0x40, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x63, 0x69, 0x64, 0x72, 0x18,
   984  	0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f,
   985  	0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x49,
   986  	0x44, 0x52, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x43, 0x69,
   987  	0x64, 0x72, 0x12, 0x3f, 0x0a, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6f,
   988  	0x69, 0x70, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79,
   989  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
   990  	0x2e, 0x47, 0x65, 0x6f, 0x49, 0x50, 0x52, 0x0b, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65,
   991  	0x6f, 0x69, 0x70, 0x12, 0x49, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f,
   992  	0x72, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e,
   993  	0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
   994  	0x6e, 0x2e, 0x6e, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x0e,
   995  	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x72, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1d,
   996  	0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x07, 0x20, 0x03,
   997  	0x28, 0x09, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1f, 0x0a,
   998  	0x0b, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x03,
   999  	0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x54, 0x61, 0x67, 0x12, 0x1a,
  1000  	0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09,
  1001  	0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x74,
  1002  	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
  1003  	0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x74, 0x61,
  1004  	0x72, 0x67, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x22, 0x4e, 0x0a, 0x0d, 0x42, 0x61, 0x6c, 0x61,
  1005  	0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67,
  1006  	0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x2b, 0x0a, 0x11, 0x6f,
  1007  	0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72,
  1008  	0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x75, 0x74, 0x62, 0x6f, 0x75, 0x6e, 0x64,
  1009  	0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0xad, 0x02, 0x0a, 0x06, 0x43, 0x6f, 0x6e,
  1010  	0x66, 0x69, 0x67, 0x12, 0x55, 0x0a, 0x0f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74,
  1011  	0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x76,
  1012  	0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f,
  1013  	0x75, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x6f, 0x6d, 0x61,
  1014  	0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x52, 0x0e, 0x64, 0x6f, 0x6d, 0x61,
  1015  	0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x36, 0x0a, 0x04, 0x72, 0x75,
  1016  	0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x76, 0x32, 0x72, 0x61, 0x79,
  1017  	0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72,
  1018  	0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75,
  1019  	0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x5f,
  1020  	0x72, 0x75, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x76, 0x32, 0x72,
  1021  	0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72, 0x6f, 0x75, 0x74,
  1022  	0x65, 0x72, 0x2e, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
  1023  	0x52, 0x0d, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x22,
  1024  	0x47, 0x0a, 0x0e, 0x44, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67,
  1025  	0x79, 0x12, 0x08, 0x0a, 0x04, 0x41, 0x73, 0x49, 0x73, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x55,
  1026  	0x73, 0x65, 0x49, 0x70, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x49, 0x70, 0x49, 0x66, 0x4e, 0x6f,
  1027  	0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x70, 0x4f, 0x6e,
  1028  	0x44, 0x65, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x03, 0x42, 0x50, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x2e,
  1029  	0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x61, 0x70, 0x70, 0x2e, 0x72,
  1030  	0x6f, 0x75, 0x74, 0x65, 0x72, 0x50, 0x01, 0x5a, 0x19, 0x76, 0x32, 0x72, 0x61, 0x79, 0x2e, 0x63,
  1031  	0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x2f, 0x72, 0x6f, 0x75, 0x74,
  1032  	0x65, 0x72, 0xaa, 0x02, 0x15, 0x56, 0x32, 0x52, 0x61, 0x79, 0x2e, 0x43, 0x6f, 0x72, 0x65, 0x2e,
  1033  	0x41, 0x70, 0x70, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
  1034  	0x6f, 0x33,
  1035  }
  1036  
  1037  var (
  1038  	file_app_router_config_proto_rawDescOnce sync.Once
  1039  	file_app_router_config_proto_rawDescData = file_app_router_config_proto_rawDesc
  1040  )
  1041  
  1042  func file_app_router_config_proto_rawDescGZIP() []byte {
  1043  	file_app_router_config_proto_rawDescOnce.Do(func() {
  1044  		file_app_router_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_app_router_config_proto_rawDescData)
  1045  	})
  1046  	return file_app_router_config_proto_rawDescData
  1047  }
  1048  
  1049  var file_app_router_config_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
  1050  var file_app_router_config_proto_msgTypes = make([]protoimpl.MessageInfo, 10)
  1051  var file_app_router_config_proto_goTypes = []interface{}{
  1052  	(Domain_Type)(0),           // 0: v2ray.core.app.router.Domain.Type
  1053  	(Config_DomainStrategy)(0), // 1: v2ray.core.app.router.Config.DomainStrategy
  1054  	(*Domain)(nil),             // 2: v2ray.core.app.router.Domain
  1055  	(*CIDR)(nil),               // 3: v2ray.core.app.router.CIDR
  1056  	(*GeoIP)(nil),              // 4: v2ray.core.app.router.GeoIP
  1057  	(*GeoIPList)(nil),          // 5: v2ray.core.app.router.GeoIPList
  1058  	(*GeoSite)(nil),            // 6: v2ray.core.app.router.GeoSite
  1059  	(*GeoSiteList)(nil),        // 7: v2ray.core.app.router.GeoSiteList
  1060  	(*RoutingRule)(nil),        // 8: v2ray.core.app.router.RoutingRule
  1061  	(*BalancingRule)(nil),      // 9: v2ray.core.app.router.BalancingRule
  1062  	(*Config)(nil),             // 10: v2ray.core.app.router.Config
  1063  	(*Domain_Attribute)(nil),   // 11: v2ray.core.app.router.Domain.Attribute
  1064  	(*net.PortRange)(nil),      // 12: v2ray.core.common.net.PortRange
  1065  	(*net.PortList)(nil),       // 13: v2ray.core.common.net.PortList
  1066  	(*net.NetworkList)(nil),    // 14: v2ray.core.common.net.NetworkList
  1067  	(net.Network)(0),           // 15: v2ray.core.common.net.Network
  1068  }
  1069  var file_app_router_config_proto_depIdxs = []int32{
  1070  	0,  // 0: v2ray.core.app.router.Domain.type:type_name -> v2ray.core.app.router.Domain.Type
  1071  	11, // 1: v2ray.core.app.router.Domain.attribute:type_name -> v2ray.core.app.router.Domain.Attribute
  1072  	3,  // 2: v2ray.core.app.router.GeoIP.cidr:type_name -> v2ray.core.app.router.CIDR
  1073  	4,  // 3: v2ray.core.app.router.GeoIPList.entry:type_name -> v2ray.core.app.router.GeoIP
  1074  	2,  // 4: v2ray.core.app.router.GeoSite.domain:type_name -> v2ray.core.app.router.Domain
  1075  	6,  // 5: v2ray.core.app.router.GeoSiteList.entry:type_name -> v2ray.core.app.router.GeoSite
  1076  	2,  // 6: v2ray.core.app.router.RoutingRule.domain:type_name -> v2ray.core.app.router.Domain
  1077  	3,  // 7: v2ray.core.app.router.RoutingRule.cidr:type_name -> v2ray.core.app.router.CIDR
  1078  	4,  // 8: v2ray.core.app.router.RoutingRule.geoip:type_name -> v2ray.core.app.router.GeoIP
  1079  	12, // 9: v2ray.core.app.router.RoutingRule.port_range:type_name -> v2ray.core.common.net.PortRange
  1080  	13, // 10: v2ray.core.app.router.RoutingRule.port_list:type_name -> v2ray.core.common.net.PortList
  1081  	14, // 11: v2ray.core.app.router.RoutingRule.network_list:type_name -> v2ray.core.common.net.NetworkList
  1082  	15, // 12: v2ray.core.app.router.RoutingRule.networks:type_name -> v2ray.core.common.net.Network
  1083  	3,  // 13: v2ray.core.app.router.RoutingRule.source_cidr:type_name -> v2ray.core.app.router.CIDR
  1084  	4,  // 14: v2ray.core.app.router.RoutingRule.source_geoip:type_name -> v2ray.core.app.router.GeoIP
  1085  	13, // 15: v2ray.core.app.router.RoutingRule.source_port_list:type_name -> v2ray.core.common.net.PortList
  1086  	1,  // 16: v2ray.core.app.router.Config.domain_strategy:type_name -> v2ray.core.app.router.Config.DomainStrategy
  1087  	8,  // 17: v2ray.core.app.router.Config.rule:type_name -> v2ray.core.app.router.RoutingRule
  1088  	9,  // 18: v2ray.core.app.router.Config.balancing_rule:type_name -> v2ray.core.app.router.BalancingRule
  1089  	19, // [19:19] is the sub-list for method output_type
  1090  	19, // [19:19] is the sub-list for method input_type
  1091  	19, // [19:19] is the sub-list for extension type_name
  1092  	19, // [19:19] is the sub-list for extension extendee
  1093  	0,  // [0:19] is the sub-list for field type_name
  1094  }
  1095  
  1096  func init() { file_app_router_config_proto_init() }
  1097  func file_app_router_config_proto_init() {
  1098  	if File_app_router_config_proto != nil {
  1099  		return
  1100  	}
  1101  	if !protoimpl.UnsafeEnabled {
  1102  		file_app_router_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
  1103  			switch v := v.(*Domain); i {
  1104  			case 0:
  1105  				return &v.state
  1106  			case 1:
  1107  				return &v.sizeCache
  1108  			case 2:
  1109  				return &v.unknownFields
  1110  			default:
  1111  				return nil
  1112  			}
  1113  		}
  1114  		file_app_router_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
  1115  			switch v := v.(*CIDR); i {
  1116  			case 0:
  1117  				return &v.state
  1118  			case 1:
  1119  				return &v.sizeCache
  1120  			case 2:
  1121  				return &v.unknownFields
  1122  			default:
  1123  				return nil
  1124  			}
  1125  		}
  1126  		file_app_router_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
  1127  			switch v := v.(*GeoIP); i {
  1128  			case 0:
  1129  				return &v.state
  1130  			case 1:
  1131  				return &v.sizeCache
  1132  			case 2:
  1133  				return &v.unknownFields
  1134  			default:
  1135  				return nil
  1136  			}
  1137  		}
  1138  		file_app_router_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
  1139  			switch v := v.(*GeoIPList); i {
  1140  			case 0:
  1141  				return &v.state
  1142  			case 1:
  1143  				return &v.sizeCache
  1144  			case 2:
  1145  				return &v.unknownFields
  1146  			default:
  1147  				return nil
  1148  			}
  1149  		}
  1150  		file_app_router_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
  1151  			switch v := v.(*GeoSite); i {
  1152  			case 0:
  1153  				return &v.state
  1154  			case 1:
  1155  				return &v.sizeCache
  1156  			case 2:
  1157  				return &v.unknownFields
  1158  			default:
  1159  				return nil
  1160  			}
  1161  		}
  1162  		file_app_router_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
  1163  			switch v := v.(*GeoSiteList); i {
  1164  			case 0:
  1165  				return &v.state
  1166  			case 1:
  1167  				return &v.sizeCache
  1168  			case 2:
  1169  				return &v.unknownFields
  1170  			default:
  1171  				return nil
  1172  			}
  1173  		}
  1174  		file_app_router_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
  1175  			switch v := v.(*RoutingRule); i {
  1176  			case 0:
  1177  				return &v.state
  1178  			case 1:
  1179  				return &v.sizeCache
  1180  			case 2:
  1181  				return &v.unknownFields
  1182  			default:
  1183  				return nil
  1184  			}
  1185  		}
  1186  		file_app_router_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1187  			switch v := v.(*BalancingRule); i {
  1188  			case 0:
  1189  				return &v.state
  1190  			case 1:
  1191  				return &v.sizeCache
  1192  			case 2:
  1193  				return &v.unknownFields
  1194  			default:
  1195  				return nil
  1196  			}
  1197  		}
  1198  		file_app_router_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
  1199  			switch v := v.(*Config); i {
  1200  			case 0:
  1201  				return &v.state
  1202  			case 1:
  1203  				return &v.sizeCache
  1204  			case 2:
  1205  				return &v.unknownFields
  1206  			default:
  1207  				return nil
  1208  			}
  1209  		}
  1210  		file_app_router_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
  1211  			switch v := v.(*Domain_Attribute); i {
  1212  			case 0:
  1213  				return &v.state
  1214  			case 1:
  1215  				return &v.sizeCache
  1216  			case 2:
  1217  				return &v.unknownFields
  1218  			default:
  1219  				return nil
  1220  			}
  1221  		}
  1222  	}
  1223  	file_app_router_config_proto_msgTypes[6].OneofWrappers = []interface{}{
  1224  		(*RoutingRule_Tag)(nil),
  1225  		(*RoutingRule_BalancingTag)(nil),
  1226  	}
  1227  	file_app_router_config_proto_msgTypes[9].OneofWrappers = []interface{}{
  1228  		(*Domain_Attribute_BoolValue)(nil),
  1229  		(*Domain_Attribute_IntValue)(nil),
  1230  	}
  1231  	type x struct{}
  1232  	out := protoimpl.TypeBuilder{
  1233  		File: protoimpl.DescBuilder{
  1234  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1235  			RawDescriptor: file_app_router_config_proto_rawDesc,
  1236  			NumEnums:      2,
  1237  			NumMessages:   10,
  1238  			NumExtensions: 0,
  1239  			NumServices:   0,
  1240  		},
  1241  		GoTypes:           file_app_router_config_proto_goTypes,
  1242  		DependencyIndexes: file_app_router_config_proto_depIdxs,
  1243  		EnumInfos:         file_app_router_config_proto_enumTypes,
  1244  		MessageInfos:      file_app_router_config_proto_msgTypes,
  1245  	}.Build()
  1246  	File_app_router_config_proto = out.File
  1247  	file_app_router_config_proto_rawDesc = nil
  1248  	file_app_router_config_proto_goTypes = nil
  1249  	file_app_router_config_proto_depIdxs = nil
  1250  }