1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/api/expr/v1alpha1/checked.proto 3 4package expr 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 empty "github.com/golang/protobuf/ptypes/empty" 12 _struct "github.com/golang/protobuf/ptypes/struct" 13) 14 15// Reference imports to suppress errors if they are not otherwise used. 16var _ = proto.Marshal 17var _ = fmt.Errorf 18var _ = math.Inf 19 20// This is a compile-time assertion to ensure that this generated file 21// is compatible with the proto package it is being compiled against. 22// A compilation error at this line likely means your copy of the 23// proto package needs to be updated. 24const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 25 26// CEL primitive types. 27type Type_PrimitiveType int32 28 29const ( 30 // Unspecified type. 31 Type_PRIMITIVE_TYPE_UNSPECIFIED Type_PrimitiveType = 0 32 // Boolean type. 33 Type_BOOL Type_PrimitiveType = 1 34 // Int64 type. 35 // 36 // Proto-based integer values are widened to int64. 37 Type_INT64 Type_PrimitiveType = 2 38 // Uint64 type. 39 // 40 // Proto-based unsigned integer values are widened to uint64. 41 Type_UINT64 Type_PrimitiveType = 3 42 // Double type. 43 // 44 // Proto-based float values are widened to double values. 45 Type_DOUBLE Type_PrimitiveType = 4 46 // String type. 47 Type_STRING Type_PrimitiveType = 5 48 // Bytes type. 49 Type_BYTES Type_PrimitiveType = 6 50) 51 52var Type_PrimitiveType_name = map[int32]string{ 53 0: "PRIMITIVE_TYPE_UNSPECIFIED", 54 1: "BOOL", 55 2: "INT64", 56 3: "UINT64", 57 4: "DOUBLE", 58 5: "STRING", 59 6: "BYTES", 60} 61 62var Type_PrimitiveType_value = map[string]int32{ 63 "PRIMITIVE_TYPE_UNSPECIFIED": 0, 64 "BOOL": 1, 65 "INT64": 2, 66 "UINT64": 3, 67 "DOUBLE": 4, 68 "STRING": 5, 69 "BYTES": 6, 70} 71 72func (x Type_PrimitiveType) String() string { 73 return proto.EnumName(Type_PrimitiveType_name, int32(x)) 74} 75 76func (Type_PrimitiveType) EnumDescriptor() ([]byte, []int) { 77 return fileDescriptor_30a741de3e790389, []int{1, 0} 78} 79 80// Well-known protobuf types treated with first-class support in CEL. 81type Type_WellKnownType int32 82 83const ( 84 // Unspecified type. 85 Type_WELL_KNOWN_TYPE_UNSPECIFIED Type_WellKnownType = 0 86 // Well-known protobuf.Any type. 87 // 88 // Any types are a polymorphic message type. During type-checking they are 89 // treated like `DYN` types, but at runtime they are resolved to a specific 90 // message type specified at evaluation time. 91 Type_ANY Type_WellKnownType = 1 92 // Well-known protobuf.Timestamp type, internally referenced as `timestamp`. 93 Type_TIMESTAMP Type_WellKnownType = 2 94 // Well-known protobuf.Duration type, internally referenced as `duration`. 95 Type_DURATION Type_WellKnownType = 3 96) 97 98var Type_WellKnownType_name = map[int32]string{ 99 0: "WELL_KNOWN_TYPE_UNSPECIFIED", 100 1: "ANY", 101 2: "TIMESTAMP", 102 3: "DURATION", 103} 104 105var Type_WellKnownType_value = map[string]int32{ 106 "WELL_KNOWN_TYPE_UNSPECIFIED": 0, 107 "ANY": 1, 108 "TIMESTAMP": 2, 109 "DURATION": 3, 110} 111 112func (x Type_WellKnownType) String() string { 113 return proto.EnumName(Type_WellKnownType_name, int32(x)) 114} 115 116func (Type_WellKnownType) EnumDescriptor() ([]byte, []int) { 117 return fileDescriptor_30a741de3e790389, []int{1, 1} 118} 119 120// A CEL expression which has been successfully type checked. 121type CheckedExpr struct { 122 // A map from expression ids to resolved references. 123 // 124 // The following entries are in this table: 125 // 126 // - An Ident or Select expression is represented here if it resolves to a 127 // declaration. For instance, if `a.b.c` is represented by 128 // `select(select(id(a), b), c)`, and `a.b` resolves to a declaration, 129 // while `c` is a field selection, then the reference is attached to the 130 // nested select expression (but not to the id or or the outer select). 131 // In turn, if `a` resolves to a declaration and `b.c` are field selections, 132 // the reference is attached to the ident expression. 133 // - Every Call expression has an entry here, identifying the function being 134 // called. 135 // - Every CreateStruct expression for a message has an entry, identifying 136 // the message. 137 ReferenceMap map[int64]*Reference `protobuf:"bytes,2,rep,name=reference_map,json=referenceMap,proto3" json:"reference_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 138 // A map from expression ids to types. 139 // 140 // Every expression node which has a type different than DYN has a mapping 141 // here. If an expression has type DYN, it is omitted from this map to save 142 // space. 143 TypeMap map[int64]*Type `protobuf:"bytes,3,rep,name=type_map,json=typeMap,proto3" json:"type_map,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 144 // The source info derived from input that generated the parsed `expr` and 145 // any optimizations made during the type-checking pass. 146 SourceInfo *SourceInfo `protobuf:"bytes,5,opt,name=source_info,json=sourceInfo,proto3" json:"source_info,omitempty"` 147 // The checked expression. Semantically equivalent to the parsed `expr`, but 148 // may have structural differences. 149 Expr *Expr `protobuf:"bytes,4,opt,name=expr,proto3" json:"expr,omitempty"` 150 XXX_NoUnkeyedLiteral struct{} `json:"-"` 151 XXX_unrecognized []byte `json:"-"` 152 XXX_sizecache int32 `json:"-"` 153} 154 155func (m *CheckedExpr) Reset() { *m = CheckedExpr{} } 156func (m *CheckedExpr) String() string { return proto.CompactTextString(m) } 157func (*CheckedExpr) ProtoMessage() {} 158func (*CheckedExpr) Descriptor() ([]byte, []int) { 159 return fileDescriptor_30a741de3e790389, []int{0} 160} 161 162func (m *CheckedExpr) XXX_Unmarshal(b []byte) error { 163 return xxx_messageInfo_CheckedExpr.Unmarshal(m, b) 164} 165func (m *CheckedExpr) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 166 return xxx_messageInfo_CheckedExpr.Marshal(b, m, deterministic) 167} 168func (m *CheckedExpr) XXX_Merge(src proto.Message) { 169 xxx_messageInfo_CheckedExpr.Merge(m, src) 170} 171func (m *CheckedExpr) XXX_Size() int { 172 return xxx_messageInfo_CheckedExpr.Size(m) 173} 174func (m *CheckedExpr) XXX_DiscardUnknown() { 175 xxx_messageInfo_CheckedExpr.DiscardUnknown(m) 176} 177 178var xxx_messageInfo_CheckedExpr proto.InternalMessageInfo 179 180func (m *CheckedExpr) GetReferenceMap() map[int64]*Reference { 181 if m != nil { 182 return m.ReferenceMap 183 } 184 return nil 185} 186 187func (m *CheckedExpr) GetTypeMap() map[int64]*Type { 188 if m != nil { 189 return m.TypeMap 190 } 191 return nil 192} 193 194func (m *CheckedExpr) GetSourceInfo() *SourceInfo { 195 if m != nil { 196 return m.SourceInfo 197 } 198 return nil 199} 200 201func (m *CheckedExpr) GetExpr() *Expr { 202 if m != nil { 203 return m.Expr 204 } 205 return nil 206} 207 208// Represents a CEL type. 209type Type struct { 210 // The kind of type. 211 // 212 // Types that are valid to be assigned to TypeKind: 213 // *Type_Dyn 214 // *Type_Null 215 // *Type_Primitive 216 // *Type_Wrapper 217 // *Type_WellKnown 218 // *Type_ListType_ 219 // *Type_MapType_ 220 // *Type_Function 221 // *Type_MessageType 222 // *Type_TypeParam 223 // *Type_Type 224 // *Type_Error 225 // *Type_AbstractType_ 226 TypeKind isType_TypeKind `protobuf_oneof:"type_kind"` 227 XXX_NoUnkeyedLiteral struct{} `json:"-"` 228 XXX_unrecognized []byte `json:"-"` 229 XXX_sizecache int32 `json:"-"` 230} 231 232func (m *Type) Reset() { *m = Type{} } 233func (m *Type) String() string { return proto.CompactTextString(m) } 234func (*Type) ProtoMessage() {} 235func (*Type) Descriptor() ([]byte, []int) { 236 return fileDescriptor_30a741de3e790389, []int{1} 237} 238 239func (m *Type) XXX_Unmarshal(b []byte) error { 240 return xxx_messageInfo_Type.Unmarshal(m, b) 241} 242func (m *Type) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 243 return xxx_messageInfo_Type.Marshal(b, m, deterministic) 244} 245func (m *Type) XXX_Merge(src proto.Message) { 246 xxx_messageInfo_Type.Merge(m, src) 247} 248func (m *Type) XXX_Size() int { 249 return xxx_messageInfo_Type.Size(m) 250} 251func (m *Type) XXX_DiscardUnknown() { 252 xxx_messageInfo_Type.DiscardUnknown(m) 253} 254 255var xxx_messageInfo_Type proto.InternalMessageInfo 256 257type isType_TypeKind interface { 258 isType_TypeKind() 259} 260 261type Type_Dyn struct { 262 Dyn *empty.Empty `protobuf:"bytes,1,opt,name=dyn,proto3,oneof"` 263} 264 265type Type_Null struct { 266 Null _struct.NullValue `protobuf:"varint,2,opt,name=null,proto3,enum=google.protobuf.NullValue,oneof"` 267} 268 269type Type_Primitive struct { 270 Primitive Type_PrimitiveType `protobuf:"varint,3,opt,name=primitive,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"` 271} 272 273type Type_Wrapper struct { 274 Wrapper Type_PrimitiveType `protobuf:"varint,4,opt,name=wrapper,proto3,enum=google.api.expr.v1alpha1.Type_PrimitiveType,oneof"` 275} 276 277type Type_WellKnown struct { 278 WellKnown Type_WellKnownType `protobuf:"varint,5,opt,name=well_known,json=wellKnown,proto3,enum=google.api.expr.v1alpha1.Type_WellKnownType,oneof"` 279} 280 281type Type_ListType_ struct { 282 ListType *Type_ListType `protobuf:"bytes,6,opt,name=list_type,json=listType,proto3,oneof"` 283} 284 285type Type_MapType_ struct { 286 MapType *Type_MapType `protobuf:"bytes,7,opt,name=map_type,json=mapType,proto3,oneof"` 287} 288 289type Type_Function struct { 290 Function *Type_FunctionType `protobuf:"bytes,8,opt,name=function,proto3,oneof"` 291} 292 293type Type_MessageType struct { 294 MessageType string `protobuf:"bytes,9,opt,name=message_type,json=messageType,proto3,oneof"` 295} 296 297type Type_TypeParam struct { 298 TypeParam string `protobuf:"bytes,10,opt,name=type_param,json=typeParam,proto3,oneof"` 299} 300 301type Type_Type struct { 302 Type *Type `protobuf:"bytes,11,opt,name=type,proto3,oneof"` 303} 304 305type Type_Error struct { 306 Error *empty.Empty `protobuf:"bytes,12,opt,name=error,proto3,oneof"` 307} 308 309type Type_AbstractType_ struct { 310 AbstractType *Type_AbstractType `protobuf:"bytes,14,opt,name=abstract_type,json=abstractType,proto3,oneof"` 311} 312 313func (*Type_Dyn) isType_TypeKind() {} 314 315func (*Type_Null) isType_TypeKind() {} 316 317func (*Type_Primitive) isType_TypeKind() {} 318 319func (*Type_Wrapper) isType_TypeKind() {} 320 321func (*Type_WellKnown) isType_TypeKind() {} 322 323func (*Type_ListType_) isType_TypeKind() {} 324 325func (*Type_MapType_) isType_TypeKind() {} 326 327func (*Type_Function) isType_TypeKind() {} 328 329func (*Type_MessageType) isType_TypeKind() {} 330 331func (*Type_TypeParam) isType_TypeKind() {} 332 333func (*Type_Type) isType_TypeKind() {} 334 335func (*Type_Error) isType_TypeKind() {} 336 337func (*Type_AbstractType_) isType_TypeKind() {} 338 339func (m *Type) GetTypeKind() isType_TypeKind { 340 if m != nil { 341 return m.TypeKind 342 } 343 return nil 344} 345 346func (m *Type) GetDyn() *empty.Empty { 347 if x, ok := m.GetTypeKind().(*Type_Dyn); ok { 348 return x.Dyn 349 } 350 return nil 351} 352 353func (m *Type) GetNull() _struct.NullValue { 354 if x, ok := m.GetTypeKind().(*Type_Null); ok { 355 return x.Null 356 } 357 return _struct.NullValue_NULL_VALUE 358} 359 360func (m *Type) GetPrimitive() Type_PrimitiveType { 361 if x, ok := m.GetTypeKind().(*Type_Primitive); ok { 362 return x.Primitive 363 } 364 return Type_PRIMITIVE_TYPE_UNSPECIFIED 365} 366 367func (m *Type) GetWrapper() Type_PrimitiveType { 368 if x, ok := m.GetTypeKind().(*Type_Wrapper); ok { 369 return x.Wrapper 370 } 371 return Type_PRIMITIVE_TYPE_UNSPECIFIED 372} 373 374func (m *Type) GetWellKnown() Type_WellKnownType { 375 if x, ok := m.GetTypeKind().(*Type_WellKnown); ok { 376 return x.WellKnown 377 } 378 return Type_WELL_KNOWN_TYPE_UNSPECIFIED 379} 380 381func (m *Type) GetListType() *Type_ListType { 382 if x, ok := m.GetTypeKind().(*Type_ListType_); ok { 383 return x.ListType 384 } 385 return nil 386} 387 388func (m *Type) GetMapType() *Type_MapType { 389 if x, ok := m.GetTypeKind().(*Type_MapType_); ok { 390 return x.MapType 391 } 392 return nil 393} 394 395func (m *Type) GetFunction() *Type_FunctionType { 396 if x, ok := m.GetTypeKind().(*Type_Function); ok { 397 return x.Function 398 } 399 return nil 400} 401 402func (m *Type) GetMessageType() string { 403 if x, ok := m.GetTypeKind().(*Type_MessageType); ok { 404 return x.MessageType 405 } 406 return "" 407} 408 409func (m *Type) GetTypeParam() string { 410 if x, ok := m.GetTypeKind().(*Type_TypeParam); ok { 411 return x.TypeParam 412 } 413 return "" 414} 415 416func (m *Type) GetType() *Type { 417 if x, ok := m.GetTypeKind().(*Type_Type); ok { 418 return x.Type 419 } 420 return nil 421} 422 423func (m *Type) GetError() *empty.Empty { 424 if x, ok := m.GetTypeKind().(*Type_Error); ok { 425 return x.Error 426 } 427 return nil 428} 429 430func (m *Type) GetAbstractType() *Type_AbstractType { 431 if x, ok := m.GetTypeKind().(*Type_AbstractType_); ok { 432 return x.AbstractType 433 } 434 return nil 435} 436 437// XXX_OneofWrappers is for the internal use of the proto package. 438func (*Type) XXX_OneofWrappers() []interface{} { 439 return []interface{}{ 440 (*Type_Dyn)(nil), 441 (*Type_Null)(nil), 442 (*Type_Primitive)(nil), 443 (*Type_Wrapper)(nil), 444 (*Type_WellKnown)(nil), 445 (*Type_ListType_)(nil), 446 (*Type_MapType_)(nil), 447 (*Type_Function)(nil), 448 (*Type_MessageType)(nil), 449 (*Type_TypeParam)(nil), 450 (*Type_Type)(nil), 451 (*Type_Error)(nil), 452 (*Type_AbstractType_)(nil), 453 } 454} 455 456// List type with typed elements, e.g. `list<example.proto.MyMessage>`. 457type Type_ListType struct { 458 // The element type. 459 ElemType *Type `protobuf:"bytes,1,opt,name=elem_type,json=elemType,proto3" json:"elem_type,omitempty"` 460 XXX_NoUnkeyedLiteral struct{} `json:"-"` 461 XXX_unrecognized []byte `json:"-"` 462 XXX_sizecache int32 `json:"-"` 463} 464 465func (m *Type_ListType) Reset() { *m = Type_ListType{} } 466func (m *Type_ListType) String() string { return proto.CompactTextString(m) } 467func (*Type_ListType) ProtoMessage() {} 468func (*Type_ListType) Descriptor() ([]byte, []int) { 469 return fileDescriptor_30a741de3e790389, []int{1, 0} 470} 471 472func (m *Type_ListType) XXX_Unmarshal(b []byte) error { 473 return xxx_messageInfo_Type_ListType.Unmarshal(m, b) 474} 475func (m *Type_ListType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 476 return xxx_messageInfo_Type_ListType.Marshal(b, m, deterministic) 477} 478func (m *Type_ListType) XXX_Merge(src proto.Message) { 479 xxx_messageInfo_Type_ListType.Merge(m, src) 480} 481func (m *Type_ListType) XXX_Size() int { 482 return xxx_messageInfo_Type_ListType.Size(m) 483} 484func (m *Type_ListType) XXX_DiscardUnknown() { 485 xxx_messageInfo_Type_ListType.DiscardUnknown(m) 486} 487 488var xxx_messageInfo_Type_ListType proto.InternalMessageInfo 489 490func (m *Type_ListType) GetElemType() *Type { 491 if m != nil { 492 return m.ElemType 493 } 494 return nil 495} 496 497// Map type with parameterized key and value types, e.g. `map<string, int>`. 498type Type_MapType struct { 499 // The type of the key. 500 KeyType *Type `protobuf:"bytes,1,opt,name=key_type,json=keyType,proto3" json:"key_type,omitempty"` 501 // The type of the value. 502 ValueType *Type `protobuf:"bytes,2,opt,name=value_type,json=valueType,proto3" json:"value_type,omitempty"` 503 XXX_NoUnkeyedLiteral struct{} `json:"-"` 504 XXX_unrecognized []byte `json:"-"` 505 XXX_sizecache int32 `json:"-"` 506} 507 508func (m *Type_MapType) Reset() { *m = Type_MapType{} } 509func (m *Type_MapType) String() string { return proto.CompactTextString(m) } 510func (*Type_MapType) ProtoMessage() {} 511func (*Type_MapType) Descriptor() ([]byte, []int) { 512 return fileDescriptor_30a741de3e790389, []int{1, 1} 513} 514 515func (m *Type_MapType) XXX_Unmarshal(b []byte) error { 516 return xxx_messageInfo_Type_MapType.Unmarshal(m, b) 517} 518func (m *Type_MapType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 519 return xxx_messageInfo_Type_MapType.Marshal(b, m, deterministic) 520} 521func (m *Type_MapType) XXX_Merge(src proto.Message) { 522 xxx_messageInfo_Type_MapType.Merge(m, src) 523} 524func (m *Type_MapType) XXX_Size() int { 525 return xxx_messageInfo_Type_MapType.Size(m) 526} 527func (m *Type_MapType) XXX_DiscardUnknown() { 528 xxx_messageInfo_Type_MapType.DiscardUnknown(m) 529} 530 531var xxx_messageInfo_Type_MapType proto.InternalMessageInfo 532 533func (m *Type_MapType) GetKeyType() *Type { 534 if m != nil { 535 return m.KeyType 536 } 537 return nil 538} 539 540func (m *Type_MapType) GetValueType() *Type { 541 if m != nil { 542 return m.ValueType 543 } 544 return nil 545} 546 547// Function type with result and arg types. 548type Type_FunctionType struct { 549 // Result type of the function. 550 ResultType *Type `protobuf:"bytes,1,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` 551 // Argument types of the function. 552 ArgTypes []*Type `protobuf:"bytes,2,rep,name=arg_types,json=argTypes,proto3" json:"arg_types,omitempty"` 553 XXX_NoUnkeyedLiteral struct{} `json:"-"` 554 XXX_unrecognized []byte `json:"-"` 555 XXX_sizecache int32 `json:"-"` 556} 557 558func (m *Type_FunctionType) Reset() { *m = Type_FunctionType{} } 559func (m *Type_FunctionType) String() string { return proto.CompactTextString(m) } 560func (*Type_FunctionType) ProtoMessage() {} 561func (*Type_FunctionType) Descriptor() ([]byte, []int) { 562 return fileDescriptor_30a741de3e790389, []int{1, 2} 563} 564 565func (m *Type_FunctionType) XXX_Unmarshal(b []byte) error { 566 return xxx_messageInfo_Type_FunctionType.Unmarshal(m, b) 567} 568func (m *Type_FunctionType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 569 return xxx_messageInfo_Type_FunctionType.Marshal(b, m, deterministic) 570} 571func (m *Type_FunctionType) XXX_Merge(src proto.Message) { 572 xxx_messageInfo_Type_FunctionType.Merge(m, src) 573} 574func (m *Type_FunctionType) XXX_Size() int { 575 return xxx_messageInfo_Type_FunctionType.Size(m) 576} 577func (m *Type_FunctionType) XXX_DiscardUnknown() { 578 xxx_messageInfo_Type_FunctionType.DiscardUnknown(m) 579} 580 581var xxx_messageInfo_Type_FunctionType proto.InternalMessageInfo 582 583func (m *Type_FunctionType) GetResultType() *Type { 584 if m != nil { 585 return m.ResultType 586 } 587 return nil 588} 589 590func (m *Type_FunctionType) GetArgTypes() []*Type { 591 if m != nil { 592 return m.ArgTypes 593 } 594 return nil 595} 596 597// Application defined abstract type. 598type Type_AbstractType struct { 599 // The fully qualified name of this abstract type. 600 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 601 // Parameter types for this abstract type. 602 ParameterTypes []*Type `protobuf:"bytes,2,rep,name=parameter_types,json=parameterTypes,proto3" json:"parameter_types,omitempty"` 603 XXX_NoUnkeyedLiteral struct{} `json:"-"` 604 XXX_unrecognized []byte `json:"-"` 605 XXX_sizecache int32 `json:"-"` 606} 607 608func (m *Type_AbstractType) Reset() { *m = Type_AbstractType{} } 609func (m *Type_AbstractType) String() string { return proto.CompactTextString(m) } 610func (*Type_AbstractType) ProtoMessage() {} 611func (*Type_AbstractType) Descriptor() ([]byte, []int) { 612 return fileDescriptor_30a741de3e790389, []int{1, 3} 613} 614 615func (m *Type_AbstractType) XXX_Unmarshal(b []byte) error { 616 return xxx_messageInfo_Type_AbstractType.Unmarshal(m, b) 617} 618func (m *Type_AbstractType) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 619 return xxx_messageInfo_Type_AbstractType.Marshal(b, m, deterministic) 620} 621func (m *Type_AbstractType) XXX_Merge(src proto.Message) { 622 xxx_messageInfo_Type_AbstractType.Merge(m, src) 623} 624func (m *Type_AbstractType) XXX_Size() int { 625 return xxx_messageInfo_Type_AbstractType.Size(m) 626} 627func (m *Type_AbstractType) XXX_DiscardUnknown() { 628 xxx_messageInfo_Type_AbstractType.DiscardUnknown(m) 629} 630 631var xxx_messageInfo_Type_AbstractType proto.InternalMessageInfo 632 633func (m *Type_AbstractType) GetName() string { 634 if m != nil { 635 return m.Name 636 } 637 return "" 638} 639 640func (m *Type_AbstractType) GetParameterTypes() []*Type { 641 if m != nil { 642 return m.ParameterTypes 643 } 644 return nil 645} 646 647// Represents a declaration of a named value or function. 648// 649// A declaration is part of the contract between the expression, the agent 650// evaluating that expression, and the caller requesting evaluation. 651type Decl struct { 652 // The fully qualified name of the declaration. 653 // 654 // Declarations are organized in containers and this represents the full path 655 // to the declaration in its container, as in `google.api.expr.Decl`. 656 // 657 // Declarations used as 658 // [FunctionDecl.Overload][google.api.expr.v1alpha1.Decl.FunctionDecl.Overload] 659 // parameters may or may not have a name depending on whether the overload is 660 // function declaration or a function definition containing a result 661 // [Expr][google.api.expr.v1alpha1.Expr]. 662 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 663 // Required. The declaration kind. 664 // 665 // Types that are valid to be assigned to DeclKind: 666 // *Decl_Ident 667 // *Decl_Function 668 DeclKind isDecl_DeclKind `protobuf_oneof:"decl_kind"` 669 XXX_NoUnkeyedLiteral struct{} `json:"-"` 670 XXX_unrecognized []byte `json:"-"` 671 XXX_sizecache int32 `json:"-"` 672} 673 674func (m *Decl) Reset() { *m = Decl{} } 675func (m *Decl) String() string { return proto.CompactTextString(m) } 676func (*Decl) ProtoMessage() {} 677func (*Decl) Descriptor() ([]byte, []int) { 678 return fileDescriptor_30a741de3e790389, []int{2} 679} 680 681func (m *Decl) XXX_Unmarshal(b []byte) error { 682 return xxx_messageInfo_Decl.Unmarshal(m, b) 683} 684func (m *Decl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 685 return xxx_messageInfo_Decl.Marshal(b, m, deterministic) 686} 687func (m *Decl) XXX_Merge(src proto.Message) { 688 xxx_messageInfo_Decl.Merge(m, src) 689} 690func (m *Decl) XXX_Size() int { 691 return xxx_messageInfo_Decl.Size(m) 692} 693func (m *Decl) XXX_DiscardUnknown() { 694 xxx_messageInfo_Decl.DiscardUnknown(m) 695} 696 697var xxx_messageInfo_Decl proto.InternalMessageInfo 698 699func (m *Decl) GetName() string { 700 if m != nil { 701 return m.Name 702 } 703 return "" 704} 705 706type isDecl_DeclKind interface { 707 isDecl_DeclKind() 708} 709 710type Decl_Ident struct { 711 Ident *Decl_IdentDecl `protobuf:"bytes,2,opt,name=ident,proto3,oneof"` 712} 713 714type Decl_Function struct { 715 Function *Decl_FunctionDecl `protobuf:"bytes,3,opt,name=function,proto3,oneof"` 716} 717 718func (*Decl_Ident) isDecl_DeclKind() {} 719 720func (*Decl_Function) isDecl_DeclKind() {} 721 722func (m *Decl) GetDeclKind() isDecl_DeclKind { 723 if m != nil { 724 return m.DeclKind 725 } 726 return nil 727} 728 729func (m *Decl) GetIdent() *Decl_IdentDecl { 730 if x, ok := m.GetDeclKind().(*Decl_Ident); ok { 731 return x.Ident 732 } 733 return nil 734} 735 736func (m *Decl) GetFunction() *Decl_FunctionDecl { 737 if x, ok := m.GetDeclKind().(*Decl_Function); ok { 738 return x.Function 739 } 740 return nil 741} 742 743// XXX_OneofWrappers is for the internal use of the proto package. 744func (*Decl) XXX_OneofWrappers() []interface{} { 745 return []interface{}{ 746 (*Decl_Ident)(nil), 747 (*Decl_Function)(nil), 748 } 749} 750 751// Identifier declaration which specifies its type and optional `Expr` value. 752// 753// An identifier without a value is a declaration that must be provided at 754// evaluation time. An identifier with a value should resolve to a constant, 755// but may be used in conjunction with other identifiers bound at evaluation 756// time. 757type Decl_IdentDecl struct { 758 // Required. The type of the identifier. 759 Type *Type `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` 760 // The constant value of the identifier. If not specified, the identifier 761 // must be supplied at evaluation time. 762 Value *Constant `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` 763 // Documentation string for the identifier. 764 Doc string `protobuf:"bytes,3,opt,name=doc,proto3" json:"doc,omitempty"` 765 XXX_NoUnkeyedLiteral struct{} `json:"-"` 766 XXX_unrecognized []byte `json:"-"` 767 XXX_sizecache int32 `json:"-"` 768} 769 770func (m *Decl_IdentDecl) Reset() { *m = Decl_IdentDecl{} } 771func (m *Decl_IdentDecl) String() string { return proto.CompactTextString(m) } 772func (*Decl_IdentDecl) ProtoMessage() {} 773func (*Decl_IdentDecl) Descriptor() ([]byte, []int) { 774 return fileDescriptor_30a741de3e790389, []int{2, 0} 775} 776 777func (m *Decl_IdentDecl) XXX_Unmarshal(b []byte) error { 778 return xxx_messageInfo_Decl_IdentDecl.Unmarshal(m, b) 779} 780func (m *Decl_IdentDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 781 return xxx_messageInfo_Decl_IdentDecl.Marshal(b, m, deterministic) 782} 783func (m *Decl_IdentDecl) XXX_Merge(src proto.Message) { 784 xxx_messageInfo_Decl_IdentDecl.Merge(m, src) 785} 786func (m *Decl_IdentDecl) XXX_Size() int { 787 return xxx_messageInfo_Decl_IdentDecl.Size(m) 788} 789func (m *Decl_IdentDecl) XXX_DiscardUnknown() { 790 xxx_messageInfo_Decl_IdentDecl.DiscardUnknown(m) 791} 792 793var xxx_messageInfo_Decl_IdentDecl proto.InternalMessageInfo 794 795func (m *Decl_IdentDecl) GetType() *Type { 796 if m != nil { 797 return m.Type 798 } 799 return nil 800} 801 802func (m *Decl_IdentDecl) GetValue() *Constant { 803 if m != nil { 804 return m.Value 805 } 806 return nil 807} 808 809func (m *Decl_IdentDecl) GetDoc() string { 810 if m != nil { 811 return m.Doc 812 } 813 return "" 814} 815 816// Function declaration specifies one or more overloads which indicate the 817// function's parameter types and return type, and may optionally specify a 818// function definition in terms of CEL expressions. 819// 820// Functions have no observable side-effects (there may be side-effects like 821// logging which are not observable from CEL). 822type Decl_FunctionDecl struct { 823 // Required. List of function overloads, must contain at least one overload. 824 Overloads []*Decl_FunctionDecl_Overload `protobuf:"bytes,1,rep,name=overloads,proto3" json:"overloads,omitempty"` 825 XXX_NoUnkeyedLiteral struct{} `json:"-"` 826 XXX_unrecognized []byte `json:"-"` 827 XXX_sizecache int32 `json:"-"` 828} 829 830func (m *Decl_FunctionDecl) Reset() { *m = Decl_FunctionDecl{} } 831func (m *Decl_FunctionDecl) String() string { return proto.CompactTextString(m) } 832func (*Decl_FunctionDecl) ProtoMessage() {} 833func (*Decl_FunctionDecl) Descriptor() ([]byte, []int) { 834 return fileDescriptor_30a741de3e790389, []int{2, 1} 835} 836 837func (m *Decl_FunctionDecl) XXX_Unmarshal(b []byte) error { 838 return xxx_messageInfo_Decl_FunctionDecl.Unmarshal(m, b) 839} 840func (m *Decl_FunctionDecl) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 841 return xxx_messageInfo_Decl_FunctionDecl.Marshal(b, m, deterministic) 842} 843func (m *Decl_FunctionDecl) XXX_Merge(src proto.Message) { 844 xxx_messageInfo_Decl_FunctionDecl.Merge(m, src) 845} 846func (m *Decl_FunctionDecl) XXX_Size() int { 847 return xxx_messageInfo_Decl_FunctionDecl.Size(m) 848} 849func (m *Decl_FunctionDecl) XXX_DiscardUnknown() { 850 xxx_messageInfo_Decl_FunctionDecl.DiscardUnknown(m) 851} 852 853var xxx_messageInfo_Decl_FunctionDecl proto.InternalMessageInfo 854 855func (m *Decl_FunctionDecl) GetOverloads() []*Decl_FunctionDecl_Overload { 856 if m != nil { 857 return m.Overloads 858 } 859 return nil 860} 861 862// An overload indicates a function's parameter types and return type, and 863// may optionally include a function body described in terms of 864// [Expr][google.api.expr.v1alpha1.Expr] values. 865// 866// Functions overloads are declared in either a function or method 867// call-style. For methods, the `params[0]` is the expected type of the 868// target receiver. 869// 870// Overloads must have non-overlapping argument types after erasure of all 871// parameterized type variables (similar as type erasure in Java). 872type Decl_FunctionDecl_Overload struct { 873 // Required. Globally unique overload name of the function which reflects 874 // the function name and argument types. 875 // 876 // This will be used by a [Reference][google.api.expr.v1alpha1.Reference] 877 // to indicate the `overload_id` that was resolved for the function 878 // `name`. 879 OverloadId string `protobuf:"bytes,1,opt,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` 880 // List of function parameter [Type][google.api.expr.v1alpha1.Type] 881 // values. 882 // 883 // Param types are disjoint after generic type parameters have been 884 // replaced with the type `DYN`. Since the `DYN` type is compatible with 885 // any other type, this means that if `A` is a type parameter, the 886 // function types `int<A>` and `int<int>` are not disjoint. Likewise, 887 // `map<string, string>` is not disjoint from `map<K, V>`. 888 // 889 // When the `result_type` of a function is a generic type param, the 890 // type param name also appears as the `type` of on at least one params. 891 Params []*Type `protobuf:"bytes,2,rep,name=params,proto3" json:"params,omitempty"` 892 // The type param names associated with the function declaration. 893 // 894 // For example, `function ex<K,V>(K key, map<K, V> map) : V` would yield 895 // the type params of `K, V`. 896 TypeParams []string `protobuf:"bytes,3,rep,name=type_params,json=typeParams,proto3" json:"type_params,omitempty"` 897 // Required. The result type of the function. For example, the operator 898 // `string.isEmpty()` would have `result_type` of `kind: BOOL`. 899 ResultType *Type `protobuf:"bytes,4,opt,name=result_type,json=resultType,proto3" json:"result_type,omitempty"` 900 // Whether the function is to be used in a method call-style `x.f(...)` 901 // of a function call-style `f(x, ...)`. 902 // 903 // For methods, the first parameter declaration, `params[0]` is the 904 // expected type of the target receiver. 905 IsInstanceFunction bool `protobuf:"varint,5,opt,name=is_instance_function,json=isInstanceFunction,proto3" json:"is_instance_function,omitempty"` 906 // Documentation string for the overload. 907 Doc string `protobuf:"bytes,6,opt,name=doc,proto3" json:"doc,omitempty"` 908 XXX_NoUnkeyedLiteral struct{} `json:"-"` 909 XXX_unrecognized []byte `json:"-"` 910 XXX_sizecache int32 `json:"-"` 911} 912 913func (m *Decl_FunctionDecl_Overload) Reset() { *m = Decl_FunctionDecl_Overload{} } 914func (m *Decl_FunctionDecl_Overload) String() string { return proto.CompactTextString(m) } 915func (*Decl_FunctionDecl_Overload) ProtoMessage() {} 916func (*Decl_FunctionDecl_Overload) Descriptor() ([]byte, []int) { 917 return fileDescriptor_30a741de3e790389, []int{2, 1, 0} 918} 919 920func (m *Decl_FunctionDecl_Overload) XXX_Unmarshal(b []byte) error { 921 return xxx_messageInfo_Decl_FunctionDecl_Overload.Unmarshal(m, b) 922} 923func (m *Decl_FunctionDecl_Overload) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 924 return xxx_messageInfo_Decl_FunctionDecl_Overload.Marshal(b, m, deterministic) 925} 926func (m *Decl_FunctionDecl_Overload) XXX_Merge(src proto.Message) { 927 xxx_messageInfo_Decl_FunctionDecl_Overload.Merge(m, src) 928} 929func (m *Decl_FunctionDecl_Overload) XXX_Size() int { 930 return xxx_messageInfo_Decl_FunctionDecl_Overload.Size(m) 931} 932func (m *Decl_FunctionDecl_Overload) XXX_DiscardUnknown() { 933 xxx_messageInfo_Decl_FunctionDecl_Overload.DiscardUnknown(m) 934} 935 936var xxx_messageInfo_Decl_FunctionDecl_Overload proto.InternalMessageInfo 937 938func (m *Decl_FunctionDecl_Overload) GetOverloadId() string { 939 if m != nil { 940 return m.OverloadId 941 } 942 return "" 943} 944 945func (m *Decl_FunctionDecl_Overload) GetParams() []*Type { 946 if m != nil { 947 return m.Params 948 } 949 return nil 950} 951 952func (m *Decl_FunctionDecl_Overload) GetTypeParams() []string { 953 if m != nil { 954 return m.TypeParams 955 } 956 return nil 957} 958 959func (m *Decl_FunctionDecl_Overload) GetResultType() *Type { 960 if m != nil { 961 return m.ResultType 962 } 963 return nil 964} 965 966func (m *Decl_FunctionDecl_Overload) GetIsInstanceFunction() bool { 967 if m != nil { 968 return m.IsInstanceFunction 969 } 970 return false 971} 972 973func (m *Decl_FunctionDecl_Overload) GetDoc() string { 974 if m != nil { 975 return m.Doc 976 } 977 return "" 978} 979 980// Describes a resolved reference to a declaration. 981type Reference struct { 982 // The fully qualified name of the declaration. 983 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 984 // For references to functions, this is a list of `Overload.overload_id` 985 // values which match according to typing rules. 986 // 987 // If the list has more than one element, overload resolution among the 988 // presented candidates must happen at runtime because of dynamic types. The 989 // type checker attempts to narrow down this list as much as possible. 990 // 991 // Empty if this is not a reference to a 992 // [Decl.FunctionDecl][google.api.expr.v1alpha1.Decl.FunctionDecl]. 993 OverloadId []string `protobuf:"bytes,3,rep,name=overload_id,json=overloadId,proto3" json:"overload_id,omitempty"` 994 // For references to constants, this may contain the value of the 995 // constant if known at compile time. 996 Value *Constant `protobuf:"bytes,4,opt,name=value,proto3" json:"value,omitempty"` 997 XXX_NoUnkeyedLiteral struct{} `json:"-"` 998 XXX_unrecognized []byte `json:"-"` 999 XXX_sizecache int32 `json:"-"` 1000} 1001 1002func (m *Reference) Reset() { *m = Reference{} } 1003func (m *Reference) String() string { return proto.CompactTextString(m) } 1004func (*Reference) ProtoMessage() {} 1005func (*Reference) Descriptor() ([]byte, []int) { 1006 return fileDescriptor_30a741de3e790389, []int{3} 1007} 1008 1009func (m *Reference) XXX_Unmarshal(b []byte) error { 1010 return xxx_messageInfo_Reference.Unmarshal(m, b) 1011} 1012func (m *Reference) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 1013 return xxx_messageInfo_Reference.Marshal(b, m, deterministic) 1014} 1015func (m *Reference) XXX_Merge(src proto.Message) { 1016 xxx_messageInfo_Reference.Merge(m, src) 1017} 1018func (m *Reference) XXX_Size() int { 1019 return xxx_messageInfo_Reference.Size(m) 1020} 1021func (m *Reference) XXX_DiscardUnknown() { 1022 xxx_messageInfo_Reference.DiscardUnknown(m) 1023} 1024 1025var xxx_messageInfo_Reference proto.InternalMessageInfo 1026 1027func (m *Reference) GetName() string { 1028 if m != nil { 1029 return m.Name 1030 } 1031 return "" 1032} 1033 1034func (m *Reference) GetOverloadId() []string { 1035 if m != nil { 1036 return m.OverloadId 1037 } 1038 return nil 1039} 1040 1041func (m *Reference) GetValue() *Constant { 1042 if m != nil { 1043 return m.Value 1044 } 1045 return nil 1046} 1047 1048func init() { 1049 proto.RegisterEnum("google.api.expr.v1alpha1.Type_PrimitiveType", Type_PrimitiveType_name, Type_PrimitiveType_value) 1050 proto.RegisterEnum("google.api.expr.v1alpha1.Type_WellKnownType", Type_WellKnownType_name, Type_WellKnownType_value) 1051 proto.RegisterType((*CheckedExpr)(nil), "google.api.expr.v1alpha1.CheckedExpr") 1052 proto.RegisterMapType((map[int64]*Reference)(nil), "google.api.expr.v1alpha1.CheckedExpr.ReferenceMapEntry") 1053 proto.RegisterMapType((map[int64]*Type)(nil), "google.api.expr.v1alpha1.CheckedExpr.TypeMapEntry") 1054 proto.RegisterType((*Type)(nil), "google.api.expr.v1alpha1.Type") 1055 proto.RegisterType((*Type_ListType)(nil), "google.api.expr.v1alpha1.Type.ListType") 1056 proto.RegisterType((*Type_MapType)(nil), "google.api.expr.v1alpha1.Type.MapType") 1057 proto.RegisterType((*Type_FunctionType)(nil), "google.api.expr.v1alpha1.Type.FunctionType") 1058 proto.RegisterType((*Type_AbstractType)(nil), "google.api.expr.v1alpha1.Type.AbstractType") 1059 proto.RegisterType((*Decl)(nil), "google.api.expr.v1alpha1.Decl") 1060 proto.RegisterType((*Decl_IdentDecl)(nil), "google.api.expr.v1alpha1.Decl.IdentDecl") 1061 proto.RegisterType((*Decl_FunctionDecl)(nil), "google.api.expr.v1alpha1.Decl.FunctionDecl") 1062 proto.RegisterType((*Decl_FunctionDecl_Overload)(nil), "google.api.expr.v1alpha1.Decl.FunctionDecl.Overload") 1063 proto.RegisterType((*Reference)(nil), "google.api.expr.v1alpha1.Reference") 1064} 1065 1066func init() { 1067 proto.RegisterFile("google/api/expr/v1alpha1/checked.proto", fileDescriptor_30a741de3e790389) 1068} 1069 1070var fileDescriptor_30a741de3e790389 = []byte{ 1071 // 1144 bytes of a gzipped FileDescriptorProto 1072 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x56, 0x5f, 0x6f, 0xdb, 0xb6, 1073 0x17, 0x8d, 0x6c, 0xd9, 0x96, 0xae, 0x9c, 0xfe, 0xfc, 0x23, 0x86, 0x41, 0x50, 0x8b, 0x36, 0x70, 1074 0xb7, 0x2e, 0xd8, 0x06, 0xb9, 0xf5, 0x82, 0xae, 0x5d, 0x37, 0x6c, 0x71, 0xa2, 0x24, 0x42, 0xfd, 1075 0x0f, 0x8a, 0x93, 0x20, 0xc5, 0x00, 0x81, 0x91, 0x19, 0x57, 0xb0, 0x2c, 0x09, 0x94, 0x9c, 0xc4, 1076 0x7b, 0xdd, 0xd3, 0xb0, 0x7d, 0x9b, 0x7d, 0x89, 0x7d, 0x9a, 0xbd, 0x6e, 0x8f, 0x03, 0x29, 0xc9, 1077 0x71, 0xfe, 0x38, 0xb6, 0xdf, 0xae, 0xc8, 0x73, 0x0e, 0x2f, 0x2f, 0xcf, 0x25, 0x05, 0x2f, 0x06, 1078 0x41, 0x30, 0xf0, 0x48, 0x0d, 0x87, 0x6e, 0x8d, 0x5c, 0x85, 0xb4, 0x76, 0xf1, 0x0a, 0x7b, 0xe1, 1079 0x47, 0xfc, 0xaa, 0xe6, 0x7c, 0x24, 0xce, 0x90, 0xf4, 0xf5, 0x90, 0x06, 0x71, 0x80, 0xd4, 0x04, 1080 0xa7, 0xe3, 0xd0, 0xd5, 0x19, 0x4e, 0xcf, 0x70, 0xda, 0xe7, 0x73, 0x15, 0xa2, 0x89, 0x1f, 0xe3, 1081 0xab, 0x44, 0x40, 0x7b, 0x9c, 0xc2, 0xf8, 0xd7, 0xd9, 0xf8, 0xbc, 0x46, 0x46, 0x61, 0x3c, 0x49, 1082 0x27, 0x9f, 0xdc, 0x9e, 0x8c, 0x62, 0x3a, 0x76, 0xe2, 0x64, 0xb6, 0xfa, 0x4f, 0x1e, 0x94, 0x9d, 1083 0x24, 0x1b, 0xe3, 0x2a, 0xa4, 0xe8, 0x67, 0x58, 0xa7, 0xe4, 0x9c, 0x50, 0xe2, 0x3b, 0xc4, 0x1e, 1084 0xe1, 0x50, 0xcd, 0x6d, 0xe4, 0x37, 0x95, 0xfa, 0xb7, 0xfa, 0xbc, 0x1c, 0xf5, 0x19, 0xb6, 0x6e, 1085 0x65, 0xd4, 0x16, 0x0e, 0x0d, 0x3f, 0xa6, 0x13, 0xab, 0x4c, 0x67, 0x86, 0x50, 0x0b, 0xa4, 0x78, 1086 0x12, 0x26, 0xc2, 0x79, 0x2e, 0x5c, 0x5f, 0x4e, 0xb8, 0x37, 0x09, 0xaf, 0x35, 0x4b, 0x71, 0xf2, 1087 0x85, 0x0c, 0x50, 0xa2, 0x60, 0x4c, 0x1d, 0x62, 0xbb, 0xfe, 0x79, 0xa0, 0x16, 0x36, 0x84, 0x4d, 1088 0xa5, 0xfe, 0xd9, 0x7c, 0xc5, 0x43, 0x0e, 0x36, 0xfd, 0xf3, 0xc0, 0x82, 0x68, 0x1a, 0xa3, 0x3a, 1089 0x88, 0x0c, 0xa7, 0x8a, 0x9c, 0xff, 0x74, 0x3e, 0x9f, 0xa5, 0x62, 0x71, 0xac, 0xd6, 0x87, 0xff, 1090 0xdf, 0xd9, 0x2c, 0xaa, 0x40, 0x7e, 0x48, 0x26, 0xaa, 0xb0, 0x21, 0x6c, 0xe6, 0x2d, 0x16, 0xa2, 1091 0xb7, 0x50, 0xb8, 0xc0, 0xde, 0x98, 0xa8, 0x39, 0xae, 0xfd, 0x7c, 0xbe, 0xf6, 0x54, 0xcd, 0x4a, 1092 0x18, 0xdf, 0xe5, 0xde, 0x08, 0xda, 0x07, 0x28, 0xcf, 0xee, 0xfc, 0x9e, 0x05, 0xb6, 0x6e, 0x2e, 1093 0xf0, 0x40, 0xf2, 0x4c, 0x68, 0x46, 0xbb, 0xfa, 0x97, 0x02, 0x22, 0x1b, 0x43, 0x5f, 0x42, 0xbe, 1094 0x3f, 0xf1, 0xb9, 0xa8, 0x52, 0xff, 0x34, 0x13, 0xc8, 0xec, 0xa2, 0x1b, 0xcc, 0x4b, 0x07, 0x6b, 1095 0x16, 0x03, 0xa1, 0x97, 0x20, 0xfa, 0x63, 0xcf, 0xe3, 0xab, 0x3d, 0xaa, 0x6b, 0x77, 0xc0, 0xed, 1096 0xb1, 0xe7, 0x1d, 0xb3, 0x25, 0x0e, 0xd6, 0x2c, 0x8e, 0x44, 0x4d, 0x90, 0x43, 0xea, 0x8e, 0xdc, 1097 0xd8, 0xbd, 0x20, 0x6a, 0x9e, 0xd3, 0xbe, 0x7e, 0x38, 0x49, 0xbd, 0x9b, 0xe1, 0xd9, 0xd7, 0xc1, 1098 0x9a, 0x75, 0x2d, 0x80, 0x0e, 0xa0, 0x74, 0x49, 0x71, 0x18, 0x92, 0xe4, 0xb4, 0x56, 0xd7, 0xca, 1099 0xe8, 0xa8, 0x05, 0x70, 0x49, 0x3c, 0xcf, 0x1e, 0xfa, 0xc1, 0xa5, 0xcf, 0xad, 0xb3, 0x58, 0xec, 1100 0x84, 0x78, 0xde, 0x7b, 0x86, 0xcf, 0x12, 0xbb, 0xcc, 0x06, 0xd0, 0x1e, 0xc8, 0x9e, 0x1b, 0xc5, 1101 0x36, 0xb3, 0xa6, 0x5a, 0xe4, 0xa5, 0xfc, 0x62, 0x81, 0x5a, 0xd3, 0x8d, 0xe2, 0x54, 0x48, 0xf2, 1102 0xd2, 0x18, 0xed, 0x80, 0x34, 0xc2, 0x61, 0x22, 0x53, 0xe2, 0x32, 0x2f, 0x16, 0xc8, 0xb4, 0x70, 1103 0x98, 0xed, 0x6d, 0x94, 0x84, 0xc8, 0x04, 0xe9, 0x7c, 0xec, 0x3b, 0xb1, 0x1b, 0xf8, 0xaa, 0xc4, 1104 0x45, 0xbe, 0x5a, 0x20, 0xb2, 0x97, 0xc2, 0xb3, 0x7c, 0x32, 0x3a, 0x7a, 0x0e, 0xe5, 0x11, 0x89, 1105 0x22, 0x3c, 0x20, 0x49, 0x4e, 0xf2, 0x86, 0xb0, 0x29, 0x1f, 0xac, 0x59, 0x4a, 0x3a, 0xca, 0xd7, 1106 0x7b, 0x06, 0xc0, 0xdb, 0x3a, 0xc4, 0x14, 0x8f, 0x54, 0x48, 0x21, 0x32, 0x1b, 0xeb, 0xb2, 0x21, 1107 0xb4, 0x05, 0x22, 0x67, 0x2b, 0xcb, 0x98, 0x94, 0x59, 0x87, 0xa1, 0x91, 0x0e, 0x05, 0x42, 0x69, 1108 0x40, 0xd5, 0xf2, 0x02, 0x6b, 0x26, 0x30, 0x64, 0xc1, 0x3a, 0x3e, 0x8b, 0x62, 0x8a, 0x9d, 0xf4, 1109 0x1c, 0x1e, 0x2d, 0xb5, 0xf7, 0xed, 0x94, 0x93, 0xae, 0x5d, 0xc6, 0x33, 0xdf, 0xda, 0x3e, 0x48, 1110 0xd9, 0x39, 0xa1, 0x77, 0x20, 0x13, 0x8f, 0x8c, 0x12, 0x6d, 0x61, 0xa9, 0x7e, 0x93, 0x18, 0x81, 1111 0x0b, 0xfd, 0x2a, 0x40, 0x29, 0x3d, 0x2a, 0xf4, 0x16, 0xa4, 0x21, 0x99, 0xac, 0xa2, 0x53, 0x1a, 1112 0x92, 0x09, 0xa7, 0xfe, 0x00, 0xc0, 0x5b, 0x38, 0x21, 0x2f, 0xd7, 0xf4, 0x32, 0x67, 0xf0, 0x2c, 1113 0xfe, 0x10, 0xa0, 0x3c, 0x7b, 0xd6, 0xe8, 0x47, 0x50, 0x28, 0x89, 0xc6, 0x5e, 0xbc, 0x4a, 0x36, 1114 0x90, 0x50, 0xb2, 0xa2, 0x60, 0x3a, 0xe0, 0xec, 0x28, 0x7d, 0x2c, 0x16, 0x16, 0x05, 0xd3, 0x01, 1115 0x0b, 0x22, 0x6d, 0x08, 0xe5, 0xd9, 0xea, 0x23, 0x04, 0xa2, 0x8f, 0x47, 0x49, 0x1a, 0xb2, 0xc5, 1116 0x63, 0xb4, 0x0f, 0xff, 0xe3, 0xbe, 0x22, 0x31, 0xa1, 0x2b, 0x2d, 0xf3, 0x68, 0x4a, 0xe3, 0x8b, 1117 0x55, 0x23, 0x58, 0xbf, 0x71, 0x1b, 0xa0, 0xa7, 0xa0, 0x75, 0x2d, 0xb3, 0x65, 0xf6, 0xcc, 0x63, 1118 0xc3, 0xee, 0x9d, 0x76, 0x0d, 0xfb, 0xa8, 0x7d, 0xd8, 0x35, 0x76, 0xcc, 0x3d, 0xd3, 0xd8, 0xad, 1119 0xac, 0x21, 0x09, 0xc4, 0x46, 0xa7, 0xd3, 0xac, 0x08, 0x48, 0x86, 0x82, 0xd9, 0xee, 0xbd, 0xde, 1120 0xaa, 0xe4, 0x10, 0x40, 0xf1, 0x28, 0x89, 0xf3, 0x2c, 0xde, 0xed, 0x1c, 0x35, 0x9a, 0x46, 0x45, 1121 0x64, 0xf1, 0x61, 0xcf, 0x32, 0xdb, 0xfb, 0x95, 0x02, 0x83, 0x37, 0x4e, 0x7b, 0xc6, 0x61, 0xa5, 1122 0x58, 0x3d, 0x86, 0xf5, 0x1b, 0xb7, 0x06, 0x7a, 0x06, 0x8f, 0x4f, 0x8c, 0x66, 0xd3, 0x7e, 0xdf, 1123 0xee, 0x9c, 0xb4, 0xef, 0x5b, 0xb5, 0x04, 0xf9, 0xed, 0xf6, 0x69, 0x45, 0x40, 0xeb, 0x20, 0xf7, 1124 0xcc, 0x96, 0x71, 0xd8, 0xdb, 0x6e, 0x75, 0x2b, 0x39, 0x54, 0x06, 0x69, 0xf7, 0xc8, 0xda, 0xee, 1125 0x99, 0x9d, 0x76, 0x25, 0xdf, 0x50, 0x80, 0xb7, 0x97, 0x3d, 0x74, 0xfd, 0x7e, 0xf5, 0xcf, 0x02, 1126 0x88, 0xbb, 0xc4, 0xf1, 0xee, 0xad, 0xdf, 0x4f, 0x50, 0x70, 0xfb, 0xc4, 0x8f, 0x53, 0xb3, 0x6c, 1127 0xce, 0xaf, 0x1a, 0x93, 0xd0, 0x4d, 0x86, 0x65, 0x11, 0xeb, 0x2b, 0x4e, 0xbc, 0x71, 0x9d, 0xe4, 1128 0x17, 0xb5, 0x14, 0x17, 0xc9, 0x2c, 0x96, 0xea, 0x4c, 0xe9, 0xda, 0xef, 0x02, 0xc8, 0xd3, 0x15, 1129 0xd8, 0xc3, 0xbb, 0x82, 0xeb, 0x92, 0x4b, 0xe1, 0xcd, 0xcd, 0x07, 0xaf, 0xfa, 0xc0, 0xff, 0x43, 1130 0xe0, 0x47, 0x31, 0xf6, 0xe3, 0xf4, 0xd1, 0x63, 0x8f, 0x67, 0x3f, 0x70, 0xf8, 0x0e, 0x64, 0x8b, 1131 0x85, 0xda, 0xdf, 0xb9, 0xeb, 0x6e, 0xe0, 0x09, 0x59, 0x20, 0x07, 0x17, 0x84, 0x7a, 0x01, 0xee, 1132 0x47, 0xaa, 0xc0, 0x5d, 0xb6, 0xb5, 0xc2, 0x56, 0xf5, 0x4e, 0x4a, 0xb6, 0xae, 0x65, 0xb4, 0xdf, 1133 0x72, 0x20, 0x65, 0xe3, 0xe8, 0x19, 0x28, 0xd9, 0x8c, 0xed, 0xf6, 0xd3, 0x73, 0x82, 0x6c, 0xc8, 1134 0xec, 0xa3, 0xd7, 0x50, 0xe4, 0xb6, 0x5d, 0xd6, 0xe4, 0x29, 0x9a, 0x09, 0x5f, 0x5f, 0xc1, 0x11, 1135 0xff, 0xb9, 0x92, 0x2d, 0x98, 0xde, 0xc0, 0xd1, 0xed, 0x46, 0x17, 0x57, 0x6e, 0xf4, 0x97, 0xf0, 1136 0x89, 0x1b, 0xd9, 0x2e, 0xaf, 0xa9, 0x43, 0xec, 0xa9, 0x23, 0xd8, 0xd3, 0x29, 0x59, 0xc8, 0x8d, 1137 0xcc, 0x74, 0x2a, 0xab, 0x48, 0x56, 0xf0, 0xe2, 0xb4, 0xe0, 0xcc, 0xb5, 0x7d, 0xe2, 0x78, 0x89, 1138 0x6b, 0x7f, 0x01, 0x79, 0xfa, 0xd3, 0x73, 0xaf, 0x73, 0x6f, 0x15, 0x2b, 0xdd, 0xd3, 0x4c, 0xb1, 1139 0xa6, 0x5e, 0x10, 0x57, 0xf4, 0x42, 0xc3, 0x83, 0x27, 0x4e, 0x30, 0x9a, 0x8b, 0x6f, 0xc8, 0xec, 1140 0x38, 0xbb, 0xec, 0x9d, 0xe9, 0x0a, 0x1f, 0xbe, 0x4f, 0x61, 0x83, 0xc0, 0xc3, 0xfe, 0x40, 0x0f, 1141 0xe8, 0xa0, 0x36, 0x20, 0x3e, 0x7f, 0x85, 0x6a, 0xc9, 0x14, 0x0e, 0xdd, 0xe8, 0xee, 0x4f, 0xfa, 1142 0x3b, 0xf6, 0xf5, 0xaf, 0x20, 0x9c, 0x15, 0x39, 0xf6, 0x9b, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 1143 0xee, 0x02, 0xe6, 0x8f, 0x11, 0x0c, 0x00, 0x00, 1144} 1145