1// Code generated by protoc-gen-go. DO NOT EDIT. 2// source: google/api/servicemanagement/v1/resources.proto 3 4package servicemanagement 5 6import ( 7 fmt "fmt" 8 math "math" 9 10 proto "github.com/golang/protobuf/proto" 11 _ "github.com/golang/protobuf/ptypes/any" 12 _ "github.com/golang/protobuf/ptypes/struct" 13 timestamp "github.com/golang/protobuf/ptypes/timestamp" 14 _ "google.golang.org/genproto/googleapis/api/annotations" 15 configchange "google.golang.org/genproto/googleapis/api/configchange" 16 _ "google.golang.org/genproto/googleapis/api/metric" 17 _ "google.golang.org/genproto/googleapis/api/serviceconfig" 18 _ "google.golang.org/genproto/googleapis/longrunning" 19 _ "google.golang.org/genproto/googleapis/rpc/status" 20 _ "google.golang.org/genproto/protobuf/field_mask" 21) 22 23// Reference imports to suppress errors if they are not otherwise used. 24var _ = proto.Marshal 25var _ = fmt.Errorf 26var _ = math.Inf 27 28// This is a compile-time assertion to ensure that this generated file 29// is compatible with the proto package it is being compiled against. 30// A compilation error at this line likely means your copy of the 31// proto package needs to be updated. 32const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package 33 34// Code describes the status of the operation (or one of its steps). 35type OperationMetadata_Status int32 36 37const ( 38 // Unspecifed code. 39 OperationMetadata_STATUS_UNSPECIFIED OperationMetadata_Status = 0 40 // The operation or step has completed without errors. 41 OperationMetadata_DONE OperationMetadata_Status = 1 42 // The operation or step has not started yet. 43 OperationMetadata_NOT_STARTED OperationMetadata_Status = 2 44 // The operation or step is in progress. 45 OperationMetadata_IN_PROGRESS OperationMetadata_Status = 3 46 // The operation or step has completed with errors. If the operation is 47 // rollbackable, the rollback completed with errors too. 48 OperationMetadata_FAILED OperationMetadata_Status = 4 49 // The operation or step has completed with cancellation. 50 OperationMetadata_CANCELLED OperationMetadata_Status = 5 51) 52 53var OperationMetadata_Status_name = map[int32]string{ 54 0: "STATUS_UNSPECIFIED", 55 1: "DONE", 56 2: "NOT_STARTED", 57 3: "IN_PROGRESS", 58 4: "FAILED", 59 5: "CANCELLED", 60} 61 62var OperationMetadata_Status_value = map[string]int32{ 63 "STATUS_UNSPECIFIED": 0, 64 "DONE": 1, 65 "NOT_STARTED": 2, 66 "IN_PROGRESS": 3, 67 "FAILED": 4, 68 "CANCELLED": 5, 69} 70 71func (x OperationMetadata_Status) String() string { 72 return proto.EnumName(OperationMetadata_Status_name, int32(x)) 73} 74 75func (OperationMetadata_Status) EnumDescriptor() ([]byte, []int) { 76 return fileDescriptor_16a1de86d13c4f21, []int{1, 0} 77} 78 79// The kind of diagnostic information possible. 80type Diagnostic_Kind int32 81 82const ( 83 // Warnings and errors 84 Diagnostic_WARNING Diagnostic_Kind = 0 85 // Only errors 86 Diagnostic_ERROR Diagnostic_Kind = 1 87) 88 89var Diagnostic_Kind_name = map[int32]string{ 90 0: "WARNING", 91 1: "ERROR", 92} 93 94var Diagnostic_Kind_value = map[string]int32{ 95 "WARNING": 0, 96 "ERROR": 1, 97} 98 99func (x Diagnostic_Kind) String() string { 100 return proto.EnumName(Diagnostic_Kind_name, int32(x)) 101} 102 103func (Diagnostic_Kind) EnumDescriptor() ([]byte, []int) { 104 return fileDescriptor_16a1de86d13c4f21, []int{2, 0} 105} 106 107type ConfigFile_FileType int32 108 109const ( 110 // Unknown file type. 111 ConfigFile_FILE_TYPE_UNSPECIFIED ConfigFile_FileType = 0 112 // YAML-specification of service. 113 ConfigFile_SERVICE_CONFIG_YAML ConfigFile_FileType = 1 114 // OpenAPI specification, serialized in JSON. 115 ConfigFile_OPEN_API_JSON ConfigFile_FileType = 2 116 // OpenAPI specification, serialized in YAML. 117 ConfigFile_OPEN_API_YAML ConfigFile_FileType = 3 118 // FileDescriptorSet, generated by protoc. 119 // 120 // To generate, use protoc with imports and source info included. 121 // For an example test.proto file, the following command would put the value 122 // in a new file named out.pb. 123 // 124 // $protoc --include_imports --include_source_info test.proto -o out.pb 125 ConfigFile_FILE_DESCRIPTOR_SET_PROTO ConfigFile_FileType = 4 126 // Uncompiled Proto file. Used for storage and display purposes only, 127 // currently server-side compilation is not supported. Should match the 128 // inputs to 'protoc' command used to generated FILE_DESCRIPTOR_SET_PROTO. A 129 // file of this type can only be included if at least one file of type 130 // FILE_DESCRIPTOR_SET_PROTO is included. 131 ConfigFile_PROTO_FILE ConfigFile_FileType = 6 132) 133 134var ConfigFile_FileType_name = map[int32]string{ 135 0: "FILE_TYPE_UNSPECIFIED", 136 1: "SERVICE_CONFIG_YAML", 137 2: "OPEN_API_JSON", 138 3: "OPEN_API_YAML", 139 4: "FILE_DESCRIPTOR_SET_PROTO", 140 6: "PROTO_FILE", 141} 142 143var ConfigFile_FileType_value = map[string]int32{ 144 "FILE_TYPE_UNSPECIFIED": 0, 145 "SERVICE_CONFIG_YAML": 1, 146 "OPEN_API_JSON": 2, 147 "OPEN_API_YAML": 3, 148 "FILE_DESCRIPTOR_SET_PROTO": 4, 149 "PROTO_FILE": 6, 150} 151 152func (x ConfigFile_FileType) String() string { 153 return proto.EnumName(ConfigFile_FileType_name, int32(x)) 154} 155 156func (ConfigFile_FileType) EnumDescriptor() ([]byte, []int) { 157 return fileDescriptor_16a1de86d13c4f21, []int{4, 0} 158} 159 160// Status of a Rollout. 161type Rollout_RolloutStatus int32 162 163const ( 164 // No status specified. 165 Rollout_ROLLOUT_STATUS_UNSPECIFIED Rollout_RolloutStatus = 0 166 // The Rollout is in progress. 167 Rollout_IN_PROGRESS Rollout_RolloutStatus = 1 168 // The Rollout has completed successfully. 169 Rollout_SUCCESS Rollout_RolloutStatus = 2 170 // The Rollout has been cancelled. This can happen if you have overlapping 171 // Rollout pushes, and the previous ones will be cancelled. 172 Rollout_CANCELLED Rollout_RolloutStatus = 3 173 // The Rollout has failed and the rollback attempt has failed too. 174 Rollout_FAILED Rollout_RolloutStatus = 4 175 // The Rollout has not started yet and is pending for execution. 176 Rollout_PENDING Rollout_RolloutStatus = 5 177 // The Rollout has failed and rolled back to the previous successful 178 // Rollout. 179 Rollout_FAILED_ROLLED_BACK Rollout_RolloutStatus = 6 180) 181 182var Rollout_RolloutStatus_name = map[int32]string{ 183 0: "ROLLOUT_STATUS_UNSPECIFIED", 184 1: "IN_PROGRESS", 185 2: "SUCCESS", 186 3: "CANCELLED", 187 4: "FAILED", 188 5: "PENDING", 189 6: "FAILED_ROLLED_BACK", 190} 191 192var Rollout_RolloutStatus_value = map[string]int32{ 193 "ROLLOUT_STATUS_UNSPECIFIED": 0, 194 "IN_PROGRESS": 1, 195 "SUCCESS": 2, 196 "CANCELLED": 3, 197 "FAILED": 4, 198 "PENDING": 5, 199 "FAILED_ROLLED_BACK": 6, 200} 201 202func (x Rollout_RolloutStatus) String() string { 203 return proto.EnumName(Rollout_RolloutStatus_name, int32(x)) 204} 205 206func (Rollout_RolloutStatus) EnumDescriptor() ([]byte, []int) { 207 return fileDescriptor_16a1de86d13c4f21, []int{7, 0} 208} 209 210// The full representation of a Service that is managed by 211// Google Service Management. 212type ManagedService struct { 213 // The name of the service. See the [overview](/service-management/overview) 214 // for naming requirements. 215 ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` 216 // ID of the project that produces and owns this service. 217 ProducerProjectId string `protobuf:"bytes,3,opt,name=producer_project_id,json=producerProjectId,proto3" json:"producer_project_id,omitempty"` 218 XXX_NoUnkeyedLiteral struct{} `json:"-"` 219 XXX_unrecognized []byte `json:"-"` 220 XXX_sizecache int32 `json:"-"` 221} 222 223func (m *ManagedService) Reset() { *m = ManagedService{} } 224func (m *ManagedService) String() string { return proto.CompactTextString(m) } 225func (*ManagedService) ProtoMessage() {} 226func (*ManagedService) Descriptor() ([]byte, []int) { 227 return fileDescriptor_16a1de86d13c4f21, []int{0} 228} 229 230func (m *ManagedService) XXX_Unmarshal(b []byte) error { 231 return xxx_messageInfo_ManagedService.Unmarshal(m, b) 232} 233func (m *ManagedService) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 234 return xxx_messageInfo_ManagedService.Marshal(b, m, deterministic) 235} 236func (m *ManagedService) XXX_Merge(src proto.Message) { 237 xxx_messageInfo_ManagedService.Merge(m, src) 238} 239func (m *ManagedService) XXX_Size() int { 240 return xxx_messageInfo_ManagedService.Size(m) 241} 242func (m *ManagedService) XXX_DiscardUnknown() { 243 xxx_messageInfo_ManagedService.DiscardUnknown(m) 244} 245 246var xxx_messageInfo_ManagedService proto.InternalMessageInfo 247 248func (m *ManagedService) GetServiceName() string { 249 if m != nil { 250 return m.ServiceName 251 } 252 return "" 253} 254 255func (m *ManagedService) GetProducerProjectId() string { 256 if m != nil { 257 return m.ProducerProjectId 258 } 259 return "" 260} 261 262// The metadata associated with a long running operation resource. 263type OperationMetadata struct { 264 // The full name of the resources that this operation is directly 265 // associated with. 266 ResourceNames []string `protobuf:"bytes,1,rep,name=resource_names,json=resourceNames,proto3" json:"resource_names,omitempty"` 267 // Detailed status information for each step. The order is undetermined. 268 Steps []*OperationMetadata_Step `protobuf:"bytes,2,rep,name=steps,proto3" json:"steps,omitempty"` 269 // Percentage of completion of this operation, ranging from 0 to 100. 270 ProgressPercentage int32 `protobuf:"varint,3,opt,name=progress_percentage,json=progressPercentage,proto3" json:"progress_percentage,omitempty"` 271 // The start time of the operation. 272 StartTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 273 XXX_NoUnkeyedLiteral struct{} `json:"-"` 274 XXX_unrecognized []byte `json:"-"` 275 XXX_sizecache int32 `json:"-"` 276} 277 278func (m *OperationMetadata) Reset() { *m = OperationMetadata{} } 279func (m *OperationMetadata) String() string { return proto.CompactTextString(m) } 280func (*OperationMetadata) ProtoMessage() {} 281func (*OperationMetadata) Descriptor() ([]byte, []int) { 282 return fileDescriptor_16a1de86d13c4f21, []int{1} 283} 284 285func (m *OperationMetadata) XXX_Unmarshal(b []byte) error { 286 return xxx_messageInfo_OperationMetadata.Unmarshal(m, b) 287} 288func (m *OperationMetadata) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 289 return xxx_messageInfo_OperationMetadata.Marshal(b, m, deterministic) 290} 291func (m *OperationMetadata) XXX_Merge(src proto.Message) { 292 xxx_messageInfo_OperationMetadata.Merge(m, src) 293} 294func (m *OperationMetadata) XXX_Size() int { 295 return xxx_messageInfo_OperationMetadata.Size(m) 296} 297func (m *OperationMetadata) XXX_DiscardUnknown() { 298 xxx_messageInfo_OperationMetadata.DiscardUnknown(m) 299} 300 301var xxx_messageInfo_OperationMetadata proto.InternalMessageInfo 302 303func (m *OperationMetadata) GetResourceNames() []string { 304 if m != nil { 305 return m.ResourceNames 306 } 307 return nil 308} 309 310func (m *OperationMetadata) GetSteps() []*OperationMetadata_Step { 311 if m != nil { 312 return m.Steps 313 } 314 return nil 315} 316 317func (m *OperationMetadata) GetProgressPercentage() int32 { 318 if m != nil { 319 return m.ProgressPercentage 320 } 321 return 0 322} 323 324func (m *OperationMetadata) GetStartTime() *timestamp.Timestamp { 325 if m != nil { 326 return m.StartTime 327 } 328 return nil 329} 330 331// Represents the status of one operation step. 332type OperationMetadata_Step struct { 333 // The short description of the step. 334 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` 335 // The status code. 336 Status OperationMetadata_Status `protobuf:"varint,4,opt,name=status,proto3,enum=google.api.servicemanagement.v1.OperationMetadata_Status" json:"status,omitempty"` 337 XXX_NoUnkeyedLiteral struct{} `json:"-"` 338 XXX_unrecognized []byte `json:"-"` 339 XXX_sizecache int32 `json:"-"` 340} 341 342func (m *OperationMetadata_Step) Reset() { *m = OperationMetadata_Step{} } 343func (m *OperationMetadata_Step) String() string { return proto.CompactTextString(m) } 344func (*OperationMetadata_Step) ProtoMessage() {} 345func (*OperationMetadata_Step) Descriptor() ([]byte, []int) { 346 return fileDescriptor_16a1de86d13c4f21, []int{1, 0} 347} 348 349func (m *OperationMetadata_Step) XXX_Unmarshal(b []byte) error { 350 return xxx_messageInfo_OperationMetadata_Step.Unmarshal(m, b) 351} 352func (m *OperationMetadata_Step) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 353 return xxx_messageInfo_OperationMetadata_Step.Marshal(b, m, deterministic) 354} 355func (m *OperationMetadata_Step) XXX_Merge(src proto.Message) { 356 xxx_messageInfo_OperationMetadata_Step.Merge(m, src) 357} 358func (m *OperationMetadata_Step) XXX_Size() int { 359 return xxx_messageInfo_OperationMetadata_Step.Size(m) 360} 361func (m *OperationMetadata_Step) XXX_DiscardUnknown() { 362 xxx_messageInfo_OperationMetadata_Step.DiscardUnknown(m) 363} 364 365var xxx_messageInfo_OperationMetadata_Step proto.InternalMessageInfo 366 367func (m *OperationMetadata_Step) GetDescription() string { 368 if m != nil { 369 return m.Description 370 } 371 return "" 372} 373 374func (m *OperationMetadata_Step) GetStatus() OperationMetadata_Status { 375 if m != nil { 376 return m.Status 377 } 378 return OperationMetadata_STATUS_UNSPECIFIED 379} 380 381// Represents a diagnostic message (error or warning) 382type Diagnostic struct { 383 // File name and line number of the error or warning. 384 Location string `protobuf:"bytes,1,opt,name=location,proto3" json:"location,omitempty"` 385 // The kind of diagnostic information provided. 386 Kind Diagnostic_Kind `protobuf:"varint,2,opt,name=kind,proto3,enum=google.api.servicemanagement.v1.Diagnostic_Kind" json:"kind,omitempty"` 387 // Message describing the error or warning. 388 Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` 389 XXX_NoUnkeyedLiteral struct{} `json:"-"` 390 XXX_unrecognized []byte `json:"-"` 391 XXX_sizecache int32 `json:"-"` 392} 393 394func (m *Diagnostic) Reset() { *m = Diagnostic{} } 395func (m *Diagnostic) String() string { return proto.CompactTextString(m) } 396func (*Diagnostic) ProtoMessage() {} 397func (*Diagnostic) Descriptor() ([]byte, []int) { 398 return fileDescriptor_16a1de86d13c4f21, []int{2} 399} 400 401func (m *Diagnostic) XXX_Unmarshal(b []byte) error { 402 return xxx_messageInfo_Diagnostic.Unmarshal(m, b) 403} 404func (m *Diagnostic) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 405 return xxx_messageInfo_Diagnostic.Marshal(b, m, deterministic) 406} 407func (m *Diagnostic) XXX_Merge(src proto.Message) { 408 xxx_messageInfo_Diagnostic.Merge(m, src) 409} 410func (m *Diagnostic) XXX_Size() int { 411 return xxx_messageInfo_Diagnostic.Size(m) 412} 413func (m *Diagnostic) XXX_DiscardUnknown() { 414 xxx_messageInfo_Diagnostic.DiscardUnknown(m) 415} 416 417var xxx_messageInfo_Diagnostic proto.InternalMessageInfo 418 419func (m *Diagnostic) GetLocation() string { 420 if m != nil { 421 return m.Location 422 } 423 return "" 424} 425 426func (m *Diagnostic) GetKind() Diagnostic_Kind { 427 if m != nil { 428 return m.Kind 429 } 430 return Diagnostic_WARNING 431} 432 433func (m *Diagnostic) GetMessage() string { 434 if m != nil { 435 return m.Message 436 } 437 return "" 438} 439 440// Represents a source file which is used to generate the service configuration 441// defined by `google.api.Service`. 442type ConfigSource struct { 443 // A unique ID for a specific instance of this message, typically assigned 444 // by the client for tracking purpose. If empty, the server may choose to 445 // generate one instead. 446 Id string `protobuf:"bytes,5,opt,name=id,proto3" json:"id,omitempty"` 447 // Set of source configuration files that are used to generate a service 448 // configuration (`google.api.Service`). 449 Files []*ConfigFile `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"` 450 XXX_NoUnkeyedLiteral struct{} `json:"-"` 451 XXX_unrecognized []byte `json:"-"` 452 XXX_sizecache int32 `json:"-"` 453} 454 455func (m *ConfigSource) Reset() { *m = ConfigSource{} } 456func (m *ConfigSource) String() string { return proto.CompactTextString(m) } 457func (*ConfigSource) ProtoMessage() {} 458func (*ConfigSource) Descriptor() ([]byte, []int) { 459 return fileDescriptor_16a1de86d13c4f21, []int{3} 460} 461 462func (m *ConfigSource) XXX_Unmarshal(b []byte) error { 463 return xxx_messageInfo_ConfigSource.Unmarshal(m, b) 464} 465func (m *ConfigSource) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 466 return xxx_messageInfo_ConfigSource.Marshal(b, m, deterministic) 467} 468func (m *ConfigSource) XXX_Merge(src proto.Message) { 469 xxx_messageInfo_ConfigSource.Merge(m, src) 470} 471func (m *ConfigSource) XXX_Size() int { 472 return xxx_messageInfo_ConfigSource.Size(m) 473} 474func (m *ConfigSource) XXX_DiscardUnknown() { 475 xxx_messageInfo_ConfigSource.DiscardUnknown(m) 476} 477 478var xxx_messageInfo_ConfigSource proto.InternalMessageInfo 479 480func (m *ConfigSource) GetId() string { 481 if m != nil { 482 return m.Id 483 } 484 return "" 485} 486 487func (m *ConfigSource) GetFiles() []*ConfigFile { 488 if m != nil { 489 return m.Files 490 } 491 return nil 492} 493 494// Generic specification of a source configuration file 495type ConfigFile struct { 496 // The file name of the configuration file (full or relative path). 497 FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` 498 // The bytes that constitute the file. 499 FileContents []byte `protobuf:"bytes,3,opt,name=file_contents,json=fileContents,proto3" json:"file_contents,omitempty"` 500 // The type of configuration file this represents. 501 FileType ConfigFile_FileType `protobuf:"varint,4,opt,name=file_type,json=fileType,proto3,enum=google.api.servicemanagement.v1.ConfigFile_FileType" json:"file_type,omitempty"` 502 XXX_NoUnkeyedLiteral struct{} `json:"-"` 503 XXX_unrecognized []byte `json:"-"` 504 XXX_sizecache int32 `json:"-"` 505} 506 507func (m *ConfigFile) Reset() { *m = ConfigFile{} } 508func (m *ConfigFile) String() string { return proto.CompactTextString(m) } 509func (*ConfigFile) ProtoMessage() {} 510func (*ConfigFile) Descriptor() ([]byte, []int) { 511 return fileDescriptor_16a1de86d13c4f21, []int{4} 512} 513 514func (m *ConfigFile) XXX_Unmarshal(b []byte) error { 515 return xxx_messageInfo_ConfigFile.Unmarshal(m, b) 516} 517func (m *ConfigFile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 518 return xxx_messageInfo_ConfigFile.Marshal(b, m, deterministic) 519} 520func (m *ConfigFile) XXX_Merge(src proto.Message) { 521 xxx_messageInfo_ConfigFile.Merge(m, src) 522} 523func (m *ConfigFile) XXX_Size() int { 524 return xxx_messageInfo_ConfigFile.Size(m) 525} 526func (m *ConfigFile) XXX_DiscardUnknown() { 527 xxx_messageInfo_ConfigFile.DiscardUnknown(m) 528} 529 530var xxx_messageInfo_ConfigFile proto.InternalMessageInfo 531 532func (m *ConfigFile) GetFilePath() string { 533 if m != nil { 534 return m.FilePath 535 } 536 return "" 537} 538 539func (m *ConfigFile) GetFileContents() []byte { 540 if m != nil { 541 return m.FileContents 542 } 543 return nil 544} 545 546func (m *ConfigFile) GetFileType() ConfigFile_FileType { 547 if m != nil { 548 return m.FileType 549 } 550 return ConfigFile_FILE_TYPE_UNSPECIFIED 551} 552 553// Represents a service configuration with its name and id. 554type ConfigRef struct { 555 // Resource name of a service config. It must have the following 556 // format: "services/{service name}/configs/{config id}". 557 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 558 XXX_NoUnkeyedLiteral struct{} `json:"-"` 559 XXX_unrecognized []byte `json:"-"` 560 XXX_sizecache int32 `json:"-"` 561} 562 563func (m *ConfigRef) Reset() { *m = ConfigRef{} } 564func (m *ConfigRef) String() string { return proto.CompactTextString(m) } 565func (*ConfigRef) ProtoMessage() {} 566func (*ConfigRef) Descriptor() ([]byte, []int) { 567 return fileDescriptor_16a1de86d13c4f21, []int{5} 568} 569 570func (m *ConfigRef) XXX_Unmarshal(b []byte) error { 571 return xxx_messageInfo_ConfigRef.Unmarshal(m, b) 572} 573func (m *ConfigRef) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 574 return xxx_messageInfo_ConfigRef.Marshal(b, m, deterministic) 575} 576func (m *ConfigRef) XXX_Merge(src proto.Message) { 577 xxx_messageInfo_ConfigRef.Merge(m, src) 578} 579func (m *ConfigRef) XXX_Size() int { 580 return xxx_messageInfo_ConfigRef.Size(m) 581} 582func (m *ConfigRef) XXX_DiscardUnknown() { 583 xxx_messageInfo_ConfigRef.DiscardUnknown(m) 584} 585 586var xxx_messageInfo_ConfigRef proto.InternalMessageInfo 587 588func (m *ConfigRef) GetName() string { 589 if m != nil { 590 return m.Name 591 } 592 return "" 593} 594 595// Change report associated with a particular service configuration. 596// 597// It contains a list of ConfigChanges based on the comparison between 598// two service configurations. 599type ChangeReport struct { 600 // List of changes between two service configurations. 601 // The changes will be alphabetically sorted based on the identifier 602 // of each change. 603 // A ConfigChange identifier is a dot separated path to the configuration. 604 // Example: visibility.rules[selector='LibraryService.CreateBook'].restriction 605 ConfigChanges []*configchange.ConfigChange `protobuf:"bytes,1,rep,name=config_changes,json=configChanges,proto3" json:"config_changes,omitempty"` 606 XXX_NoUnkeyedLiteral struct{} `json:"-"` 607 XXX_unrecognized []byte `json:"-"` 608 XXX_sizecache int32 `json:"-"` 609} 610 611func (m *ChangeReport) Reset() { *m = ChangeReport{} } 612func (m *ChangeReport) String() string { return proto.CompactTextString(m) } 613func (*ChangeReport) ProtoMessage() {} 614func (*ChangeReport) Descriptor() ([]byte, []int) { 615 return fileDescriptor_16a1de86d13c4f21, []int{6} 616} 617 618func (m *ChangeReport) XXX_Unmarshal(b []byte) error { 619 return xxx_messageInfo_ChangeReport.Unmarshal(m, b) 620} 621func (m *ChangeReport) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 622 return xxx_messageInfo_ChangeReport.Marshal(b, m, deterministic) 623} 624func (m *ChangeReport) XXX_Merge(src proto.Message) { 625 xxx_messageInfo_ChangeReport.Merge(m, src) 626} 627func (m *ChangeReport) XXX_Size() int { 628 return xxx_messageInfo_ChangeReport.Size(m) 629} 630func (m *ChangeReport) XXX_DiscardUnknown() { 631 xxx_messageInfo_ChangeReport.DiscardUnknown(m) 632} 633 634var xxx_messageInfo_ChangeReport proto.InternalMessageInfo 635 636func (m *ChangeReport) GetConfigChanges() []*configchange.ConfigChange { 637 if m != nil { 638 return m.ConfigChanges 639 } 640 return nil 641} 642 643// A rollout resource that defines how service configuration versions are pushed 644// to control plane systems. Typically, you create a new version of the 645// service config, and then create a Rollout to push the service config. 646type Rollout struct { 647 // Optional unique identifier of this Rollout. Only lower case letters, digits 648 // and '-' are allowed. 649 // 650 // If not specified by client, the server will generate one. The generated id 651 // will have the form of <date><revision number>, where "date" is the create 652 // date in ISO 8601 format. "revision number" is a monotonically increasing 653 // positive number that is reset every day for each service. 654 // An example of the generated rollout_id is '2016-02-16r1' 655 RolloutId string `protobuf:"bytes,1,opt,name=rollout_id,json=rolloutId,proto3" json:"rollout_id,omitempty"` 656 // Creation time of the rollout. Readonly. 657 CreateTime *timestamp.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 658 // The user who created the Rollout. Readonly. 659 CreatedBy string `protobuf:"bytes,3,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"` 660 // The status of this rollout. Readonly. In case of a failed rollout, 661 // the system will automatically rollback to the current Rollout 662 // version. Readonly. 663 Status Rollout_RolloutStatus `protobuf:"varint,4,opt,name=status,proto3,enum=google.api.servicemanagement.v1.Rollout_RolloutStatus" json:"status,omitempty"` 664 // Strategy that defines which versions of service configurations should be 665 // pushed 666 // and how they should be used at runtime. 667 // 668 // Types that are valid to be assigned to Strategy: 669 // *Rollout_TrafficPercentStrategy_ 670 // *Rollout_DeleteServiceStrategy_ 671 Strategy isRollout_Strategy `protobuf_oneof:"strategy"` 672 // The name of the service associated with this Rollout. 673 ServiceName string `protobuf:"bytes,8,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"` 674 XXX_NoUnkeyedLiteral struct{} `json:"-"` 675 XXX_unrecognized []byte `json:"-"` 676 XXX_sizecache int32 `json:"-"` 677} 678 679func (m *Rollout) Reset() { *m = Rollout{} } 680func (m *Rollout) String() string { return proto.CompactTextString(m) } 681func (*Rollout) ProtoMessage() {} 682func (*Rollout) Descriptor() ([]byte, []int) { 683 return fileDescriptor_16a1de86d13c4f21, []int{7} 684} 685 686func (m *Rollout) XXX_Unmarshal(b []byte) error { 687 return xxx_messageInfo_Rollout.Unmarshal(m, b) 688} 689func (m *Rollout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 690 return xxx_messageInfo_Rollout.Marshal(b, m, deterministic) 691} 692func (m *Rollout) XXX_Merge(src proto.Message) { 693 xxx_messageInfo_Rollout.Merge(m, src) 694} 695func (m *Rollout) XXX_Size() int { 696 return xxx_messageInfo_Rollout.Size(m) 697} 698func (m *Rollout) XXX_DiscardUnknown() { 699 xxx_messageInfo_Rollout.DiscardUnknown(m) 700} 701 702var xxx_messageInfo_Rollout proto.InternalMessageInfo 703 704func (m *Rollout) GetRolloutId() string { 705 if m != nil { 706 return m.RolloutId 707 } 708 return "" 709} 710 711func (m *Rollout) GetCreateTime() *timestamp.Timestamp { 712 if m != nil { 713 return m.CreateTime 714 } 715 return nil 716} 717 718func (m *Rollout) GetCreatedBy() string { 719 if m != nil { 720 return m.CreatedBy 721 } 722 return "" 723} 724 725func (m *Rollout) GetStatus() Rollout_RolloutStatus { 726 if m != nil { 727 return m.Status 728 } 729 return Rollout_ROLLOUT_STATUS_UNSPECIFIED 730} 731 732type isRollout_Strategy interface { 733 isRollout_Strategy() 734} 735 736type Rollout_TrafficPercentStrategy_ struct { 737 TrafficPercentStrategy *Rollout_TrafficPercentStrategy `protobuf:"bytes,5,opt,name=traffic_percent_strategy,json=trafficPercentStrategy,proto3,oneof"` 738} 739 740type Rollout_DeleteServiceStrategy_ struct { 741 DeleteServiceStrategy *Rollout_DeleteServiceStrategy `protobuf:"bytes,200,opt,name=delete_service_strategy,json=deleteServiceStrategy,proto3,oneof"` 742} 743 744func (*Rollout_TrafficPercentStrategy_) isRollout_Strategy() {} 745 746func (*Rollout_DeleteServiceStrategy_) isRollout_Strategy() {} 747 748func (m *Rollout) GetStrategy() isRollout_Strategy { 749 if m != nil { 750 return m.Strategy 751 } 752 return nil 753} 754 755func (m *Rollout) GetTrafficPercentStrategy() *Rollout_TrafficPercentStrategy { 756 if x, ok := m.GetStrategy().(*Rollout_TrafficPercentStrategy_); ok { 757 return x.TrafficPercentStrategy 758 } 759 return nil 760} 761 762func (m *Rollout) GetDeleteServiceStrategy() *Rollout_DeleteServiceStrategy { 763 if x, ok := m.GetStrategy().(*Rollout_DeleteServiceStrategy_); ok { 764 return x.DeleteServiceStrategy 765 } 766 return nil 767} 768 769func (m *Rollout) GetServiceName() string { 770 if m != nil { 771 return m.ServiceName 772 } 773 return "" 774} 775 776// XXX_OneofWrappers is for the internal use of the proto package. 777func (*Rollout) XXX_OneofWrappers() []interface{} { 778 return []interface{}{ 779 (*Rollout_TrafficPercentStrategy_)(nil), 780 (*Rollout_DeleteServiceStrategy_)(nil), 781 } 782} 783 784// Strategy that specifies how clients of Google Service Controller want to 785// send traffic to use different config versions. This is generally 786// used by API proxy to split traffic based on your configured precentage for 787// each config version. 788// 789// One example of how to gradually rollout a new service configuration using 790// this 791// strategy: 792// Day 1 793// 794// Rollout { 795// id: "example.googleapis.com/rollout_20160206" 796// traffic_percent_strategy { 797// percentages: { 798// "example.googleapis.com/20160201": 70.00 799// "example.googleapis.com/20160206": 30.00 800// } 801// } 802// } 803// 804// Day 2 805// 806// Rollout { 807// id: "example.googleapis.com/rollout_20160207" 808// traffic_percent_strategy: { 809// percentages: { 810// "example.googleapis.com/20160206": 100.00 811// } 812// } 813// } 814type Rollout_TrafficPercentStrategy struct { 815 // Maps service configuration IDs to their corresponding traffic percentage. 816 // Key is the service configuration ID, Value is the traffic percentage 817 // which must be greater than 0.0 and the sum must equal to 100.0. 818 Percentages map[string]float64 `protobuf:"bytes,1,rep,name=percentages,proto3" json:"percentages,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"fixed64,2,opt,name=value,proto3"` 819 XXX_NoUnkeyedLiteral struct{} `json:"-"` 820 XXX_unrecognized []byte `json:"-"` 821 XXX_sizecache int32 `json:"-"` 822} 823 824func (m *Rollout_TrafficPercentStrategy) Reset() { *m = Rollout_TrafficPercentStrategy{} } 825func (m *Rollout_TrafficPercentStrategy) String() string { return proto.CompactTextString(m) } 826func (*Rollout_TrafficPercentStrategy) ProtoMessage() {} 827func (*Rollout_TrafficPercentStrategy) Descriptor() ([]byte, []int) { 828 return fileDescriptor_16a1de86d13c4f21, []int{7, 0} 829} 830 831func (m *Rollout_TrafficPercentStrategy) XXX_Unmarshal(b []byte) error { 832 return xxx_messageInfo_Rollout_TrafficPercentStrategy.Unmarshal(m, b) 833} 834func (m *Rollout_TrafficPercentStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 835 return xxx_messageInfo_Rollout_TrafficPercentStrategy.Marshal(b, m, deterministic) 836} 837func (m *Rollout_TrafficPercentStrategy) XXX_Merge(src proto.Message) { 838 xxx_messageInfo_Rollout_TrafficPercentStrategy.Merge(m, src) 839} 840func (m *Rollout_TrafficPercentStrategy) XXX_Size() int { 841 return xxx_messageInfo_Rollout_TrafficPercentStrategy.Size(m) 842} 843func (m *Rollout_TrafficPercentStrategy) XXX_DiscardUnknown() { 844 xxx_messageInfo_Rollout_TrafficPercentStrategy.DiscardUnknown(m) 845} 846 847var xxx_messageInfo_Rollout_TrafficPercentStrategy proto.InternalMessageInfo 848 849func (m *Rollout_TrafficPercentStrategy) GetPercentages() map[string]float64 { 850 if m != nil { 851 return m.Percentages 852 } 853 return nil 854} 855 856// Strategy used to delete a service. This strategy is a placeholder only 857// used by the system generated rollout to delete a service. 858type Rollout_DeleteServiceStrategy struct { 859 XXX_NoUnkeyedLiteral struct{} `json:"-"` 860 XXX_unrecognized []byte `json:"-"` 861 XXX_sizecache int32 `json:"-"` 862} 863 864func (m *Rollout_DeleteServiceStrategy) Reset() { *m = Rollout_DeleteServiceStrategy{} } 865func (m *Rollout_DeleteServiceStrategy) String() string { return proto.CompactTextString(m) } 866func (*Rollout_DeleteServiceStrategy) ProtoMessage() {} 867func (*Rollout_DeleteServiceStrategy) Descriptor() ([]byte, []int) { 868 return fileDescriptor_16a1de86d13c4f21, []int{7, 1} 869} 870 871func (m *Rollout_DeleteServiceStrategy) XXX_Unmarshal(b []byte) error { 872 return xxx_messageInfo_Rollout_DeleteServiceStrategy.Unmarshal(m, b) 873} 874func (m *Rollout_DeleteServiceStrategy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { 875 return xxx_messageInfo_Rollout_DeleteServiceStrategy.Marshal(b, m, deterministic) 876} 877func (m *Rollout_DeleteServiceStrategy) XXX_Merge(src proto.Message) { 878 xxx_messageInfo_Rollout_DeleteServiceStrategy.Merge(m, src) 879} 880func (m *Rollout_DeleteServiceStrategy) XXX_Size() int { 881 return xxx_messageInfo_Rollout_DeleteServiceStrategy.Size(m) 882} 883func (m *Rollout_DeleteServiceStrategy) XXX_DiscardUnknown() { 884 xxx_messageInfo_Rollout_DeleteServiceStrategy.DiscardUnknown(m) 885} 886 887var xxx_messageInfo_Rollout_DeleteServiceStrategy proto.InternalMessageInfo 888 889func init() { 890 proto.RegisterEnum("google.api.servicemanagement.v1.OperationMetadata_Status", OperationMetadata_Status_name, OperationMetadata_Status_value) 891 proto.RegisterEnum("google.api.servicemanagement.v1.Diagnostic_Kind", Diagnostic_Kind_name, Diagnostic_Kind_value) 892 proto.RegisterEnum("google.api.servicemanagement.v1.ConfigFile_FileType", ConfigFile_FileType_name, ConfigFile_FileType_value) 893 proto.RegisterEnum("google.api.servicemanagement.v1.Rollout_RolloutStatus", Rollout_RolloutStatus_name, Rollout_RolloutStatus_value) 894 proto.RegisterType((*ManagedService)(nil), "google.api.servicemanagement.v1.ManagedService") 895 proto.RegisterType((*OperationMetadata)(nil), "google.api.servicemanagement.v1.OperationMetadata") 896 proto.RegisterType((*OperationMetadata_Step)(nil), "google.api.servicemanagement.v1.OperationMetadata.Step") 897 proto.RegisterType((*Diagnostic)(nil), "google.api.servicemanagement.v1.Diagnostic") 898 proto.RegisterType((*ConfigSource)(nil), "google.api.servicemanagement.v1.ConfigSource") 899 proto.RegisterType((*ConfigFile)(nil), "google.api.servicemanagement.v1.ConfigFile") 900 proto.RegisterType((*ConfigRef)(nil), "google.api.servicemanagement.v1.ConfigRef") 901 proto.RegisterType((*ChangeReport)(nil), "google.api.servicemanagement.v1.ChangeReport") 902 proto.RegisterType((*Rollout)(nil), "google.api.servicemanagement.v1.Rollout") 903 proto.RegisterType((*Rollout_TrafficPercentStrategy)(nil), "google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy") 904 proto.RegisterMapType((map[string]float64)(nil), "google.api.servicemanagement.v1.Rollout.TrafficPercentStrategy.PercentagesEntry") 905 proto.RegisterType((*Rollout_DeleteServiceStrategy)(nil), "google.api.servicemanagement.v1.Rollout.DeleteServiceStrategy") 906} 907 908func init() { 909 proto.RegisterFile("google/api/servicemanagement/v1/resources.proto", fileDescriptor_16a1de86d13c4f21) 910} 911 912var fileDescriptor_16a1de86d13c4f21 = []byte{ 913 // 1234 bytes of a gzipped FileDescriptorProto 914 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x56, 0xef, 0x8e, 0xdb, 0x44, 915 0x10, 0xaf, 0xf3, 0xef, 0x2e, 0x93, 0xbb, 0xe0, 0x6e, 0x69, 0x2f, 0x0d, 0xfd, 0x73, 0x4d, 0x85, 916 0x74, 0x12, 0x92, 0xc3, 0x1d, 0x08, 0x28, 0x95, 0x5a, 0xe5, 0x1c, 0xdf, 0x11, 0x7a, 0x67, 0xbb, 917 0xeb, 0x5c, 0x51, 0x51, 0x25, 0x6b, 0x6b, 0x6f, 0x5c, 0xd3, 0xc4, 0xb6, 0xec, 0xcd, 0x49, 0x51, 918 0x9f, 0x81, 0x4f, 0xbc, 0x01, 0x9f, 0x10, 0x2f, 0xc0, 0x2b, 0x20, 0xc4, 0x03, 0x20, 0xf1, 0x18, 919 0xbc, 0x00, 0xda, 0xf5, 0xba, 0x97, 0x3f, 0x87, 0x52, 0xe0, 0x4b, 0xb2, 0xf3, 0xfb, 0xcd, 0xce, 920 0xcc, 0xce, 0xce, 0xce, 0x18, 0xba, 0x41, 0x1c, 0x07, 0x63, 0xda, 0x25, 0x49, 0xd8, 0xcd, 0x68, 921 0x7a, 0x1e, 0x7a, 0x74, 0x42, 0x22, 0x12, 0xd0, 0x09, 0x8d, 0x58, 0xf7, 0x7c, 0xbf, 0x9b, 0xd2, 922 0x2c, 0x9e, 0xa6, 0x1e, 0xcd, 0xb4, 0x24, 0x8d, 0x59, 0x8c, 0xee, 0xe6, 0x1b, 0x34, 0x92, 0x84, 923 0xda, 0xca, 0x06, 0xed, 0x7c, 0xbf, 0x7d, 0x6b, 0xce, 0x22, 0x89, 0xa2, 0x98, 0x11, 0x16, 0xc6, 924 0x91, 0xdc, 0xde, 0xbe, 0x33, 0xc7, 0x7a, 0x71, 0x34, 0x0a, 0x03, 0xd7, 0x7b, 0x45, 0xa2, 0x80, 925 0x4a, 0x7e, 0x67, 0x8e, 0x9f, 0x50, 0x96, 0x86, 0x9e, 0x24, 0x5a, 0xab, 0x81, 0x4a, 0xe6, 0xbe, 926 0x64, 0xc6, 0x71, 0x14, 0xa4, 0xd3, 0x28, 0x0a, 0xa3, 0xa0, 0x1b, 0x27, 0x34, 0x5d, 0xf0, 0x7b, 927 0x53, 0x2a, 0x09, 0xe9, 0xe5, 0x74, 0xd4, 0x25, 0xd1, 0x4c, 0x52, 0xbb, 0xcb, 0xd4, 0x28, 0xa4, 928 0x63, 0xdf, 0x9d, 0x90, 0xec, 0xb5, 0xd4, 0xb8, 0xb5, 0xac, 0x91, 0xb1, 0x74, 0xea, 0x31, 0xc9, 929 0xde, 0x5d, 0x66, 0x59, 0x38, 0xa1, 0x19, 0x23, 0x93, 0x64, 0xe9, 0x4c, 0x69, 0xe2, 0x75, 0x33, 930 0x46, 0xd8, 0x54, 0x06, 0xd5, 0xf1, 0xa0, 0x79, 0x2a, 0x72, 0xe7, 0x3b, 0xf9, 0x89, 0xd0, 0x3d, 931 0xd8, 0x92, 0x87, 0x73, 0x23, 0x32, 0xa1, 0xad, 0xd2, 0xae, 0xb2, 0x57, 0xc7, 0x0d, 0x89, 0x99, 932 0x64, 0x42, 0x91, 0x06, 0xd7, 0x92, 0x34, 0xf6, 0xa7, 0x1e, 0x4d, 0xdd, 0x24, 0x8d, 0xbf, 0xa3, 933 0x1e, 0x73, 0x43, 0xbf, 0x55, 0x16, 0x9a, 0x57, 0x0b, 0xca, 0xce, 0x99, 0x81, 0xdf, 0xf9, 0xb3, 934 0x0c, 0x57, 0xad, 0x22, 0x1d, 0xa7, 0x94, 0x11, 0x9f, 0x30, 0x82, 0x3e, 0x84, 0x66, 0x71, 0xb3, 935 0xc2, 0x53, 0xd6, 0x52, 0x76, 0xcb, 0x7b, 0x75, 0xbc, 0x5d, 0xa0, 0xdc, 0x57, 0x86, 0x4e, 0xa1, 936 0x9a, 0x31, 0x9a, 0x64, 0xad, 0xd2, 0x6e, 0x79, 0xaf, 0x71, 0xf0, 0xb9, 0xb6, 0xe6, 0xf6, 0xb5, 937 0x15, 0x4f, 0x9a, 0xc3, 0x68, 0x82, 0x73, 0x2b, 0xa8, 0x2b, 0x62, 0x0f, 0x52, 0x9a, 0x65, 0x6e, 938 0x42, 0x53, 0x8f, 0x46, 0x8c, 0x04, 0x54, 0xc4, 0x5e, 0xc5, 0xa8, 0xa0, 0xec, 0xb7, 0x0c, 0x7a, 939 0x00, 0x90, 0x31, 0x92, 0x32, 0x97, 0xe7, 0xb4, 0x55, 0xd9, 0x55, 0xf6, 0x1a, 0x07, 0xed, 0x22, 940 0x88, 0x22, 0xe1, 0xda, 0xb0, 0x48, 0x38, 0xae, 0x0b, 0x6d, 0x2e, 0xb7, 0xdf, 0x40, 0x85, 0xbb, 941 0x46, 0xbb, 0xd0, 0xf0, 0x69, 0xe6, 0xa5, 0x61, 0xc2, 0xc3, 0x2a, 0x32, 0x3a, 0x07, 0xa1, 0xa7, 942 0x50, 0xcb, 0xaf, 0x45, 0x38, 0x68, 0x1e, 0x3c, 0xf8, 0x4f, 0xa7, 0xe4, 0x06, 0xb0, 0x34, 0xd4, 943 0x09, 0xa0, 0x96, 0x23, 0xe8, 0x06, 0x20, 0x67, 0xd8, 0x1b, 0x9e, 0x39, 0xee, 0x99, 0xe9, 0xd8, 944 0x86, 0x3e, 0x38, 0x1a, 0x18, 0x7d, 0xf5, 0x0a, 0xda, 0x84, 0x4a, 0xdf, 0x32, 0x0d, 0x55, 0x41, 945 0xef, 0x41, 0xc3, 0xb4, 0x86, 0xae, 0x33, 0xec, 0xe1, 0xa1, 0xd1, 0x57, 0x4b, 0x1c, 0x18, 0x98, 946 0xae, 0x8d, 0xad, 0x63, 0x6c, 0x38, 0x8e, 0x5a, 0x46, 0x00, 0xb5, 0xa3, 0xde, 0xe0, 0xc4, 0xe8, 947 0xab, 0x15, 0xb4, 0x0d, 0x75, 0xbd, 0x67, 0xea, 0xc6, 0x09, 0x17, 0xab, 0x9d, 0x9f, 0x14, 0x80, 948 0x7e, 0x48, 0x82, 0x28, 0xce, 0x58, 0xe8, 0xa1, 0x36, 0x6c, 0x8e, 0x63, 0x4f, 0x84, 0xd6, 0x52, 949 0xc4, 0x49, 0xdf, 0xca, 0xa8, 0x0f, 0x95, 0xd7, 0x61, 0xe4, 0x8b, 0x0c, 0x34, 0x0f, 0x3e, 0x5e, 950 0x7b, 0xc8, 0x0b, 0xb3, 0xda, 0x93, 0x30, 0xf2, 0xb1, 0xd8, 0x8d, 0x5a, 0xb0, 0x31, 0xa1, 0x59, 951 0x56, 0x5c, 0x5b, 0x1d, 0x17, 0x62, 0xe7, 0x0e, 0x54, 0xb8, 0x1e, 0x6a, 0xc0, 0xc6, 0x37, 0x3d, 952 0x6c, 0x0e, 0xcc, 0x63, 0xf5, 0x0a, 0xaa, 0x43, 0xd5, 0xc0, 0xd8, 0xc2, 0xaa, 0xd2, 0x21, 0xb0, 953 0xa5, 0x8b, 0x17, 0xef, 0x88, 0x02, 0x43, 0x4d, 0x28, 0x85, 0x7e, 0xab, 0x2a, 0x8c, 0x94, 0x42, 954 0x1f, 0xf5, 0xa0, 0x3a, 0x0a, 0xc7, 0xb4, 0xa8, 0xb5, 0x8f, 0xd6, 0x06, 0x98, 0x5b, 0x3b, 0x0a, 955 0xc7, 0x14, 0xe7, 0x3b, 0x3b, 0xbf, 0x94, 0x00, 0x2e, 0x50, 0xf4, 0x01, 0xd4, 0x39, 0xee, 0x26, 956 0x84, 0xbd, 0x2a, 0xd2, 0xc1, 0x01, 0x9b, 0xb0, 0x57, 0xe8, 0x3e, 0x6c, 0x0b, 0xd2, 0x8b, 0x23, 957 0x46, 0x23, 0x96, 0x89, 0xe3, 0x6c, 0xe1, 0x2d, 0x0e, 0xea, 0x12, 0x43, 0x4f, 0xa5, 0x05, 0x36, 958 0x4b, 0xa8, 0xac, 0x8e, 0x4f, 0xff, 0x45, 0x5c, 0x1a, 0xff, 0x19, 0xce, 0x12, 0x9a, 0xfb, 0xe5, 959 0xab, 0xce, 0x0f, 0x0a, 0x6c, 0x16, 0x30, 0xba, 0x09, 0xd7, 0x8f, 0x06, 0x27, 0x86, 0x3b, 0x7c, 960 0x6e, 0x1b, 0x4b, 0x05, 0xb2, 0x03, 0xd7, 0x1c, 0x03, 0x3f, 0x1b, 0xe8, 0x86, 0xab, 0x5b, 0xe6, 961 0xd1, 0xe0, 0xd8, 0x7d, 0xde, 0x3b, 0x3d, 0x51, 0x15, 0x74, 0x15, 0xb6, 0x2d, 0xdb, 0x30, 0xdd, 962 0x9e, 0x3d, 0x70, 0xbf, 0x76, 0x2c, 0x53, 0x2d, 0x2d, 0x40, 0x42, 0xab, 0x8c, 0x6e, 0xc3, 0x4d, 963 0x61, 0xb9, 0x6f, 0x38, 0x3a, 0x1e, 0xd8, 0x43, 0x0b, 0xbb, 0x8e, 0x31, 0xe4, 0x55, 0x35, 0xb4, 964 0xd4, 0x0a, 0x6a, 0x02, 0x88, 0xa5, 0xcb, 0x95, 0xd4, 0x5a, 0xe7, 0x2e, 0xd4, 0xf3, 0xb0, 0x31, 965 0x1d, 0x21, 0x04, 0x15, 0xd1, 0x7d, 0xf2, 0x94, 0x89, 0x75, 0xc7, 0x82, 0x2d, 0x5d, 0x34, 0x6a, 966 0x4c, 0x93, 0x38, 0x65, 0xe8, 0x31, 0x34, 0x17, 0xfa, 0x77, 0xde, 0x40, 0x1a, 0x07, 0xad, 0xf9, 967 0xf4, 0xe4, 0x26, 0xe5, 0xbe, 0x6d, 0x6f, 0x4e, 0xca, 0x3a, 0x7f, 0xd5, 0x60, 0x03, 0xc7, 0xe3, 968 0x71, 0x3c, 0x65, 0xe8, 0x36, 0x40, 0x9a, 0x2f, 0x79, 0x2b, 0xcb, 0xdd, 0xd6, 0x25, 0x32, 0xf0, 969 0xd1, 0x43, 0x68, 0x78, 0x29, 0x25, 0x8c, 0xe6, 0x6d, 0xa0, 0xb4, 0xb6, 0x0d, 0x40, 0xae, 0xce, 970 0x01, 0x6e, 0x3b, 0x97, 0x7c, 0xf7, 0xe5, 0x4c, 0xd6, 0x6c, 0x5d, 0x22, 0x87, 0x33, 0x64, 0x2e, 971 0x3d, 0xfe, 0xcf, 0xd6, 0x5e, 0xaf, 0x0c, 0xba, 0xf8, 0x5f, 0x7c, 0xf9, 0xe8, 0x0d, 0xb4, 0x58, 972 0x4a, 0x46, 0xa3, 0xd0, 0x2b, 0x3a, 0x9c, 0x9b, 0xb1, 0x94, 0x30, 0x1a, 0xcc, 0x44, 0xad, 0x37, 973 0x0e, 0x1e, 0xbf, 0xb3, 0x87, 0x61, 0x6e, 0x48, 0xf6, 0x43, 0x47, 0x9a, 0xf9, 0xea, 0x0a, 0xbe, 974 0xc1, 0x2e, 0x65, 0xd0, 0x0c, 0x76, 0x7c, 0x3a, 0xa6, 0x8c, 0xba, 0xc5, 0x14, 0x79, 0xeb, 0xfb, 975 0x57, 0x45, 0x38, 0x7f, 0xf4, 0xce, 0xce, 0xfb, 0xc2, 0x90, 0x1c, 0x4c, 0x73, 0xbe, 0xaf, 0xfb, 976 0x97, 0x11, 0x2b, 0x93, 0x6b, 0x73, 0x65, 0x72, 0xb5, 0x7f, 0x57, 0xe0, 0xc6, 0xe5, 0x47, 0x42, 977 0x29, 0x34, 0x2e, 0xe6, 0x41, 0x51, 0x4a, 0xf6, 0xff, 0x4c, 0x94, 0x76, 0x31, 0x48, 0x32, 0x23, 978 0x62, 0xe9, 0x0c, 0xcf, 0x3b, 0x69, 0x3f, 0x02, 0x75, 0x59, 0x01, 0xa9, 0x50, 0x7e, 0x4d, 0x67, 979 0xb2, 0x02, 0xf9, 0x12, 0xbd, 0x0f, 0xd5, 0x73, 0x32, 0x9e, 0xe6, 0x55, 0xa7, 0xe0, 0x5c, 0xf8, 980 0xb2, 0xf4, 0x85, 0xd2, 0xde, 0x81, 0xeb, 0x97, 0xe6, 0xa8, 0xf3, 0xbd, 0x02, 0xdb, 0x0b, 0xc5, 981 0x81, 0xee, 0x40, 0x1b, 0x5b, 0x27, 0x27, 0xd6, 0x99, 0x68, 0xf3, 0xab, 0xc3, 0x60, 0xa9, 0xe3, 982 0x2b, 0xbc, 0x87, 0x3a, 0x67, 0xba, 0xce, 0x85, 0xd2, 0x62, 0xcb, 0x5f, 0x9c, 0x06, 0x0d, 0xd8, 983 0xb0, 0x0d, 0xb3, 0xcf, 0x7b, 0x6d, 0x95, 0x8f, 0x9a, 0x9c, 0x70, 0xb9, 0x33, 0xa3, 0xef, 0x1e, 984 0xf6, 0xf4, 0x27, 0x6a, 0xed, 0x10, 0x60, 0xb3, 0x28, 0x83, 0xc3, 0x3f, 0x14, 0xb8, 0xef, 0xc5, 985 0x93, 0x75, 0x99, 0x3d, 0x6c, 0xe2, 0xe2, 0xbb, 0xcf, 0xe6, 0xcf, 0xcb, 0x56, 0xbe, 0xb5, 0xe5, 986 0x96, 0x20, 0x1e, 0x93, 0x28, 0xd0, 0xe2, 0x34, 0xe8, 0x06, 0x34, 0x12, 0x8f, 0x4f, 0x7e, 0x44, 987 0x92, 0x24, 0xcc, 0xfe, 0xf1, 0x43, 0xf2, 0xe1, 0x0a, 0xf8, 0x63, 0xa9, 0x72, 0xdc, 0x73, 0x4e, 988 0x7f, 0x2e, 0xdd, 0x3b, 0xce, 0x2d, 0xeb, 0xe3, 0x78, 0xea, 0x6b, 0x32, 0x9b, 0xa7, 0x17, 0xe1, 989 0x3c, 0xdb, 0xff, 0xad, 0xd0, 0x79, 0x21, 0x74, 0x5e, 0xac, 0xe8, 0xbc, 0x78, 0xb6, 0xff, 0xb2, 990 0x26, 0x62, 0xf9, 0xe4, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x67, 0x13, 0xc5, 0x22, 0xd3, 0x0a, 991 0x00, 0x00, 992} 993