@alphauspkgs/blue-sdk-ts 1.0.57 → 1.0.58
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/billing/v1/billing_pb.js +178 -116
- package/billing/v1/billing_pb.ts +340 -117
- package/package.json +1 -1
package/billing/v1/billing_pb.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// @generated from file billing/v1/billing.proto (package blueapi.billing.v1, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
|
|
5
|
-
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
-
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
|
|
6
|
+
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
7
7
|
import type { Account } from "../../api/account_pb";
|
|
8
8
|
import { file_api_account } from "../../api/account_pb";
|
|
9
9
|
import type { AdditionalItems, InvoiceMessageSchema, InvoiceSchema } from "../../api/invoice_pb";
|
|
@@ -44,8 +44,8 @@ import type { OperationSchema } from "../../protos/operation_pb";
|
|
|
44
44
|
import { file_protos_operation } from "../../protos/operation_pb";
|
|
45
45
|
import { file_google_api_annotations } from "../../google/api/annotations_pb";
|
|
46
46
|
import { file_google_api_field_behavior } from "../../google/api/field_behavior_pb";
|
|
47
|
-
import type { EmptySchema, FieldMask } from "@bufbuild/protobuf/wkt";
|
|
48
|
-
import { file_google_protobuf_empty, file_google_protobuf_field_mask } from "@bufbuild/protobuf/wkt";
|
|
47
|
+
import type { EmptySchema, FieldMask, Timestamp } from "@bufbuild/protobuf/wkt";
|
|
48
|
+
import { file_google_protobuf_empty, file_google_protobuf_field_mask, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
49
49
|
import { file_protoc_gen_openapiv2_options_annotations } from "../../protoc-gen-openapiv2/options/annotations_pb";
|
|
50
50
|
import type { Message } from "@bufbuild/protobuf";
|
|
51
51
|
|
|
@@ -53,7 +53,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
53
53
|
* Describes the file billing/v1/billing.proto.
|
|
54
54
|
*/
|
|
55
55
|
export const file_billing_v1_billing: GenFile = /*@__PURE__*/
|
|
56
|
-
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKgBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRIQCghoYXNDaGlsZBgNIAEoCBI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLxAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBIgASgBIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkiswQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgUIAEoCSI1CgpBd3NPcHRpb25zEhYKDnVzZVByb0Zvcm1hQ3VyGAEgASgIEg8KB3BheWVySWQYAiABKAkiqwEKDkFjY291bnRPcHRpb25zEjEKA2F3cxgBIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjEKA2djcBgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjMKBWF6dXJlGAMgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMiTgoQUmVnaXN0ZXJBY2NvdW50cxIPCgdlbmFibGVkGAEgASgIEhEKCWFjY291bnRJZBgCIAEoCRIWCg51bkxpbmtPblJlbW92ZRgDIAEoCCJUCg5WZW5kb3JBY2NvdW50cxIOCgZ2ZW5kb3IYASABKAkSMgoIYWNjb3VudHMYAiADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkImAKDEF6dXJlT3B0aW9ucxIVCg1yZXNvdXJjZUdyb3VwGAEgASgIEhsKE2FwcGx5UGNFYXJuZWRDcmVkaXQYAiABKAgSHAoUYXBwbHlDYW1wYWlnblByaWNpbmcYAyABKAgiqgcKH0NyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEhkKEWludm9pY2VUZW1wbGF0ZUlkGBQgASgJEjMKC3RhZ1NldHRpbmdzGBUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgWIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nEjoKDnZlbmRvckFjY291bnRzGBcgAygLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLlZlbmRvckFjY291bnRzElsKDGN1c3RvbUZpZWxkcxgYIAMoCzJFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWRSZXF1ZXN0LkN1c3RvbUZpZWxkc0VudHJ5EjYKDGF6dXJlT3B0aW9ucxgZIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BenVyZU9wdGlvbnMaMwoRQ3VzdG9tRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL/AQogQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USRwoDYXdzGAEgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkkKBWF6dXJlGAIgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkcKA2djcBgDIAEoCzI6LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvciL1AwomQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISEAoIY2FsY1R5cGUYASABKAkSFAoMZGlzY291bnRSYXRlGAIgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgDIAEoCRIXCg9zdWJzdGl0dXRpb25GaXgYBCABKAESGAoQc3Vic3RpdHV0aW9uUmF0ZRgFIAEoARISCgpzdXBwb3J0RmVlGAYgASgJEhMKC3N1cHBvcnRSYXRlGAcgASgBEhIKCnN1cHBvcnRGaXgYCCABKAESDwoHdGF4UmF0ZRgJIAEoARIQCghjdXJyZW5jeRgKIAEoCRIbChNkaXNjb3VudFRhcmdldFVzYWdlGAsgASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGAwgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGA0gASgJEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDiABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYDyABKAkSGwoTc3VwcG9ydEFtb3VudFRhcmdldBgQIAEoCRIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgRIAEoCRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgSIAEoASJjChZHZXRCaWxsaW5nR3JvdXBSZXF1ZXN0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlEKF0dldEJpbGxpbmdHcm91cFJlc3BvbnNlEjYKDGJpbGxpbmdHcm91cBgBIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAilgEKC0FjY2Vzc0dyb3VwEhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSFwoPYWNjZXNzR3JvdXBOYW1lGAIgASgJEh4KFmFjY2Vzc0dyb3VwRGVzY3JpcHRpb24YAyABKAkSNwoNYmlsbGluZ0dyb3VwcxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiXgoVR2V0QWNjZXNzR3JvdXBSZXF1ZXN0EhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siTgoWR2V0QWNjZXNzR3JvdXBSZXNwb25zZRI0CgthY2Nlc3NHcm91cBgBIAEoCzIfLmJsdWVhcGkuYmlsbGluZy52MS5BY2Nlc3NHcm91cCKvAgoSQXdzRGFpbHlSdW5IaXN0b3J5EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg0KBW1vbnRoGAMgASgJEkAKCGFjY291bnRzGAQgAygLMi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50GpQBCgdBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRJHCgdoaXN0b3J5GAIgAygLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50Lkhpc3RvcnkaLQoHSGlzdG9yeRIRCgl0aW1lc3RhbXAYASABKAkSDwoHdHJpZ2dlchgCIAEoCSI/Ch1MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBINCgVtb250aBgBIAEoCRIPCgdncm91cElkGAIgASgJIlYKGkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRINCgVtb250aBgDIAEoCSKGAQoPVXNhZ2VDb3N0c0RyaWZ0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg8KB2FjY291bnQYAyABKAkSEAoIc25hcHNob3QYBCABKAESDwoHY3VycmVudBgFIAEoARIMCgRkaWZmGAYgASgBIjIKEUdldEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSI5ChhFeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIigKGUV4cG9ydEludm9pY2VGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIjUKI1JlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSIkCiJMaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Il4KIUdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCRItCglmaWVsZE1hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrImoKF0ludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJIhwKGkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Il0KKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZVJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISHwoRaW52b2ljZVRlbXBsYXRlSWQYAiABKAlCBOJBAQIingIKG0xpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2NyZWF0ZWQYBCABKAkSDwoHdXBkYXRlZBgFIAEoCRIZChFudW1iZXJPZkNvbm5lY3RlZBgGIAEoBRJQChVjb25uZWN0ZWRCaWxsaW5nR3JvdXAYByADKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSQQoIaW52b2ljZXMYCCABKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzIiIKIEdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0IkgKIUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZRIjChtzaG93UklTUFVwZnJvbnRUaW1lSW50ZXJ2YWwYASABKAgirAEKI1VwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0ElUKB3NldHRpbmcYASADKAsyRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QuU2V0dGluZ0VudHJ5Gi4KDFNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImwKHUludm9pY2VDb25uZWN0ZWRCaWxsaW5nR3JvdXBzEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkiPAopTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKHAQoeQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEg8KB2FjY291bnQYAiABKAkSSAoQc2VydmljZURpc2NvdW50cxgDIAEoCzIuLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyI4ChdBY2NvdW50U2VydmljZURpc2NvdW50cxIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkifQorQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIn0KK1VwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyJtCixVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyI+CitEZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkifQorUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIk8KMENyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEgoKAmlkGAIgASgJIj8KMUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiTwowVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJDCjBEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJzChRDcmVhdGVJbnZvaWNlUmVxdWVzdBIMCgRkYXRlGAQgASgJEg4KBnZlbmRvchgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJEhoKEmV4Y2x1ZGVEZXNjZW5kYW50cxgFIAEoCCIlChdHZXRJbnZvaWNlU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSIoChhMaXN0SW52b2ljZVN0YXR1c1JlcXVlc3QSDAoEZGF0ZRgBIAEoCSJgChxVcGRhdGVJbnZvaWNlUHJldmlld3NSZXF1ZXN0EgwKBGRhdGUYASABKAkSEQoJYWxsR3JvdXBzGAIgASgIEg4KBmdyb3VwcxgDIAMoCRIPCgdlbmFibGVkGAQgASgIIs8BChVDcmVhdGVSZXNlbGxlclJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIUCgxub3RpZmljYXRpb24YBCABKAgSNgoKd2F2ZUNvbmZpZxgFIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZxI2CgphcXVhQ29uZmlnGAYgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnIkYKFExpc3RSZXNlbGxlcnNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlAKEkdldFJlc2VsbGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIuCgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayKmAgoVVXBkYXRlUmVzZWxsZXJSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECEhMKBWVtYWlsGAIgASgJQgTiQQEBEhcKCHBhc3N3b3JkGAMgASgJQgXiQQIEARI8Cgp3YXZlQ29uZmlnGAQgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnQgTiQQEBEjwKCmFxdWFDb25maWcYBSADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWdCBOJBAQESGwoMbm90aWZpY2F0aW9uGAYgASgIQgXiQQIEARI0Cgp1cGRhdGVNYXNrGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIjChVEZWxldGVSZXNlbGxlclJlcXVlc3QSCgoCaWQYASABKAkiSgoYR2V0QmlsbGluZ1NldHRpbmdSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIscCChlHZXRCaWxsaW5nU2V0dGluZ1Jlc3BvbnNlEjAKCXllYXJNb250aBgBIAMoCzIdLmJsdWVhcGkuYXBpLnJpcHBsZS5ZZWFyTW9udGgSNAoOcm91bmRpbmdNZXRob2QYAiABKAsyHC5ibHVlYXBpLmFwaS5yaXBwbGUuUm91bmRpbmcSOgoUZXhwb3J0Um91bmRpbmdNZXRob2QYAyABKAsyHC5ibHVlYXBpLmFwaS5yaXBwbGUuUm91bmRpbmcSOAoNaW52b2ljZUxheW91dBgEIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EjMKDmludm9pY2VEdWVEYXRlGAUgASgLMhsuYmx1ZWFwaS5hcGkucmlwcGxlLkR1ZURhdGUSFwoPc3VwcG9ydEN1cnJlbmN5GAYgAygJIjkKGExpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkiZQocU2V0R2xvYmFsRXhjaGFuZ2VSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGAQgASgBIncKG1NldFBheWVyRXhjaGFuZ2VSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEg0KBW1vbnRoGAMgASgJEhAKCGN1cnJlbmN5GAQgASgJEhQKDGV4Y2hhbmdlUmF0ZRgFIAEoASJsCiJTZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGVSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDQoFbW9udGgYAiABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGAQgASgBIuIBChlMaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlEg0KBW1vbnRoGAEgASgJEjYKBmNvbW1vbhgCIAEoCzImLmJsdWVhcGkuYXBpLnJpcHBsZS5Db21tb25FeGNoYW5nZVJhdGUSQgoMYmlsbGluZ0dyb3VwGAMgAygLMiwuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZRI6CgVwYXllchgEIAEoCzIrLmJsdWVhcGkuYXBpLnJpcHBsZS5WZW5kb3JQYXllckV4Y2hhbmdlUmF0ZSJJChdMaXN0QWNjZXNzR3JvdXBzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJUChhDcmVhdGVBY2Nlc3NHcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAMgAygJImAKGFVwZGF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkiJgoYRGVsZXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIp4BChJMaXN0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAyABKAkSLgoKZmllbGRfbWFzaxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSHwoXY2hpbGRCaWxsaW5nSW50ZXJuYWxJZHMYBSADKAkinQkKE0xpc3RJbnZvaWNlUmVzcG9uc2USGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIaChJmaW5hbGl6YXRpb25TdGF0dXMYBSABKAkSEQoJaXNDcmVhdGVkGAYgASgIEhkKEWlzU2V0dGluZ01vZGlmaWVkGAcgASgIEhMKC2NyZWF0ZWREYXRlGAggASgJEhMKC3VwZGF0ZWREYXRlGAkgASgJEhYKDmNyZWF0ZWRWZW5kb3JzGAogAygJEhMKC2lzUHVibGlzaGVkGAsgASgIEl0KE3ZlbmRvckJpbGxpbmdBbW91bnQYDCADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5WZW5kb3JCaWxsaW5nQW1vdW50RW50cnkSGgoSYmlsbGluZ0Ftb3VudFRvdGFsGA0gASgJEhAKCGN1cnJlbmN5GA4gASgJEg0KBXVybElkGA8gASgJEm0KG2NyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZxgQIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkNyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EmkKGXNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmcYESADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5TYXZlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSbQobZGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nGBIgAygLMkguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuRGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSEAoIaGFzQ2hpbGQYEyABKAgSFwoPYXR0YWNoZWRWZW5kb3JzGBQgAygJGjoKGFZlbmRvckJpbGxpbmdBbW91bnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKIENyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBGmUKHlNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ARpnCiBEZWZhdWx0VmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ASIpChtMaXN0QWJjQmlsbGluZ0dyb3Vwc1JlcXVlc3QSCgoCaWQYASABKAkiTgoiTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzUmVxdWVzdBIPCgdwYXllcklkGAEgASgJEhcKD2JpbGxpbmdHcm91cEFybhgCIAEoCSKPAQoPQWJjQmlsbGluZ0dyb3VwEgsKA2FybhgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGNyZWF0aW9uVGltZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIYChBwcmltYXJ5QWNjb3VudElkGAUgASgJEgwKBHNpemUYBiABKAkSDgoGc3RhdHVzGAcgASgJIjQKCkFiY0FjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJImIKHVJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDQoFbW9udGgYAyABKAkSDwoHZmVlVHlwZRgEIAEoCSKZAQocUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQEaTgoiQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0QXdzT3B0aW9ucxITCgtzcHBEaXNjb3VudBgBIAEoCBITCgtlZHBEaXNjb3VudBgCIAEoCCJDChlHZXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiKeAwobQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhJTCgdzZXR0aW5nGAIgASgLMjwuYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmdCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAhr8AQoMQXBwbHlTZXR0aW5nEhMKBW1vbnRoGAEgASgJQgTiQQEBEhUKB3RheEZyZWUYAiABKAhCBOJBAQESagoMZXhjaGFuZ2VSYXRlGAMgAygLMk4uYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmcuRXhjaGFuZ2VSYXRlRW50cnlCBOJBAQESHwoRYmlsbGluZ0ludGVybmFsSWQYBCABKAlCBOJBAQEaMwoRRXhjaGFuZ2VSYXRlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJMCh1SZXN0b3JlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAiJfChtTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECEhgKCnN0YXJ0TW9udGgYAyABKAlCBOJBAQIi/AEKHkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQISVgoGY29uZmlnGAMgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BY2NvdW50Q29uZmlnQgTiQQECEiEKE2FjY291bnRGb3JSZW1haW5pbmcYBCABKAlCBOJBAQIaNwoNQWNjb3VudENvbmZpZxIQCgJpZBgBIAEoCUIE4kEBAhIUCgZhbW91bnQYAiABKAFCBOJBAQIiTAoiUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIiTwolUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIifgoWQ3JlYXRlQ3VzdG9tRmVlUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQISOQoHZW50cmllcxgDIAMoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GZWVFbnRyeUIE4kEBAiKhAwoOQ3VzdG9tRmVlRW50cnkSFwoJYWNjb3VudElkGAEgASgJQgTiQQECEhwKDnBheWVyQWNjb3VudElkGAIgASgJQgTiQQECEhUKB2ZlZVR5cGUYAyABKAlCBOJBAQISGQoLbW9iaW5naVR5cGUYBCABKAlCBOJBAQISFAoGYW1vdW50GAUgASgBQgTiQQECEhoKDGN1cnJlbmN5Q29kZRgGIAEoCUIE4kEBAhIZCgtkZXNjcmlwdGlvbhgHIAEoCUIE4kEBAhIZCgtwcm9kdWN0Q29kZRgIIAEoCUIE4kEBARIZCgtwcm9kdWN0TmFtZRgJIAEoCUIE4kEBARIYCgp1c2FnZVN0YXJ0GAogASgJQgTiQQEBEhoKDHRpbWVJbnRlcnZhbBgLIAEoCUIE4kEBARJACgRtZXRhGAwgAygLMiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZlZUVudHJ5Lk1ldGFFbnRyeUIE4kEBARorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIqChdDcmVhdGVDdXN0b21GZWVSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgFIn0KH0xpc3RBZGp1c3RtZW50RW50cnlJdGVtc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhMKBW1vbnRoGAIgASgJQgTiQQECEhkKC21vYmluZ2lUeXBlGAMgASgJQgTiQQEBEhQKBnN0YXR1cxgEIAEoCUIE4kEBASK6AQoTQWRqdXN0bWVudEVudHJ5SXRlbRI1CgVlbnRyeRgBIAEoCzImLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkSPwoEbWV0YRgCIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5BZGp1c3RtZW50RW50cnlJdGVtLk1ldGFFbnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI8ChtMaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIkoKD1Jlc291cmNlQWNjb3VudBIPCgdwYXllcklkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSEgoKcmVnaXN0ZXJlZBgDIAEoCCJIChpHZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGgoSaW5jbHVkZVNQUERpc2NvdW50GAIgASgIIo0BCh1DcmVhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Io0BCh1VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Ii8KHURlbGV0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJnChlSZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJcCiRSZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlc1JlcXVlc3QSNAoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQEiZgoiR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoCRI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJ8CiVDcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSMAoGY29uZmlnGAMgASgLMiAuYmx1ZWFwaS5hcGkucmlwcGxlLk1ldGhvZENvbmZpZyLFAQolVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhJUChhjdXN0b21pemVkQmlsbGluZ1NlcnZpY2UYAiABKAsyLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjMKJURlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSCgoCaWQYASABKAkiXQouR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiLJAQovR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVzcG9uc2USEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAMgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEiwKCGFjY291bnRzGAQgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudEIE4kEBASL3AgouU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhKAAQoHc2V0dGluZxgDIAMoCzJpLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASJgCjFEZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIpEBCiRDcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRJGCgdzZXR0aW5nGAMgASgLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzU2V0dGluZyLFAQokVXBkYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECElUKF2ludm9pY2VTZXJ2aWNlRGlzY291bnRzGAIgASgLMi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjIKJERlbGV0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCSJuCgdUYWdEYXRhEhIKCmN1c3RvbWVySWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRImCgR0YWdzGAQgAygLMhguYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3MiTwoEVGFncxILCgNrZXkYASABKAkSDgoGdmFsdWVzGAIgAygJEhcKD3RvdGFsVmFsdWVDb3VudBgDIAEoBRIRCgl0cnVuY2F0ZWQYBCABKAgiLgoOR2V0VGFnc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgwKBHR5cGUYAiABKAkigAEKFExpc3RUYWdWYWx1ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEg4KBnRhZ0tleRgDIAEoCRISCgpwYWdlTnVtYmVyGAQgASgFEhAKCHBhZ2VTaXplGAUgASgFEg4KBnNlYXJjaBgGIAEoCSJ6ChVMaXN0VGFnVmFsdWVzUmVzcG9uc2USDgoGdmFsdWVzGAEgAygJEhcKD3RvdGFsVmFsdWVDb3VudBgCIAEoBRISCgpwYWdlTnVtYmVyGAMgASgFEhAKCHBhZ2VTaXplGAQgASgFEhIKCnRvdGFsUGFnZXMYBSABKAUiOwoLQ3VzdG9tRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIl4KF0JpbGxpbmdHcm91cEN1c3RvbUZpZWxkEg0KBXZhbHVlGAEgASgJEjQKC2N1c3RvbUZpZWxkGAIgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIjUKIkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKFAQojTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRJNChhiaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQiPAoYQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJIChhVcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIiYKGERlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBIKCgJpZBgBIAEoCSIYChZMaXN0Q3VzdG9tRmllbGRSZXF1ZXN0ImsKF0NyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSJhCgxGcmVlRm9ybUl0ZW0SDQoFbGFiZWwYASABKAkSEAoIdW5pdENvc3QYAiABKAMSDQoFdG90YWwYBSABKAMSEAoIcXVhbnRpdHkYAyABKA0SDwoHZW5hYmxlZBgEIAEoCCI6ChdEZWxldGVGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCSI9ChRHZXRGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEhQKDGlzQXNzb2NpYXRlZBgCIAEoCCJuChVHZXRGcmVlRm9ybWF0UmVzcG9uc2USDwoHZ3JvdXBJZBgDIAEoCRIOCgZ2ZW5kb3IYASABKAkSNAoKZnJlZUZvcm1hdBgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0iOgomR2V0TW9udGhseU1pc2NGZWVJbXBvcnRUZW1wbGF0ZVJlcXVlc3QSEAoIbGFuZ3VhZ2UYASABKAkisQEKHE1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGUSDgoGZm9ybWF0GAEgASgJEhYKDmZvcm1hdF92ZXJzaW9uGAIgASgJEg8KB2hlYWRlcnMYAyADKAkSEgoKc2FtcGxlX3JvdxgEIAMoCRIVCg1hbGxvd2VkX21vZGVzGAUgAygJEhsKE21heF9maWxlX3NpemVfYnl0ZXMYBiABKAMSEAoIbWF4X3Jvd3MYByABKAUirwEKIEJ1bGtJbXBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0EhkKC2Nzdl9jb250ZW50GAEgASgJQgTiQQECEhcKCWZpbGVfbmFtZRgCIAEoCUIE4kEBAhISCgRtb2RlGAMgASgJQgTiQQECEhQKBmZvcm1hdBgEIAEoCUIE4kEBAhIcCg5mb3JtYXRfdmVyc2lvbhgFIAEoCUIE4kEBAhIPCgdkcnlfcnVuGAYgASgIIrABChpMaXN0TW9udGhseU1pc2NGZWVzUmVxdWVzdBIbCg1iaWxsaW5nX21vbnRoGAEgASgJQgTiQQECEhgKEGJpbGxpbmdfZ3JvdXBfaWQYAiABKAkSIAoYYmlsbGluZ19ncm91cF9uYW1lX3F1ZXJ5GAMgASgJEhIKCml0ZW1fcXVlcnkYBCABKAkSEQoJcGFnZV9zaXplGAUgASgFEhIKCnBhZ2VfdG9rZW4YBiABKAkifQobTGlzdE1vbnRobHlNaXNjRmVlc1Jlc3BvbnNlEjAKBHJvd3MYASADKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuTW9udGhseU1pc2NGZWUSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhMKC3RvdGFsX2NvdW50GAMgASgFIlAKG0RlbGV0ZU1vbnRobHlNaXNjRmVlUmVxdWVzdBIUCgZyb3dfaWQYASABKAlCBOJBAQISGwoNYmlsbGluZ19tb250aBgCIAEoCUIE4kEBAiL4AQoOTW9udGhseU1pc2NGZWUSDgoGcm93X2lkGAEgASgJEhUKDWJpbGxpbmdfbW9udGgYAiABKAkSGAoQYmlsbGluZ19ncm91cF9pZBgDIAEoCRIaChJiaWxsaW5nX2dyb3VwX25hbWUYBCABKAkSDgoGdmVuZG9yGAUgASgJEhEKCWl0ZW1fbmFtZRgGIAEoCRIQCghxdWFudGl0eRgHIAEoDRIRCgl1bml0X2Nvc3QYCCABKAMSDgoGYW1vdW50GAkgASgDEg8KB2VuYWJsZWQYCiABKAgSDgoGc291cmNlGAsgASgJEhAKCGN1cnJlbmN5GAwgASgJIpYDChpNb250aGx5TWlzY0ZlZUltcG9ydFJlc3VsdBIOCgZzdGF0dXMYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCnRvdGFsX3Jvd3MYAyABKAUSEgoKdmFsaWRfcm93cxgEIAEoBRIVCg1pbnNlcnRlZF9yb3dzGAUgASgFEhQKDHVwZGF0ZWRfcm93cxgGIAEoBRIWCg51bmNoYW5nZWRfcm93cxgHIAEoBRITCgtmYWlsZWRfcm93cxgIIAEoBRJGCgtyb3dfcmVzdWx0cxgJIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydFJvd1Jlc3VsdBIUCgxyZW1vdmVkX3Jvd3MYCiABKAUSFgoOYmlsbGluZ19tb250aHMYCyADKAkSDwoHdmVuZG9ycxgMIAMoCRJMCg5iaWxsaW5nX2dyb3VwcxgNIAMoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydEdyb3VwU3VtbWFyeSJYCiBNb250aGx5TWlzY0ZlZUltcG9ydEdyb3VwU3VtbWFyeRIYChBiaWxsaW5nX2dyb3VwX2lkGAEgASgJEhoKEmJpbGxpbmdfZ3JvdXBfbmFtZRgCIAEoCSLtAgodTW9udGhseU1pc2NGZWVJbXBvcnRSb3dSZXN1bHQSFgoOY3N2X3Jvd19udW1iZXIYASABKAUSDgoGYWN0aW9uGAIgASgJEhgKEGJpbGxpbmdfZ3JvdXBfaWQYAyABKAkSGgoSYmlsbGluZ19ncm91cF9uYW1lGAQgASgJEg4KBnZlbmRvchgFIAEoCRIRCglpdGVtX25hbWUYBiABKAkSEAoIcXVhbnRpdHkYByABKA0SEQoJdW5pdF9jb3N0GAggASgDEg4KBmFtb3VudBgJIAEoAxIPCgdlbmFibGVkGAogASgIEkwKEXZhbGlkYXRpb25fZXJyb3JzGAsgAygLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlVmFsaWRhdGlvbkVycm9yEhUKDWJpbGxpbmdfbW9udGgYDCABKAkSEAoIY3VycmVuY3kYDSABKAkSDgoGc291cmNlGA4gASgJIk0KHU1vbnRobHlNaXNjRmVlVmFsaWRhdGlvbkVycm9yEg0KBWZpZWxkGAEgASgJEgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJ3Ch5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSNAoFaXRlbXMYAyADKAsyJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciPgobR2V0VGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJIkkKEVRhZ3NBZGRpbmdTZXR0aW5nEg8KB2dyb3VwSWQYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRIPCgd0YWdLZXlzGAMgAygJIk0KHUV4cG9ydFNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhQKBmZvcm1hdBgBIAEoCUIE4kEBAhIWCghsYW5ndWFnZRgCIAEoCUIE4kEBASKkAQorRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESEgoKZGlyZWN0TGluaxgDIAEoCBIdCg9iaWxsaW5nR3JvdXBJZHMYBCADKAlCBOJBAQESFAoGbGF5ZXJzGAUgAygFQgTiQQEBIqkBCjBFeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhIKCmRpcmVjdExpbmsYAyABKAgSHQoPYmlsbGluZ0dyb3VwSWRzGAQgAygJQgTiQQEBEhQKBmxheWVycxgFIAMoBUIE4kEBASJrChxFeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0EhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEh0KD2JpbGxpbmdHcm91cElkcxgDIAMoCUIE4kEBARIUCgZsYXllcnMYBCADKAVCBOJBAQEiNQodRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2USFAoMZG93bmxvYWRMaW5rGAEgASgJIpEBCh5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESIgoUaW5jbHVkZU1pc2NlbGxhbmVvdXMYAyABKAhCBOJBAQESHQoPYmlsbGluZ0dyb3VwSWRzGAQgAygJQgTiQQEBEhQKBmxheWVycxgFIAMoBUIE4kEBASI3Ch9FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSJACi1HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSI8Ci5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEgoKAmlkGAEgASgJIrkBCiFBZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRJTCgdpZFRvS2V5GAIgAygLMkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdC5JZFRvS2V5RW50cnkaLgoMSWRUb0tleUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiTgokRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSFQoNY3VzdG9tRmllbGRJZBgCIAEoCSJ2Ch9BZGRBY2NvdW50VG9CaWxsaW5nR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjIKCGFjY291bnRzGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRUb0FkZCJRCgxBY2NvdW50VG9BZGQSEgoKY3VzdG9tZXJJZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDAoEbmFtZRgDIAEoCRIMCgRub3RlGAQgASgJIqsBChxBZGRUYWdzVG9CaWxsaW5nR3JvdXBSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEjAKCHNldHRpbmdzGAMgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgEIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nIkcKClRhZ1NldHRpbmcSEgoKY3VzdG9tZXJJZBgBIAEoCRIlCgR0YWdzGAIgAygLMhcuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZyIxCgNUYWcSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJEg4KBmFzc2lnbhgDIAEoBSI+Cg1Ob25UYWdTZXR0aW5nEg8KB2luY2x1ZGUYASABKAgSDAoEdHlwZRgCIAEoCRIOCgZhbW91bnQYAyABKAEiPgodU2F2ZVRhZ0ludm9pY2VTZXR0aW5nUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEg0KBWVycm9yGAIgASgJIn4KJlVwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRI4CghzZXR0aW5ncxgDIAMoCzImLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdHcm91cFNldHRpbmciPgoSTm9uVGFnR3JvdXBTZXR0aW5nEgoKAmlkGAEgASgJEgwKBHR5cGUYAiABKAkSDgoGYW1vdW50GAMgASgBIpoBChpTYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBIMCgRkYXRlGAEgASgJEg4KBnZlbmRvchgCIAEoCRIRCglhbGxHcm91cHMYAyABKAgSDgoGZ3JvdXBzGAQgAygJEjsKDmludm9pY2VTZXR0aW5nGAUgASgLMiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXR0aW5ncyKzBAoPSW52b2ljZVNldHRpbmdzEhEKCWludm9pY2VObxgCIAEoCRIUCgxkaXNjb3VudFJhdGUYBCABKAESGwoTZGlzY291bnRUYXJnZXRVc2FnZRgFIAEoCRIZChFkaXNjb3VudENhbGNMb2dpYxgGIAEoCRIPCgd0YXhSYXRlGAcgASgBEhIKCnN1cHBvcnRGZWUYCCABKAkSEwoLc3VwcG9ydFJhdGUYCSABKAESHAoUc3VwcG9ydEZlZUNhbGNUYXJnZXQYCiABKAkSEgoKc3VwcG9ydEZpeBgLIAEoARIXCg9zdWJzdGl0dXRpb25GZWUYDCABKAkSGAoQc3Vic3RpdHV0aW9uUmF0ZRgNIAEoARIXCg9zdWJzdGl0dXRpb25GaXgYDiABKAESIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgPIAEoCRIiChpzdWJzdGl0dXRpb25GZWVUYXJnZXRVc2FnZRgQIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgRIAEoCRIQCghjdXJyZW5jeRgDIAEoCRIUCgxleGNoYW5nZVJhdGUYEiABKAESDAoEbWVtbxgTIAEoCRIQCghjYWxjVHlwZRgUIAEoCRI5Cg9hZGRpdGlvbmFsSXRlbXMYFSADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBYgASgBIq0DChBCYXNpY0luZm9ybWF0aW9uEhgKEGJpbGxpbmdHcm91cE5hbWUYAiABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkSFgoJYWRkcmVzc2VlGAUgASgJSACIAQESFAoHY291bnRyeRgGIAEoCUgBiAEBEhcKCnBvc3RhbENvZGUYByABKAlIAogBARIRCgRjaXR5GAggASgJSAOIAQESGAoLcGhvbmVOdW1iZXIYCSABKAlIBIgBARIZCgxhZGRyZXNzTGluZTEYCiABKAlIBYgBARIZCgxhZGRyZXNzTGluZTIYCyABKAlIBogBARISCgVzdGF0ZRgMIAEoCUgHiAEBEhcKCnByZWZlY3R1cmUYDSABKAlICIgBAUIMCgpfYWRkcmVzc2VlQgoKCF9jb3VudHJ5Qg0KC19wb3N0YWxDb2RlQgcKBV9jaXR5Qg4KDF9waG9uZU51bWJlckIPCg1fYWRkcmVzc0xpbmUxQg8KDV9hZGRyZXNzTGluZTJCCAoGX3N0YXRlQg0KC19wcmVmZWN0dXJlIncKKVVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb25SZXF1ZXN0EgoKAmlkGAEgASgJEj4KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyJC5ibHVlYXBpLmJpbGxpbmcudjEuQmFzaWNJbmZvcm1hdGlvbiK8AQolVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzUmVxdWVzdBIKCgJpZBgBIAEoCRJXCgdpZFRvS2V5GAIgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QuSWRUb0tleUVudHJ5Gi4KDElkVG9LZXlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBInIKI1VwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXRSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIvCgVpdGVtcxgDIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0i6gIKKFVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlc1JlcXVlc3QSCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEhcKD3NlbGVjdGlvbk1ldGhvZBgDIAEoCRIyCghhY2NvdW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQSMAoIc2V0dGluZ3MYBSADKAsyHi5ibHVlYXBpLmJpbGxpbmcudjEuVGFnU2V0dGluZxI9Cg1ub25UYWdTZXR0aW5nGAYgASgLMiEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vblRhZ1NldHRpbmdIAIgBARI/Cg5hY2NvdW50T3B0aW9ucxgHIAEoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50T3B0aW9uc0gBiAEBQhAKDl9ub25UYWdTZXR0aW5nQhEKD19hY2NvdW50T3B0aW9ucyL2AQooVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBIKCgJpZBgBIAEoCRIZCgxiaWxsaW5nVGl0bGUYAiABKAlIAIgBARIcCg9jYWxjdWxhdGlvblR5cGUYAyABKAlIAYgBARIVCghsYW5ndWFnZRgEIAEoCUgCiAEBEiIKFWludm9pY2VMYXlvdXRDb25maWdJZBgFIAEoCUgDiAEBQg8KDV9iaWxsaW5nVGl0bGVCEgoQX2NhbGN1bGF0aW9uVHlwZUILCglfbGFuZ3VhZ2VCGAoWX2ludm9pY2VMYXlvdXRDb25maWdJZCKvAQooVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRIcCg9pbnZvaWNlVGVtcGxhdGUYAiABKAlIAIgBARJFCgdpbnZvaWNlGAMgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlQhIKEF9pbnZvaWNlVGVtcGxhdGUivwQKKlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBIKCgJpZBgBIAEoCRJ4CgNhd3MYAiADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECEnoKBWF6dXJlGAMgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ4CgNnY3AYBCADKAsyZS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASInChlEZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIlIKKEdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIqABCilHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXNwb25zZRIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSDwoHZW5hYmxlZBgDIAEoCBJGCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbiLwAQorVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFQoHZW5hYmxlZBgDIAEoCEIE4kEBARJMCgdzZXR0aW5nGAQgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbkIE4kEBARI0Cgp1cGRhdGVNYXNrGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIxChdHZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSKnAQoZQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBINCgVsYWJlbBgBIAEoCRIMCgR0eXBlGAIgASgJEhAKCGNvbnRlbnRzGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkSGAoQYWxsQmlsbGluZ0dyb3VwcxgFIAEoCBINCgVzdGFydBgGIAEoAxILCgNlbmQYByABKAMSDgoGc3RhdHVzGAggASgJIngKGVVwZGF0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkSQwoMYW5ub3VuY2VtZW50GAIgASgLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QiSgogVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASADKAkSDgoGc3RhdHVzGAIgASgJIkUKHVVwZGF0ZUFubm91bmNlbWVudERhdGVSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEgwKBGRhdGUYAiABKAMiMwoZRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAEoCSLpAQoMQW5ub3VuY2VtZW50EgoKAmlkGAEgASgJEg0KBWxhYmVsGAIgASgJEgwKBHR5cGUYAyABKAkSDwoHbWVzc2FnZRgEIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAUgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYDSABKAgSDQoFc3RhcnQYBiABKAkSCwoDZW5kGAcgASgJEgwKBGRhdGUYCCABKAkSDgoGc3RhdHVzGAkgASgJEhIKCnVzZXJTdGF0dXMYCiABKAkSDwoHY3JlYXRlZBgLIAEoCRIPCgd1cGRhdGVkGAwgASgJIjYKI0dldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkilgEKJEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZRIPCgdncm91cElkGAEgASgJEhEKCWdyb3VwTmFtZRgCIAEoCRIRCgljb21wYW55SWQYAyABKAkSNwoNYW5ub3VuY2VtZW50cxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiEwoRR2V0Q3JlZGl0c1JlcXVlc3QixAEKBkNyZWRpdBIKCgJpZBgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRIUCgxjcmVkaXRBbW91bnQYBCABKAESDAoEdGVybRgFIAEoCRITCgtkZXNjcmlwdGlvbhgGIAEoCRIPCgdjcmVhdGVkGAcgASgJEhIKCmluaXRpYWxGZWUYCCABKAESFQoNY3JlZGl0QmFsYW5jZRgJIAEoARIPCgdhcHBsaWVkGAogASgIIhcKFUdldENzdlNldHRpbmdzUmVxdWVzdCKkAQoKQ3N2U2V0dGluZxIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjIKA2NvbBgDIAMoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nLkNvbHVtbhpICgZDb2x1bW4SDAoEbmFtZRgBIAEoCRIKCgJpZBgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIPCgdlbmFibGVkGAQgASgIIuYBCiBVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdBINCgVtb250aBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSXAoMZXhjaGFuZ2VSYXRlGAMgAygLMkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0LkV4Y2hhbmdlUmF0ZUVudHJ5EhAKCGdyb3VwSWRzGAQgAygJGjMKEUV4Y2hhbmdlUmF0ZUVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoAToCOAEijQEKGkNvbnZlcnRJbnZvaWNlVG9QZGZSZXF1ZXN0EgwKBGRhdGUYASABKAkSFQoNYmlsbGluZ2dyb3VwcxgCIAMoCRIYChBhbGxCaWxsaW5nR3JvdXBzGAMgASgIEhQKBmxheWVycxgEIAMoBUIE4kEBARIaCgxwcmV2aWV3X29ubHkYBSABKAhCBOJBAQEi0AEKG0NvbnZlcnRJbnZvaWNlVG9QZGZSZXNwb25zZRIQCghwcm9ncmVzcxgBIAEoCRITCgtkb3dubG9hZFVybBgCIAEoCRJWCgxsYXllcl9jb3VudHMYAyADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlLkxheWVyQ291bnRzRW50cnkaMgoQTGF5ZXJDb3VudHNFbnRyeRILCgNrZXkYASABKAUSDQoFdmFsdWUYAiABKAU6AjgBIogCCiFMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkSEwoLY29tcGFueU5hbWUYBiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgHIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgIIAEoCRIQCghwYWdlU2l6ZRgJIAEoBRISCgpwYWdlTnVtYmVyGAogASgFIpcCChRCaWxsaW5nR3JvdXBMaXN0SXRlbRIYChBiaWxsaW5nR3JvdXBOYW1lGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhMKC2NvbXBhbnlOYW1lGAMgASgJEhgKEGJpbGxpbmdHcm91cFR5cGUYBCABKAkSTAoHdmVuZG9ycxgFIAMoCzI7LmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBMaXN0SXRlbS5CaWxsaW5nR3JvdXBWZW5kb3ISGQoRYmlsbGluZ0ludGVybmFsSWQYBiABKAkaNQoSQmlsbGluZ0dyb3VwVmVuZG9yEg4KBnZlbmRvchgBIAEoCRIPCgdlbmFibGVkGAIgASgIIrQBCiJMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlEj8KDWJpbGxpbmdHcm91cHMYASADKAsyKC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0SEgoKdG90YWxDb3VudBgCIAEoBRITCgtjdXJyZW50UGFnZRgDIAEoBRIQCghwYWdlU2l6ZRgEIAEoBRISCgp0b3RhbFBhZ2VzGAUgASgFIo4BCiFDaGlsZEJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SCgoCaWQYASABKAkSEgoKaW50ZXJuYWxJZBgGIAEoCRIQCghwYXJlbnRJZBgCIAEoCRIUCgxyb290UGFyZW50SWQYBSABKAkSDAoEbmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCSK+AQokQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEigAIKEUNoaWxkQmlsbGluZ0dyb3VwEk8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxI5CgtiaWxsaW5nSW5mbxgDIAEoCzIkLmJsdWVhcGkuYXBpLnJpcHBsZS5CaWxsaW5nR3JvdXBJbmZvEhAKCGhhc0NoaWxkGAQgASgIIqwCCiBDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJDCgNhd3MYASABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIhChlhY2NvdW50U3VwcG9ydFBsYW5FbmFibGVkGAIgASgIElkKGmFjY291bnRTdXBwb3J0UGxhblNldHRpbmdzGAMgAygLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbhJFCgVhenVyZRgEIAEoCzI2LmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBWZW5kb3JlZEludm9pY2VTZXR0aW5nIpoCCh5DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QSTwoQYmFzaWNJbmZvcm1hdGlvbhgBIAEoCzI1LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SOQoLYmlsbGluZ0luZm8YAyABKAsyJC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwSW5mbxJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSHQoVaW52b2ljZUxheW91dENvbmZpZ0lkGAQgASgJIiEKH0NyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiMQobR2V0Q2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkiVgocR2V0Q2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZRI2CgdkZXRhaWxzGAEgASgLMiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwIkEKHVJlYWRDaGlsZEJpbGxpbmdHcm91cHNSZXF1ZXN0Eg4KBnJvb3RJZBgBIAEoCRIQCghwYXJlbnRJZBgCIAEoCSLAAQoeVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSTwoQYmFzaWNJbmZvcm1hdGlvbhgCIAEoCzI1LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SOQoLYmlsbGluZ0luZm8YAyABKAsyJC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwSW5mbyIhCh9VcGRhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjQKHkRlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIiEKH0RlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2Ui0AEKLVVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEk0KD2ludm9pY2VTZXR0aW5ncxgCIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxIiChVpbnZvaWNlTGF5b3V0Q29uZmlnSWQYAyABKAlIAIgBAUIYChZfaW52b2ljZUxheW91dENvbmZpZ0lkIjAKLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVzcG9uc2UimgMKM1NldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIYCgppbnRlcm5hbElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhIUCgZyb290SWQYAyABKAlCBOJBAQIShQEKB3NldHRpbmcYBCADKAsybi5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASJUCjJTZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEgoKAmlkGAIgASgJIo4BCjlTZXRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRI9CghhY2NvdW50cxgCIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyJZCjNHZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkizgEKNEdldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVzcG9uc2USEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAMgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEiwKCGFjY291bnRzGAQgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudEIE4kEBASJICjJHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIkEKM0dldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJQCjpSZWFkQ2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkieQodQnVsa0NyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSDgoGdmVuZG9yGAUgASgJEhIKCmNzdkNvbnRlbnQYASABKAwSEQoJZGVsaW1pdGVyGAIgASgJEhEKCWhhc0hlYWRlchgDIAEoCBIOCgZkcnlSdW4YBCABKAgiVQobQnVsa0NyZWF0ZUJpbGxpbmdHcm91cEVycm9yEg0KBWluZGV4GAEgASgFEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkiswIKHkJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBNZXRhZGF0YRIOCgZzdGF0dXMYASABKAkSEgoKdG90YWxDb3VudBgCIAEoBRIWCg5wcm9jZXNzZWRDb3VudBgDIAEoBRIUCgxzdWNjZXNzQ291bnQYBCABKAUSFAoMZmFpbHVyZUNvdW50GAUgASgFEj8KBmVycm9ycxgGIAMoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwRXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkSRAoEcm93cxgJIAMoCzI2LmJsdWVhcGkuYmlsbGluZy52MS5CdWxrQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUm93Ij4KHU5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEg0KBXZhbHVlGAEgASgJEg4KBnNvdXJjZRgCIAEoCSKpDQoZTm9ybWFsaXplZEludm9pY2VTZXR0aW5ncxJDCghjYWxjVHlwZRgBIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJGCgtkaXNwbGF5Q29zdBgCIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJOChNzdXBwb3J0QW1vdW50VGFyZ2V0GAMgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEk8KFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GAQgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkElQKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYBSABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSSgoPaW52b2ljZVRlbXBsYXRlGAYgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkgKDWN1c3RvbVNlcnZpY2UYByABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSSwoQc2VydmljZURpc2NvdW50cxgIIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJDCghjdXJyZW5jeRgJIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJCCgd0YXhSYXRlGAogASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkcKDGRpc2NvdW50UmF0ZRgLIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJOChNkaXNjb3VudFRhcmdldFVzYWdlGAwgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkwKEWRpc2NvdW50Q2FsY0xvZ2ljGA0gASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkoKD3N1YnN0aXR1dGlvbkZlZRgOIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJLChBzdWJzdGl0dXRpb25SYXRlGA8gASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkoKD3N1YnN0aXR1dGlvbkZpeBgQIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJVChpzdWJzdGl0dXRpb25GZWVUYXJnZXRVc2FnZRgRIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJSChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgSIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJFCgpzdXBwb3J0RmVlGBMgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkYKC3N1cHBvcnRSYXRlGBQgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkUKCnN1cHBvcnRGaXgYFSABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSTwoUc3VwcG9ydEZlZUFkanVzdG1lbnQYFiABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQi4gEKIkJ1bGtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSb3cSDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDgoGc3RhdHVzGAMgASgJEg4KBmVycm9ycxgEIAMoCRJJChJub3JtYWxpemVkU2V0dGluZ3MYBSABKAsyLS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5ncxITCgtkaXNwb3NpdGlvbhgGIAEoCRIVCg1jc3ZMaW5lTnVtYmVyGAcgASgFInkKHUJ1bGtVcGRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0Eg4KBnZlbmRvchgFIAEoCRISCgpjc3ZDb250ZW50GAEgASgMEhEKCWRlbGltaXRlchgCIAEoCRIRCgloYXNIZWFkZXIYAyABKAgSDgoGZHJ5UnVuGAQgASgIImUKG0J1bGtVcGRhdGVCaWxsaW5nR3JvdXBFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJEg4KBnJlYXNvbhgEIAEoCSKzAgoeQnVsa1VwZGF0ZUJpbGxpbmdHcm91cE1ldGFkYXRhEg4KBnN0YXR1cxgBIAEoCRISCgp0b3RhbENvdW50GAIgASgFEhYKDnByb2Nlc3NlZENvdW50GAMgASgFEhQKDHN1Y2Nlc3NDb3VudBgEIAEoBRIUCgxmYWlsdXJlQ291bnQYBSABKAUSPwoGZXJyb3JzGAYgAygLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtVcGRhdGVCaWxsaW5nR3JvdXBFcnJvchIRCglzdGFydFRpbWUYByABKAkSDwoHZW5kVGltZRgIIAEoCRJECgRyb3dzGAkgAygLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSb3ciuQEKE0V4Y2x1ZGVTZXJ2aWNlRW50cnkSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJEg4KBmFjdGlvbhgHIAEoCRIOCgZzdGF0dXMYCCABKAkSFQoNZXJyb3JfbWVzc2FnZRgJIAEoCSKPAQogQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJIlsKIUNyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5Io8BCiBVcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBIOCgZtc3BfaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEhAKCHBheWVyX2lkGAMgASgJEg8KB3NlcnZpY2UYBCABKAkSDwoHcHJvZHVjdBgFIAEoCRIXCg9leGNlcHRfcGF5ZXJfaWQYBiADKAkiWwohVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlEjYKBWVudHJ5GAEgASgLMicuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4Y2x1ZGVTZXJ2aWNlRW50cnkidgogRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkiWwohRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlEjYKBWVudHJ5GAEgASgLMicuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4Y2x1ZGVTZXJ2aWNlRW50cnkiPAoaTGlzdEV4Y2x1ZGVTZXJ2aWNlc1JlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCSJXChtMaXN0RXhjbHVkZVNlcnZpY2VzUmVzcG9uc2USOAoHZW50cmllcxgBIAMoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5IkQKC1NlcnZpY2VJdGVtEgoKAmlkGAEgASgJEgwKBGNvZGUYAiABKAkSDQoFbmFtZXMYAyADKAkSDAoEc2t1cxgEIAMoCSIzChNMaXN0U2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIMCgRjb2RlGAIgASgJIkUKFExpc3RTZXJ2aWNlc1Jlc3BvbnNlEi0KBGRhdGEYASADKAsyHy5ibHVlYXBpLmJpbGxpbmcudjEuU2VydmljZUl0ZW0icgoWQnVsa0xpbmtBY2NvdW50UmVxdWVzdBIOCgZ2ZW5kb3IYBSABKAkSEgoKY3N2Q29udGVudBgBIAEoDBIRCglkZWxpbWl0ZXIYAiABKAkSEQoJaGFzSGVhZGVyGAMgASgIEg4KBmRyeVJ1bhgEIAEoCCJhChRCdWxrTGlua0FjY291bnRFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIRCglhY2NvdW50SWQYAyABKAkSDwoHbWVzc2FnZRgEIAEoCSLfAQoXQnVsa0xpbmtBY2NvdW50TWV0YWRhdGESDgoGc3RhdHVzGAEgASgJEhIKCnRvdGFsQ291bnQYAiABKAUSFgoOcHJvY2Vzc2VkQ291bnQYAyABKAUSFAoMc3VjY2Vzc0NvdW50GAQgASgFEhQKDGZhaWx1cmVDb3VudBgFIAEoBRI4CgZlcnJvcnMYBiADKAsyKC5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0xpbmtBY2NvdW50RXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkiPgoaQnVsa1RhZ0JpbGxpbmdHcm91cFJlcXVlc3QSEgoKY3N2Q29udGVudBgBIAEoDBIMCgRtb2RlGAIgASgJIoIBChhCdWxrVGFnQmlsbGluZ0dyb3VwRXJyb3ISDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEgoKY3VzdG9tZXJJZBgDIAEoCRILCgNrZXkYBCABKAkSDQoFdmFsdWUYBSABKAkSDwoHbWVzc2FnZRgGIAEoCSLnAQobQnVsa1RhZ0JpbGxpbmdHcm91cE1ldGFkYXRhEg4KBnN0YXR1cxgBIAEoCRISCgp0b3RhbENvdW50GAIgASgFEhYKDnByb2Nlc3NlZENvdW50GAMgASgFEhQKDHN1Y2Nlc3NDb3VudBgEIAEoBRIUCgxmYWlsdXJlQ291bnQYBSABKAUSPAoGZXJyb3JzGAYgAygLMiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtUYWdCaWxsaW5nR3JvdXBFcnJvchIRCglzdGFydFRpbWUYByABKAkSDwoHZW5kVGltZRgIIAEoCSI3CilHZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCSJ5CipHZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2USMQoGbGF5b3V0GAEgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQSCgoCaWQYAiABKAkSDAoEbmFtZRgDIAEoCSJKCilTZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCRIRCglsYXlvdXRfaWQYAiABKAkiYwogQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSDAoEbmFtZRgBIAEoCRIxCgZsYXlvdXQYAiABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dCI2CiFDcmVhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2USEQoJbGF5b3V0X2lkGAEgASgJIm8KIFVwZGF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0EgoKAmlkGAEgASgJEjEKBmxheW91dBgCIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EgwKBG5hbWUYAyABKAkiIAoeUmVhZEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0Im4KH1JlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVzcG9uc2USCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIxCgZsYXlvdXQYAyABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dCI6CixEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCSIuCiBEZWxldGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCSI5CitMaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHNSZXF1ZXN0EgoKAmlkGAEgASgJIkgKLExpc3RJbnZvaWNlTGF5b3V0Q29uZmlnQmlsbGluZ0dyb3Vwc1Jlc3BvbnNlEhgKEGJpbGxpbmdncm91cF9pZHMYASADKAkyv8cBCgdCaWxsaW5nEoABChFMaXN0QmlsbGluZ0dyb3VwcxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIhmC0+STAhMSES92MS9iaWxsaW5nZ3JvdXBzMAESsAEKGkxpc3RCaWxsaW5nR3JvdXBzUGFnaW5hdGVkEjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBzUGFnaW5hdGVkUmVxdWVzdBo2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlc3BvbnNlIiOC0+STAh0SGy92MS9iaWxsaW5nZ3JvdXBzOnBhZ2luYXRlZBKDAQoSQ3JlYXRlQmlsbGluZ0dyb3VwEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIhyC0+STAhY6ASoiES92MS9iaWxsaW5nZ3JvdXBzEpYBChhDcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWQSMy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiI4LT5JMCHToBKiIYL3YxL2JpbGxpbmdncm91cHMvbWVyZ2VkEnkKEURlbGV0ZUJpbGxpbkdyb3VwEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHYLT5JMCFyoVL3YxL2JpbGxpbmdncm91cC97aWR9EowBChhBZGRBY2NvdW50VG9CaWxsaW5nR3JvdXASMy5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIjgtPkkwIdOgEqIhgvdjEvYmlsbGluZ2dyb3VwL2FjY291bnQSmQEKD0dldEJpbGxpbmdHcm91cBIqLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBSZXF1ZXN0GisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cFJlc3BvbnNlIi2C0+STAicSJS92MS9iaWxsaW5nZ3JvdXBzL3tiaWxsaW5nSW50ZXJuYWxJZH0SkQEKDkdldEFjY2Vzc0dyb3VwEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFjY2Vzc0dyb3VwUmVxdWVzdBoqLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBY2Nlc3NHcm91cFJlc3BvbnNlIiiC0+STAiISIC92MS9hY2Nlc3Nncm91cHMve2FjY2Vzc0dyb3VwSWR9Ep4BChZMaXN0QXdzRGFpbHlSdW5IaXN0b3J5EjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBd3NEYWlseVJ1bkhpc3RvcnlSZXF1ZXN0GiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeSIngtPkkwIhOgEqIhwvdjEvYXdzL2RhaWx5cnVuaGlzdG9yeTpyZWFkMAESmgEKE0xpc3RVc2FnZUNvc3RzRHJpZnQSLi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFVzYWdlQ29zdHNEcmlmdFJlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuVXNhZ2VDb3N0c0RyaWZ0IiyC0+STAiY6ASoiIS92MS97dmVuZG9yfS91c2FnZWNvc3RzZHJpZnQ6cmVhZDABEnwKDUNyZWF0ZUludm9pY2USKC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZVJlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZS97ZGF0ZX06Y3JlYXRlEpsBChlDcmVhdGVJbnZvaWNlV2l0aFNldHRpbmdzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiMYLT5JMCKzoBKiImL3YxL2ludm9pY2Uve2RhdGV9OmNyZWF0ZSZzYXZlc2V0dGluZ3MSiQEKE1NhdmVJbnZvaWNlU2V0dGluZ3MSLi5ibHVlYXBpLmJpbGxpbmcudjEuU2F2ZUludm9pY2VTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKiIfL3YxL2ludm9pY2Uve2RhdGV9OnNhdmVzZXR0aW5ncxKiAQoTQ29udmVydEludm9pY2VUb1BkZhIuLmJsdWVhcGkuYmlsbGluZy52MS5Db252ZXJ0SW52b2ljZVRvUGRmUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5Db252ZXJ0SW52b2ljZVRvUGRmUmVzcG9uc2UiKoLT5JMCJDoBKiIfL3YxL2ludm9pY2Uve2RhdGV9OmNvbnZlcnR0b3BkZhJ9ChBHZXRJbnZvaWNlU3RhdHVzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VTdGF0dXNSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiH4LT5JMCGRIXL3YxL2ludm9pY2Uvc3RhdHVzL3tpZH0SiwEKEUxpc3RJbnZvaWNlU3RhdHVzEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlU3RhdHVzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIimC0+STAiM6ASoiHi92MS9pbnZvaWNlL3N0YXR1cy97ZGF0ZX06cmVhZDABEm0KCkdldEludm9pY2USJS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVJlcXVlc3QaFC5ibHVlYXBpLmFwaS5JbnZvaWNlIiKC0+STAhw6ASoiFy92MS9pbnZvaWNlL3tkYXRlfTpyZWFkEn0KC0xpc3RJbnZvaWNlEiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVxdWVzdBonLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlIhuC0+STAhU6ASoiEC92MS9pbnZvaWNlOnJlYWQwARKIAQoVVXBkYXRlSW52b2ljZVByZXZpZXdzEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VQcmV2aWV3c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHzoBKhoaL3YxL2ludm9pY2Uve2RhdGV9OnByZXZpZXcSlgEKEUV4cG9ydEludm9pY2VGaWxlEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VGaWxlUmVxdWVzdBotLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlRmlsZVJlc3BvbnNlIiSC0+STAh46ASoiGS92MS9pbnZvaWNlL3tkYXRlfTpleHBvcnQSlgEKE0xpc3RJbnZvaWNlVGVtcGxhdGUSLi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VUZW1wbGF0ZVJlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VUZW1wbGF0ZVJlc3BvbnNlIhyC0+STAhYSFC92MS9pbnZvaWNlL3RlbXBsYXRlMAESrQEKGUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3MSNC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZURpc3BsYXlTZXR0aW5nc1Jlc3BvbnNlIiOC0+STAh0SGy92MS9pbnZvaWNlL2Rpc3BsYXlzZXR0aW5ncxKXAQocVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5ncxI3LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRGlzcGxheVNldHRpbmdzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgOgEqIhsvdjEvaW52b2ljZS9kaXNwbGF5c2V0dGluZ3MSlgEKGVVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGUSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZUV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJToBKhogL3YxL2ludm9pY2UvZXhjaGFuZ2VyYXRlL3ttb250aH0SrAEKIVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZRI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoiJi92MS9iaWxsaW5nZ3JvdXBzL3tpZH0vaW52b2ljZXRlbXBsYXRlErEBChxSZWFkU2VydmljZURpc2NvdW50c1NlcnZpY2VzEjcuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Gh4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLlNlcnZpY2UiNoLT5JMCMDoBKiIrL3YxL3NlcnZpY2VkaXNjb3VudHMve3ZlbmRvcn0vc2VydmljZXM6cmVhZDABEqoBCh1DcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiH4LT5JMCGToBKiIUL3YxL3NlcnZpY2VkaXNjb3VudHMSrwEKHVVwZGF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzEjguYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBouLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyIkgtPkkwIeOgEqGhkvdjEvc2VydmljZWRpc2NvdW50cy97aWR9EpQBCh1EZWxldGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIYLT5JMCGyoZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKqAQobTGlzdEludm9pY2VTZXJ2aWNlRGlzY291bnRzEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaKy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiJILT5JMCHjoBKiIZL3YxL3NlcnZpY2VkaXNjb3VudHM6cmVhZDABEqYBChpHZXRJbnZvaWNlU2VydmljZURpc2NvdW50cxI1LmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiIYLT5JMCGxIZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKiAQoWRXhwb3J0U2VydmljZURpc2NvdW50cxIxLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBotLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5TZXJ2aWNlRGlzY291bnRzRXhwb3J0IiaC0+STAiA6ASoiGy92MS9zZXJ2aWNlZGlzY291bnRzOmV4cG9ydBLwAQopQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiNoLT5JMCMDoBKiIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBLwAQopVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiNoLT5JMCMDoBKhorL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBK+AQopRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi0qKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAS0QEKIkxpc3RBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50OnJlYWQwARLcAQokQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaQC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiMYLT5JMCKzoBKiImL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQS3AEKJFVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjGC0+STAis6ASoaJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50ErkBCiRSZW1vdmVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI4gtPkkwIyOgEqGi0vdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudDpyZW1vdmUSrwEKJERlbGV0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii6C0+STAigqJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50Es0BCiRFeHBvcnRBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBo0LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BY2NvdW50U2VydmljZURpc2NvdW50c0V4cG9ydCIugtPkkwIoOgEqIiMvdjEvc2VydmljZWRpc2NvdW50cy9hY2NvdW50OmV4cG9ydBLaAQopRXhwb3J0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkdyb3VwU2VydmljZURpc2NvdW50c0V4cG9ydCIzgtPkkwItOgEqIigvdjEvc2VydmljZWRpc2NvdW50cy9iaWxsaW5nZ3JvdXA6ZXhwb3J0EuQBCiZHZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50cxJBLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaQi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIzgtPkkwItEisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEnMKDkNyZWF0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZVJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIYgtPkkwISOgEqIg0vdjEvcmVzZWxsZXJzEnAKDUxpc3RSZXNlbGxlcnMSKC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFJlc2VsbGVyc1JlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiFYLT5JMCDxINL3YxL3Jlc2VsbGVyczABEm8KC0dldFJlc2VsbGVyEiYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIagtPkkwIUEhIvdjEvcmVzZWxsZXJzL3tpZH0SeAoOVXBkYXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlUmVzZWxsZXJSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIh2C0+STAhc6ASoaEi92MS9yZXNlbGxlcnMve2lkfRJvCg5EZWxldGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVSZXNlbGxlclJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGoLT5JMCFCoSL3YxL3Jlc2VsbGVycy97aWR9EoYBChFHZXRCaWxsaW5nU2V0dGluZxIsLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nU2V0dGluZ1JlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ1NldHRpbmdSZXNwb25zZSIUgtPkkwIOEgwvdjEvc2V0dGluZ3MSmwEKEUxpc3RFeGNoYW5nZVJhdGVzEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBotLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlIimC0+STAiMSIS92MS97dmVuZG9yfS9leGNoYW5nZXJhdGUve21vbnRofRKWAQoVU2V0R2xvYmFsRXhjaGFuZ2VSYXRlEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEdsb2JhbEV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLToBKiIoL3YxL2V4Y2hhbmdlcmF0ZS9nbG9iYWwve3ZlbmRvcn0ve21vbnRofRKKAQoUU2V0UGF5ZXJFeGNoYW5nZVJhdGUSLy5ibHVlYXBpLmJpbGxpbmcudjEuU2V0UGF5ZXJFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IimC0+STAiM6ASoiHi92MS9leGNoYW5nZXJhdGUvcGF5ZXIve21vbnRofRKfAQobU2V0QmlsbGluZ0dyb3VwRXhjaGFuZ2VSYXRlEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKiIlL3YxL2V4Y2hhbmdlcmF0ZS9iaWxsaW5nZ3JvdXAve21vbnRofRJ8ChBMaXN0QWNjZXNzR3JvdXBzEisuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2Nlc3NHcm91cHNSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIhiC0+STAhISEC92MS9hY2Nlc3Nncm91cHMwARJ/ChFDcmVhdGVBY2Nlc3NHcm91cBIsLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2Nlc3NHcm91cFJlcXVlc3QaHy5ibHVlYXBpLmFwaS5yaXBwbGUuQWNjZXNzR3JvdXAiG4LT5JMCFToBKiIQL3YxL2FjY2Vzc2dyb3VwcxKEAQoRVXBkYXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjZXNzR3JvdXBSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIiCC0+STAho6ASoaFS92MS9hY2Nlc3Nncm91cHMve2lkfRJ4ChFEZWxldGVBY2Nlc3NHcm91cBIsLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBY2Nlc3NHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiHYLT5JMCFyoVL3YxL2FjY2Vzc2dyb3Vwcy97aWR9Ep8BChRMaXN0QWJjQmlsbGluZ0dyb3VwcxIvLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWJjQmlsbGluZ0dyb3Vwc1JlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuQWJjQmlsbGluZ0dyb3VwIi+C0+STAikSJy92MS9iaWxsaW5nZ3JvdXBzL2JpbGxpbmdjb25kdWN0b3Ive2lkfTABErYBChtMaXN0QWJjQmlsbGluZ0dyb3VwQWNjb3VudHMSNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzUmVxdWVzdBoeLmJsdWVhcGkuYmlsbGluZy52MS5BYmNBY2NvdW50Ij2C0+STAjcSNS92MS9iaWxsaW5nZ3JvdXBzL2JpbGxpbmdjb25kdWN0b3Ive3BheWVySWR9L2FjY291bnRzMAESnAEKFlJlYWRJbnZvaWNlQWRqdXN0bWVudHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEludm9pY2VBZGp1c3RtZW50c1JlcXVlc3QaHC5ibHVlYXBpLmFwaS53YXZlLkFkanVzdG1lbnQiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2ludm9pY2VhZGp1c3RtZW50czpyZWFkMAESowEKFVJlYWRBZGp1c3RtZW50RW50cmllcxIwLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0GiYuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkFkanVzdG1lbnRFbnRyeSIugtPkkwIoOgEqIiMvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXM6cmVhZDABEpgBChJHZXRBZGp1c3RtZW50RW50cnkSLS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkiK4LT5JMCJRIjL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0SkAEKFEFwcGx5QWRqdXN0bWVudEVudHJ5Ei8uYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIvgtPkkwIpOgEqIiQvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXM6YXBwbHkSlgEKFlJlc3RvcmVBZGp1c3RtZW50RW50cnkSMS5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOnJlc3RvcmUSlQEKFFNwbGl0QWRqdXN0bWVudEVudHJ5Ei8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9zcGxpdBKeAQoXQWxsb2NhdGVBZGp1c3RtZW50RW50cnkSMi5ibHVlYXBpLmJpbGxpbmcudjEuQWxsb2NhdGVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjeC0+STAjE6ASoiLC92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9L2FsbG9jYXRlEqsBChtSZXN0b3JlU3BsaXRBZGp1c3RtZW50RW50cnkSNi5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI8gtPkkwI2OgEqIjEvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9zcGxpdDpyZXN0b3JlErQBCh5SZXN0b3JlQWxsb2NhdGVBZGp1c3RtZW50RW50cnkSOS5ibHVlYXBpLmJpbGxpbmcudjEuUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI/gtPkkwI5OgEqIjQvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9hbGxvY2F0ZTpyZXN0b3JlEqABCg9DcmVhdGVDdXN0b21GZWUSKi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmVlUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDdXN0b21GZWVSZXNwb25zZSI0gtPkkwIuOgEqIikvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMvY3VzdG9tZmVlcxKtAQoYTGlzdEFkanVzdG1lbnRFbnRyeUl0ZW1zEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBZGp1c3RtZW50RW50cnlJdGVtc1JlcXVlc3QaJy5ibHVlYXBpLmJpbGxpbmcudjEuQWRqdXN0bWVudEVudHJ5SXRlbSIxgtPkkwIrOgEqIiYvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJ5aXRlbXM6cmVhZDABEpcBChRMaXN0QWNjb3VudFJlc291cmNlcxIvLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QaIy5ibHVlYXBpLmJpbGxpbmcudjEuUmVzb3VyY2VBY2NvdW50IieC0+STAiESHy92MS9yZXNvdXJjZXMvYWNjb3VudHMve3ZlbmRvcn0wARKLAQoTR2V0QWRqdXN0bWVudENvbmZpZxIuLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciJYLT5JMCHxIdL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlAEKFkNyZWF0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiiC0+STAiI6ASoiHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpQBChZVcGRhdGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIogtPkkwIiOgEqGh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKKAQoWRGVsZXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIlgtPkkwIfKh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKVAQoSUmVhZFVudGFnZ2VkR3JvdXBzEi0uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRVbnRhZ2dlZEdyb3Vwc1JlcXVlc3QaIS5ibHVlYXBpLmFwaS5yaXBwbGUuVW50YWdnZWRHcm91cCIrgtPkkwIlOgEqIiAvdjEve3ZlbmRvcn0vdW50YWdnZWRncm91cHM6cmVhZDABErgBCh1SZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlcxI4LmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlc1JlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIi2C0+STAic6ASoiIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzOnJlYWQwARKvAQobR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIiqC0+STAiQSIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0SswEKHkNyZWF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSIogtPkkwIiOgEqIh0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcxK4AQoeVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlIi2C0+STAic6ASoaIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0SnwEKHkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQqIi92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL3tpZH0S+wEKJ0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJCLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GkMuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlc3BvbnNlIkWC0+STAj8SPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0wARLPAQonU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEkIuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiSILT5JMCQjoBKiI9L3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMvYmlsbGluZ2dyb3VwL3tncm91cElkfS97dmVuZG9yfRLSAQoqRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwEkUuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiRYLT5JMCPyo9L3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMvYmlsbGluZ2dyb3VwL3tncm91cElkfS97dmVuZG9yfRJeCgdHZXRUYWdzEiIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFRhZ3NSZXF1ZXN0GhsuYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ0RhdGEiEILT5JMCChIIL3YxL3RhZ3MwARJ9Cg1MaXN0VGFnVmFsdWVzEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RUYWdWYWx1ZXNSZXF1ZXN0GikuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RUYWdWYWx1ZXNSZXNwb25zZSIXgtPkkwIREg8vdjEvdGFnczp2YWx1ZXMSfgoRQ3JlYXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIhqC0+STAhQ6ASoiDy92MS9jdXN0b21maWVsZBKBAQoPTGlzdEN1c3RvbUZpZWxkEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKiIUL3YxL2N1c3RvbWZpZWxkOnJlYWQwARKUAQoaQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSNS5ibHVlYXBpLmJpbGxpbmcudjEuQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiE6ASoiHC92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQSvgEKG0xpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GjcuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlc3BvbnNlIiyC0+STAiY6ASoiIS92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQ6cmVhZDABEoMBChVBZGRUYWdzVG9CaWxsaW5nR3JvdXASMC5ibHVlYXBpLmJpbGxpbmcudjEuQWRkVGFnc1RvQmlsbGluZ0dyb3VwUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaOgEqIhUvdjEvYmlsbGluZ2dyb3VwL3RhZ3MSrwEKH1VwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXASOi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlTm9uVGFnR3JvdXBUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKiItL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzErEBCh1EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZBI4LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPoLT5JMCOCo2L3YxL2JpbGxpbmdncm91cC9jdXN0b21maWVsZC97Z3JvdXBJZH0ve2N1c3RvbUZpZWxkSWR9EoMBChFVcGRhdGVDdXN0b21GaWVsZBIsLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QaHy5ibHVlYXBpLmJpbGxpbmcudjEuQ3VzdG9tRmllbGQiH4LT5JMCGToBKhoUL3YxL2N1c3RvbWZpZWxkL3tpZH0SdwoRRGVsZXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhyC0+STAhYqFC92MS9jdXN0b21maWVsZC97aWR9EnIKEENyZWF0ZUZyZWVGb3JtYXQSKy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiGYLT5JMCEzoBKiIOL3YxL2ZyZWVmb3JtYXQSeQoQRGVsZXRlRnJlZUZvcm1hdBIrLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIggtPkkwIaKhgvdjEvZnJlZWZvcm1hdC97Z3JvdXBJZH0SiAEKDUdldEZyZWVGb3JtYXQSKC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlcXVlc3QaKS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0RnJlZUZvcm1hdFJlc3BvbnNlIiCC0+STAhoSGC92MS9mcmVlZm9ybWF0L3tncm91cElkfTABEr0BCh9HZXRNb250aGx5TWlzY0ZlZUltcG9ydFRlbXBsYXRlEjouYmx1ZWFwaS5iaWxsaW5nLnYxLkdldE1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGVSZXF1ZXN0GjAuYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGUiLILT5JMCJhIkL3YxL21vbnRobHktbWlzYy1mZWVzOmltcG9ydFRlbXBsYXRlEq4BChlCdWxrSW1wb3J0TW9udGhseU1pc2NGZWVzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtJbXBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0Gi4uYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlSW1wb3J0UmVzdWx0IiuC0+STAiU6ASoiIC92MS9tb250aGx5LW1pc2MtZmVlczpidWxrSW1wb3J0EpUBChNMaXN0TW9udGhseU1pc2NGZWVzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RNb250aGx5TWlzY0ZlZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RNb250aGx5TWlzY0ZlZXNSZXNwb25zZSIdgtPkkwIXEhUvdjEvbW9udGhseS1taXNjLWZlZXMShwEKFERlbGV0ZU1vbnRobHlNaXNjRmVlEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZU1vbnRobHlNaXNjRmVlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSImgtPkkwIgKh4vdjEvbW9udGhseS1taXNjLWZlZXMve3Jvd19pZH0SogEKFEdldFRhZ3NBZGRpbmdTZXR0aW5nEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldFRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBolLmJsdWVhcGkuYmlsbGluZy52MS5UYWdzQWRkaW5nU2V0dGluZyIwgtPkkwIqEigvdjEve3ZlbmRvcn0vdGFnc2FkZGluZ3NldHRpbmcve2dyb3VwSWR9MAESmgEKF1VwZGF0ZVRhZ3NBZGRpbmdTZXR0aW5nEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZVRhZ3NBZGRpbmdTZXR0aW5nUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItOgEqGigvdjEve3ZlbmRvcn0vdGFnc2FkZGluZ3NldHRpbmcve2dyb3VwSWR9EqEBChVFeHBvcnRCaWxsaW5nR3JvdXBDc3YSMC5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVxdWVzdBoxLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXNwb25zZSIjgtPkkwIdEhsvdjEvZXhwb3J0Y3N2L2JpbGxpbmctZ3JvdXASqQEKF0V4cG9ydEludm9pY2VTZXR0aW5nQ3N2EjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEludm9pY2VTZXR0aW5nQ3N2UmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlc3BvbnNlIiWC0+STAh8SHS92MS9leHBvcnRjc3YvaW52b2ljZS1zZXR0aW5nEqcBCiJVcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoaHy92MS9iaWxsaW5nZ3JvdXAve2lkfTpiYXNpY0luZm8SogEKHlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkcxI5LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ii2C0+STAic6ASoaIi92MS9iaWxsaW5nZ3JvdXAve2lkfTpjdXN0b21GaWVsZHMSnAEKHFVwZGF0ZUJpbGxpbmdHcm91cEZyZWVGb3JtYXQSNy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiK4LT5JMCJToBKhogL3YxL2JpbGxpbmdncm91cC97aWR9OmZyZWVGb3JtYXQSpQEKIVVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlcxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoaHy92MS9iaWxsaW5nZ3JvdXAve2lkfTpyZXNvdXJjZXMSqwEKIVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoaJS92MS9iaWxsaW5nZ3JvdXAve2lkfTppbnZvaWNlU2V0dGluZ3MSqwEKIVVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlcxI8LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBSZXNlbGxlckNoYXJnZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoaJS92MS9iaWxsaW5nZ3JvdXAve2lkfTpyZXNlbGxlckNoYXJnZXMSsQEKI1VwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzEj4uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsOgEqGicvdjEvYmlsbGluZ2dyb3VwL3tpZH06YWRkaXRpb25hbENoYXJnZXMS1AEKIUdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhbhI8LmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0Gj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlc3BvbnNlIjKC0+STAiwSKi92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS9zdXBwb3J0cGxhbhK2AQokVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKhoqL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3N1cHBvcnRwbGFuEoEBChJDcmVhdGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIkgtPkkwIeOgEqIhkvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50EpIBChJVcGRhdGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvOgEqGiovdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50L3thbm5vdW5jZW1lbnRJZH0SnAEKGVVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXMSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMYLT5JMCKzoBKjImL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMvYnVsay9zdGF0dXMSoAEKFlVwZGF0ZUFubm91bmNlbWVudERhdGUSMS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQW5ub3VuY2VtZW50RGF0ZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiO4LT5JMCNToBKjIwL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2Fubm91bmNlbWVudElkfS9kYXRlEo8BChJEZWxldGVBbm5vdW5jZW1lbnQSLS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQW5ub3VuY2VtZW50UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsKiovdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50L3thbm5vdW5jZW1lbnRJZH0SoAEKEEdldEFubm91bmNlbWVudHMSKy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QW5ub3VuY2VtZW50c1JlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQW5ub3VuY2VtZW50IjuC0+STAjUSMy9iaWxsaW5nL3YxL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2Fubm91bmNlbWVudElkfTABEs4BChxHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzEjcuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXF1ZXN0GjguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHNSZXNwb25zZSI5gtPkkwIzEjEvdjEvYmlsbGluZ2dyb3VwL3Jlc2VsbGVyL2Fubm91bmNlbWVudHMve2dyb3VwSWR9MAESZgoKR2V0Q3JlZGl0cxIlLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDcmVkaXRzUmVxdWVzdBoaLmJsdWVhcGkuYmlsbGluZy52MS5DcmVkaXQiE4LT5JMCDRILL3YxL2NyZWRpdHMwARJ2Cg5HZXRDc3ZTZXR0aW5ncxIpLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDc3ZTZXR0aW5nc1JlcXVlc3QaHi5ibHVlYXBpLmJpbGxpbmcudjEuQ3N2U2V0dGluZyIXgtPkkwIREg8vdjEvY3N2c2V0dGluZ3MwARKpAQoXQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiJYLT5JMCHzoBKiIaL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4SqgEKFEdldENoaWxkQmlsbGluZ0dyb3VwEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBowLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIi+C0+STAikSJy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfRKgAQoWUmVhZENoaWxkQmlsbGluZ0dyb3VwcxIxLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkQ2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBolLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCIqgtPkkwIkOgEqIh8vdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbjpyZWFkMAEStgEKF1VwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjKC0+STAiw6ASoaJy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfRKzAQoXRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKSonL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9EvMBCiZVcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5ncxJBLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QaQi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3NSZXNwb25zZSJCgtPkkwI8OgEqGjcvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vaW52b2ljZVNldHRpbmdzEtIBCitTZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkYuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkOC0+STAj06ASoiOC92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzEu0BCjJTZXRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxJNLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiUILT5JMCSjoBKiJFL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L3NlcnZpY2VEaXNjb3VudHMvYWNjb3VudHM6c2V0EuUBCixTZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRJHLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiVILT5JMCTjoBKiJJL3YxL3t2ZW5kb3J9L2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L2N1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRKWAgosR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USRy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GkguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVzcG9uc2UiUYLT5JMCSxJJL3YxL3t2ZW5kb3J9L2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L2N1c3RvbWl6ZWRCaWxsaW5nU2VydmljZTABEoACCitHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkYuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkcuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSJAgtPkkwI6EjgvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vc2VydmljZURpc2NvdW50cxKLAgozUmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEk4uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRDaGlsZEJpbGxpbmdHcm91cEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaMi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzIk6C0+STAkgSRi92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzL2FjY291bnRzOnJlYWQwARKHAQoWQnVsa0NyZWF0ZUJpbGxpbmdHcm91cBIxLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL2JpbGxpbmdncm91cHM6YnVsa0NyZWF0ZRKHAQoWQnVsa1VwZGF0ZUJpbGxpbmdHcm91cBIxLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVXBkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iJ4LT5JMCIToBKiIcL3YxL2JpbGxpbmdncm91cHM6YnVsa1VwZGF0ZRK/AQoZQ3JlYXRlRXhjbHVkZVNlcnZpY2VFbnRyeRI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2UiNYLT5JMCLzoBKiIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEr8BChlVcGRhdGVFeGNsdWRlU2VydmljZUVudHJ5EjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZSI1gtPkkwIvOgEqGiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSvAEKGURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnkSNC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlIjKC0+STAiwqKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxKqAQoTTGlzdEV4Y2x1ZGVTZXJ2aWNlcxIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjbHVkZVNlcnZpY2VzUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEoABCgxMaXN0U2VydmljZXMSJy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdFNlcnZpY2VzUmVxdWVzdBooLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0U2VydmljZXNSZXNwb25zZSIdgtPkkwIXEhUvdjEve3ZlbmRvcn0vc2VydmljZXMSfgoPQnVsa0xpbmtBY2NvdW50EiouYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtMaW5rQWNjb3VudFJlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiyC0+STAiY6ASoiIS92MS9iaWxsaW5nZ3JvdXBzOmJ1bGtMaW5rQWNjb3VudBJ+ChNCdWxrVGFnQmlsbGluZ0dyb3VwEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtUYWdCaWxsaW5nR3JvdXBSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIkgtPkkwIeOgEqIhkvdjEvYmlsbGluZ2dyb3VwczpidWxrVGFnEtcBCiJHZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0Gj4uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIygtPkkwIsEiovdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2VsYXlvdXRjb25maWcSsgEKIlNldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWcSPS5ibHVlYXBpLmJpbGxpbmcudjEuU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNYLT5JMCLzoBKiIqL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNlbGF5b3V0Y29uZmlnEqwBChlDcmVhdGVJbnZvaWNlTGF5b3V0Q29uZmlnEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIigtPkkwIcOgEqIhcvdjEvaW52b2ljZWxheW91dGNvbmZpZxKSAQoZVXBkYXRlSW52b2ljZUxheW91dENvbmZpZxI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhOgEqGhwvdjEvaW52b2ljZWxheW91dGNvbmZpZy97aWR9Eq0BChdSZWFkSW52b2ljZUxheW91dENvbmZpZxIyLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEludm9pY2VMYXlvdXRDb25maWdSZXNwb25zZSIngtPkkwIhOgEqIhwvdjEvaW52b2ljZWxheW91dGNvbmZpZzpyZWFkMAEStQEKJURlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWcSQC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMoLT5JMCLCoqL3YxL2JpbGxpbmdncm91cHMve2lkfS9pbnZvaWNlbGF5b3V0Y29uZmlnEo8BChlEZWxldGVJbnZvaWNlTGF5b3V0Q29uZmlnEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh4qHC92MS9pbnZvaWNlbGF5b3V0Y29uZmlnL3tpZH0S3QEKJExpc3RJbnZvaWNlTGF5b3V0Q29uZmlnQmlsbGluZ0dyb3VwcxI/LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlTGF5b3V0Q29uZmlnQmlsbGluZ0dyb3Vwc1Jlc3BvbnNlIjKC0+STAiwSKi92MS9pbnZvaWNlbGF5b3V0Y29uZmlnL3tpZH0vYmlsbGluZ2dyb3VwcxqdAZJBmQESRihCRVRBKSBCaWxsaW5nIEFQSS4gQmFzZSBVUkw6IGh0dHBzOi8vYXBpLmFscGhhdXMuY2xvdWQvbS9ibHVlL2JpbGxpbmcaTwoSU2VydmljZSBkZWZpbml0aW9uEjlodHRwczovL2dpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS90cmVlL21haW4vYmlsbGluZy9CUQoZY2xvdWQuYWxwaGF1cy5hcGkuYmlsbGluZ0IMQmlsbGluZ1Byb3RvWiZnaXRodWIuY29tL2FscGhhdXNsYWJzL2JsdWVhcGkvYmlsbGluZ2IGcHJvdG8z", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, file_protos_operation, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask]);
|
|
56
|
+
fileDesc("ChhiaWxsaW5nL3YxL2JpbGxpbmcucHJvdG8SEmJsdWVhcGkuYmlsbGluZy52MSKgBAoMQmlsbGluZ0dyb3VwEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYByABKAkSDAoEdHlwZRgMIAEoCRIQCghoYXNDaGlsZBgNIAEoCBI+ChBiaWxsaW5nR3JvdXBJbmZvGAogASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8SOgoOYWNjb3VudE9wdGlvbnMYCCABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSJgoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50EiIKBHRhZ3MYBiADKAsyFC5ibHVlYXBpLmFwaS5Db3N0VGFnEkgKD2ludm9pY2VTZXR0aW5ncxgFIAEoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSSAoPYWRkaXRpb25hbEl0ZW1zGAsgASgLMi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIyCgphd3NPcHRpb25zGAkgASgLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c09wdGlvbnMioAEKG0JpbGxpbmdHcm91cEFkZGl0aW9uYWxJdGVtcxIpCgNhd3MYASADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKwoFYXp1cmUYAiADKAsyHC5ibHVlYXBpLmFwaS5BZGRpdGlvbmFsSXRlbXMSKQoDZ2NwGAMgAygLMhwuYmx1ZWFwaS5hcGkuQWRkaXRpb25hbEl0ZW1zIu4BChtCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSRQoFYXp1cmUYAiABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxJDCgNnY3AYAyABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyLxAwoiQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZxIQCghjYWxjVHlwZRgBIAEoCRIUCgxkaXNjb3VudFJhdGUYAiABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAMgASgJEhcKD3N1YnN0aXR1dGlvbkZpeBgEIAEoARIYChBzdWJzdGl0dXRpb25SYXRlGAUgASgBEhIKCnN1cHBvcnRGZWUYBiABKAkSEwoLc3VwcG9ydFJhdGUYByABKAESEgoKc3VwcG9ydEZpeBgIIAEoARIPCgd0YXhSYXRlGAkgASgBEhAKCGN1cnJlbmN5GAogASgJEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYCyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYDCABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYDSABKAkSIQoZc3Vic3RpdHV0aW9uRmVlQ2FsY1RhcmdldBgOIAEoCRIfChdzdWJzdGl0dXRpb25GZWVDYWxjVHlwZRgPIAEoCRIbChNzdXBwb3J0QW1vdW50VGFyZ2V0GBAgASgJEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GBEgASgJEhwKFHN1cHBvcnRGZWVBZGp1c3RtZW50GBIgASgBIpIBChhMaXN0QmlsbGluZ0dyb3Vwc1JlcXVlc3QSLgoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSDwoHdmVuZG9ycxgCIAEoCRIQCghjYWxjVHlwZRgDIAEoCRITCgtkaXNwbGF5Q29zdBgEIAEoCRIOCgZiZ1R5cGUYBSABKAkiswQKGUNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgUIAEoCSI1CgpBd3NPcHRpb25zEhYKDnVzZVByb0Zvcm1hQ3VyGAEgASgIEg8KB3BheWVySWQYAiABKAkiqwEKDkFjY291bnRPcHRpb25zEjEKA2F3cxgBIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjEKA2djcBgCIAEoCzIkLmJsdWVhcGkuYmlsbGluZy52MS5SZWdpc3RlckFjY291bnRzEjMKBWF6dXJlGAMgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlZ2lzdGVyQWNjb3VudHMiTgoQUmVnaXN0ZXJBY2NvdW50cxIPCgdlbmFibGVkGAEgASgIEhEKCWFjY291bnRJZBgCIAEoCRIWCg51bkxpbmtPblJlbW92ZRgDIAEoCCJUCg5WZW5kb3JBY2NvdW50cxIOCgZ2ZW5kb3IYASABKAkSMgoIYWNjb3VudHMYAiADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkImAKDEF6dXJlT3B0aW9ucxIVCg1yZXNvdXJjZUdyb3VwGAEgASgIEhsKE2FwcGx5UGNFYXJuZWRDcmVkaXQYAiABKAgSHAoUYXBwbHlDYW1wYWlnblByaWNpbmcYAyABKAgiqgcKH0NyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QSFgoOYmlsbGluZ0dyb3VwSWQYASABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIUCgxiaWxsaW5nVGl0bGUYBCABKAkSEwoLcGhvbmVOdW1iZXIYBSABKAkSEgoKcG9zdGFsQ29kZRgGIAEoCRIPCgdhZGRyZXNzGAcgASgJEhAKCHBlcnNvbmFsGAggASgJEg8KB3JlbWFya3MYCSABKAkSEQoJcHJvamVjdElkGAogASgJEhAKCGxhbmd1YWdlGAsgASgJEhMKC2Rpc3BsYXlDb3N0GAwgASgJEhgKEGV4Y2hhbmdlUmF0ZVR5cGUYDSABKAkSOgoOYWNjb3VudE9wdGlvbnMYDyABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnMSRgoIaW52b2ljZXMYDiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USMgoKYXdzT3B0aW9ucxgQIAEoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NPcHRpb25zEgwKBGNpdHkYESABKAkSEgoKcHJlZmVjdHVyZRgSIAEoCRIPCgdjb3VudHJ5GBMgASgJEhkKEWludm9pY2VUZW1wbGF0ZUlkGBQgASgJEjMKC3RhZ1NldHRpbmdzGBUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSOAoNbm9uVGFnU2V0dGluZxgWIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nEjoKDnZlbmRvckFjY291bnRzGBcgAygLMiIuYmx1ZWFwaS5iaWxsaW5nLnYxLlZlbmRvckFjY291bnRzElsKDGN1c3RvbUZpZWxkcxgYIAMoCzJFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBNZXJnZWRSZXF1ZXN0LkN1c3RvbUZpZWxkc0VudHJ5EjYKDGF6dXJlT3B0aW9ucxgZIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BenVyZU9wdGlvbnMaMwoRQ3VzdG9tRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASL/AQogQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2USRwoDYXdzGAEgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkkKBWF6dXJlGAIgASgLMjouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cFJlcXVlc3RJbnZvaWNlVmVuZG9yEkcKA2djcBgDIAEoCzI6LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZVZlbmRvciL1AwomQ3JlYXRlQmlsbGluZ0dyb3VwUmVxdWVzdEludm9pY2VWZW5kb3ISEAoIY2FsY1R5cGUYASABKAkSFAoMZGlzY291bnRSYXRlGAIgASgBEhcKD3N1YnN0aXR1dGlvbkZlZRgDIAEoCRIXCg9zdWJzdGl0dXRpb25GaXgYBCABKAESGAoQc3Vic3RpdHV0aW9uUmF0ZRgFIAEoARISCgpzdXBwb3J0RmVlGAYgASgJEhMKC3N1cHBvcnRSYXRlGAcgASgBEhIKCnN1cHBvcnRGaXgYCCABKAESDwoHdGF4UmF0ZRgJIAEoARIQCghjdXJyZW5jeRgKIAEoCRIbChNkaXNjb3VudFRhcmdldFVzYWdlGAsgASgJEiIKGnN1YnN0aXR1dGlvbkZlZVRhcmdldFVzYWdlGAwgASgJEhkKEWRpc2NvdW50Q2FsY0xvZ2ljGA0gASgJEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDiABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYDyABKAkSGwoTc3VwcG9ydEFtb3VudFRhcmdldBgQIAEoCRIcChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgRIAEoCRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgSIAEoASJjChZHZXRCaWxsaW5nR3JvdXBSZXF1ZXN0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEi4KCmZpZWxkX21hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlEKF0dldEJpbGxpbmdHcm91cFJlc3BvbnNlEjYKDGJpbGxpbmdHcm91cBgBIAEoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAilgEKC0FjY2Vzc0dyb3VwEhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSFwoPYWNjZXNzR3JvdXBOYW1lGAIgASgJEh4KFmFjY2Vzc0dyb3VwRGVzY3JpcHRpb24YAyABKAkSNwoNYmlsbGluZ0dyb3VwcxgEIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5CaWxsaW5nR3JvdXAiXgoVR2V0QWNjZXNzR3JvdXBSZXF1ZXN0EhUKDWFjY2Vzc0dyb3VwSWQYASABKAkSLgoKZmllbGRfbWFzaxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2siTgoWR2V0QWNjZXNzR3JvdXBSZXNwb25zZRI0CgthY2Nlc3NHcm91cBgBIAEoCzIfLmJsdWVhcGkuYmlsbGluZy52MS5BY2Nlc3NHcm91cCKvAgoSQXdzRGFpbHlSdW5IaXN0b3J5EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg0KBW1vbnRoGAMgASgJEkAKCGFjY291bnRzGAQgAygLMi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50GpQBCgdBY2NvdW50EhEKCWFjY291bnRJZBgBIAEoCRJHCgdoaXN0b3J5GAIgAygLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkF3c0RhaWx5UnVuSGlzdG9yeS5BY2NvdW50Lkhpc3RvcnkaLQoHSGlzdG9yeRIRCgl0aW1lc3RhbXAYASABKAkSDwoHdHJpZ2dlchgCIAEoCSI/Ch1MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBINCgVtb250aBgBIAEoCRIPCgdncm91cElkGAIgASgJIlYKGkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIZChFiaWxsaW5nSW50ZXJuYWxJZBgCIAEoCRINCgVtb250aBgDIAEoCSKGAQoPVXNhZ2VDb3N0c0RyaWZ0EhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg8KB2FjY291bnQYAyABKAkSEAoIc25hcHNob3QYBCABKAESDwoHY3VycmVudBgFIAEoARIMCgRkaWZmGAYgASgBIjIKEUdldEludm9pY2VSZXF1ZXN0EgwKBGRhdGUYASABKAkSDwoHZ3JvdXBJZBgCIAEoCSI5ChhFeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIPCgdncm91cElkGAIgASgJIigKGUV4cG9ydEludm9pY2VGaWxlUmVzcG9uc2USCwoDdXJsGAEgASgJIjUKI1JlYWRTZXJ2aWNlRGlzY291bnRzU2VydmljZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSIkCiJMaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Il4KIUdldEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCRItCglmaWVsZE1hc2sYAiABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrImoKF0ludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHY3JlYXRlZBgEIAEoCRIPCgd1cGRhdGVkGAUgASgJIhwKGkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Il0KKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VUZW1wbGF0ZVJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISHwoRaW52b2ljZVRlbXBsYXRlSWQYAiABKAlCBOJBAQIingIKG0xpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZRIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEg8KB2NyZWF0ZWQYBCABKAkSDwoHdXBkYXRlZBgFIAEoCRIZChFudW1iZXJPZkNvbm5lY3RlZBgGIAEoBRJQChVjb25uZWN0ZWRCaWxsaW5nR3JvdXAYByADKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZUNvbm5lY3RlZEJpbGxpbmdHcm91cHMSQQoIaW52b2ljZXMYCCABKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzIiIKIEdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0IkgKIUdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZRIjChtzaG93UklTUFVwZnJvbnRUaW1lSW50ZXJ2YWwYASABKAgirAEKI1VwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0ElUKB3NldHRpbmcYASADKAsyRC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QuU2V0dGluZ0VudHJ5Gi4KDFNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAg6AjgBImwKHUludm9pY2VDb25uZWN0ZWRCaWxsaW5nR3JvdXBzEhkKEWJpbGxpbmdJbnRlcm5hbElkGAEgASgJEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYAyABKAkiPAopTGlzdEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKHAQoeQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEgoKAmlkGAEgASgJEg8KB2FjY291bnQYAiABKAkSSAoQc2VydmljZURpc2NvdW50cxgDIAEoCzIuLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5JbnZvaWNlU2VydmljZURpc2NvdW50cyI4ChdBY2NvdW50U2VydmljZURpc2NvdW50cxIKCgJpZBgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkifQorQ3JlYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIm0KLENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIn0KK1VwZGF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyJtCixVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRI9CghhY2NvdW50cxgEIAMoCzIrLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50U2VydmljZURpc2NvdW50cyI+CitEZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkifQorUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEj0KCGFjY291bnRzGAQgAygLMisuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRTZXJ2aWNlRGlzY291bnRzIk8KMENyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJEgoKAmlkGAIgASgJIj8KMUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiTwowVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSCgoCaWQYAiABKAkiPwoxVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSJDCjBEZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSJzChRDcmVhdGVJbnZvaWNlUmVxdWVzdBIMCgRkYXRlGAQgASgJEg4KBnZlbmRvchgBIAEoCRIRCglhbGxHcm91cHMYAiABKAgSDgoGZ3JvdXBzGAMgAygJEhoKEmV4Y2x1ZGVEZXNjZW5kYW50cxgFIAEoCCIlChdHZXRJbnZvaWNlU3RhdHVzUmVxdWVzdBIKCgJpZBgBIAEoCSIoChhMaXN0SW52b2ljZVN0YXR1c1JlcXVlc3QSDAoEZGF0ZRgBIAEoCSJgChxVcGRhdGVJbnZvaWNlUHJldmlld3NSZXF1ZXN0EgwKBGRhdGUYASABKAkSEQoJYWxsR3JvdXBzGAIgASgIEg4KBmdyb3VwcxgDIAMoCRIPCgdlbmFibGVkGAQgASgIIs8BChVDcmVhdGVSZXNlbGxlclJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCRINCgVlbWFpbBgCIAEoCRIQCghwYXNzd29yZBgDIAEoCRIUCgxub3RpZmljYXRpb24YBCABKAgSNgoKd2F2ZUNvbmZpZxgFIAMoCzIiLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlckNvbmZpZxI2CgphcXVhQ29uZmlnGAYgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnIkYKFExpc3RSZXNlbGxlcnNSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIlAKEkdldFJlc2VsbGVyUmVxdWVzdBIKCgJpZBgBIAEoCRIuCgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayKmAgoVVXBkYXRlUmVzZWxsZXJSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECEhMKBWVtYWlsGAIgASgJQgTiQQEBEhcKCHBhc3N3b3JkGAMgASgJQgXiQQIEARI8Cgp3YXZlQ29uZmlnGAQgAygLMiIuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyQ29uZmlnQgTiQQEBEjwKCmFxdWFDb25maWcYBSADKAsyIi5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXJDb25maWdCBOJBAQESGwoMbm90aWZpY2F0aW9uGAYgASgIQgXiQQIEARI0Cgp1cGRhdGVNYXNrGAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBAiIjChVEZWxldGVSZXNlbGxlclJlcXVlc3QSCgoCaWQYASABKAkiSgoYR2V0QmlsbGluZ1NldHRpbmdSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrIscCChlHZXRCaWxsaW5nU2V0dGluZ1Jlc3BvbnNlEjAKCXllYXJNb250aBgBIAMoCzIdLmJsdWVhcGkuYXBpLnJpcHBsZS5ZZWFyTW9udGgSNAoOcm91bmRpbmdNZXRob2QYAiABKAsyHC5ibHVlYXBpLmFwaS5yaXBwbGUuUm91bmRpbmcSOgoUZXhwb3J0Um91bmRpbmdNZXRob2QYAyABKAsyHC5ibHVlYXBpLmFwaS5yaXBwbGUuUm91bmRpbmcSOAoNaW52b2ljZUxheW91dBgEIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EjMKDmludm9pY2VEdWVEYXRlGAUgASgLMhsuYmx1ZWFwaS5hcGkucmlwcGxlLkR1ZURhdGUSFwoPc3VwcG9ydEN1cnJlbmN5GAYgAygJIjkKGExpc3RFeGNoYW5nZVJhdGVzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkiZQocU2V0R2xvYmFsRXhjaGFuZ2VSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDQoFbW9udGgYAiABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGAQgASgBIncKG1NldFBheWVyRXhjaGFuZ2VSYXRlUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSEQoJYWNjb3VudElkGAIgASgJEg0KBW1vbnRoGAMgASgJEhAKCGN1cnJlbmN5GAQgASgJEhQKDGV4Y2hhbmdlUmF0ZRgFIAEoASJsCiJTZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGVSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDQoFbW9udGgYAiABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGAQgASgBIuIBChlMaXN0RXhjaGFuZ2VSYXRlc1Jlc3BvbnNlEg0KBW1vbnRoGAEgASgJEjYKBmNvbW1vbhgCIAEoCzImLmJsdWVhcGkuYXBpLnJpcHBsZS5Db21tb25FeGNoYW5nZVJhdGUSQgoMYmlsbGluZ0dyb3VwGAMgAygLMiwuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZRI6CgVwYXllchgEIAEoCzIrLmJsdWVhcGkuYXBpLnJpcHBsZS5WZW5kb3JQYXllckV4Y2hhbmdlUmF0ZSJJChdMaXN0QWNjZXNzR3JvdXBzUmVxdWVzdBIuCgpmaWVsZF9tYXNrGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFzayJUChhDcmVhdGVBY2Nlc3NHcm91cFJlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAMgAygJImAKGFVwZGF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEhUKDWJpbGxpbmdHcm91cHMYBCADKAkiJgoYRGVsZXRlQWNjZXNzR3JvdXBSZXF1ZXN0EgoKAmlkGAEgASgJIp4BChJMaXN0SW52b2ljZVJlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSGQoRYmlsbGluZ0ludGVybmFsSWQYAyABKAkSLgoKZmllbGRfbWFzaxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2sSHwoXY2hpbGRCaWxsaW5nSW50ZXJuYWxJZHMYBSADKAkinQkKE0xpc3RJbnZvaWNlUmVzcG9uc2USGQoRYmlsbGluZ0ludGVybmFsSWQYASABKAkSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSGAoQYmlsbGluZ0dyb3VwTmFtZRgDIAEoCRITCgtjb21wYW55TmFtZRgEIAEoCRIaChJmaW5hbGl6YXRpb25TdGF0dXMYBSABKAkSEQoJaXNDcmVhdGVkGAYgASgIEhkKEWlzU2V0dGluZ01vZGlmaWVkGAcgASgIEhMKC2NyZWF0ZWREYXRlGAggASgJEhMKC3VwZGF0ZWREYXRlGAkgASgJEhYKDmNyZWF0ZWRWZW5kb3JzGAogAygJEhMKC2lzUHVibGlzaGVkGAsgASgIEl0KE3ZlbmRvckJpbGxpbmdBbW91bnQYDCADKAsyQC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5WZW5kb3JCaWxsaW5nQW1vdW50RW50cnkSGgoSYmlsbGluZ0Ftb3VudFRvdGFsGA0gASgJEhAKCGN1cnJlbmN5GA4gASgJEg0KBXVybElkGA8gASgJEm0KG2NyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZxgQIAMoCzJILmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlc3BvbnNlLkNyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EmkKGXNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmcYESADKAsyRi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZS5TYXZlZFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSbQobZGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nGBIgAygLMkguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlUmVzcG9uc2UuRGVmYXVsdFZlbmRvckludm9pY2VTZXR0aW5nRW50cnkSEAoIaGFzQ2hpbGQYEyABKAgSFwoPYXR0YWNoZWRWZW5kb3JzGBQgAygJGjoKGFZlbmRvckJpbGxpbmdBbW91bnRFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGmcKIENyZWF0ZWRWZW5kb3JJbnZvaWNlU2V0dGluZ0VudHJ5EgsKA2tleRgBIAEoCRIyCgV2YWx1ZRgCIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3M6AjgBGmUKHlNhdmVkVmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ARpnCiBEZWZhdWx0VmVuZG9ySW52b2ljZVNldHRpbmdFbnRyeRILCgNrZXkYASABKAkSMgoFdmFsdWUYAiABKAsyIy5ibHVlYXBpLmJpbGxpbmcudjEuSW52b2ljZVNldHRpbmdzOgI4ASIpChtMaXN0QWJjQmlsbGluZ0dyb3Vwc1JlcXVlc3QSCgoCaWQYASABKAkiTgoiTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzUmVxdWVzdBIPCgdwYXllcklkGAEgASgJEhcKD2JpbGxpbmdHcm91cEFybhgCIAEoCSKPAQoPQWJjQmlsbGluZ0dyb3VwEgsKA2FybhgBIAEoCRIMCgRuYW1lGAIgASgJEhQKDGNyZWF0aW9uVGltZRgDIAEoCRITCgtkZXNjcmlwdGlvbhgEIAEoCRIYChBwcmltYXJ5QWNjb3VudElkGAUgASgJEgwKBHNpemUYBiABKAkSDgoGc3RhdHVzGAcgASgJIjQKCkFiY0FjY291bnQSEQoJYWNjb3VudElkGAEgASgJEhMKC2FjY291bnROYW1lGAIgASgJImIKHVJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIRCglhY2NvdW50SWQYAiABKAkSDQoFbW9udGgYAyABKAkSDwoHZmVlVHlwZRgEIAEoCSKZAQocUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQEaTgoiQWRqdXN0bWVudEVudHJpZXNSZXF1ZXN0QXdzT3B0aW9ucxITCgtzcHBEaXNjb3VudBgBIAEoCBITCgtlZHBEaXNjb3VudBgCIAEoCCJDChlHZXRBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhIQCgJpZBgCIAEoCUIE4kEBAiKeAwobQXBwbHlBZGp1c3RtZW50RW50cnlSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhJTCgdzZXR0aW5nGAIgASgLMjwuYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmdCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAhr8AQoMQXBwbHlTZXR0aW5nEhMKBW1vbnRoGAEgASgJQgTiQQEBEhUKB3RheEZyZWUYAiABKAhCBOJBAQESagoMZXhjaGFuZ2VSYXRlGAMgAygLMk4uYmx1ZWFwaS5iaWxsaW5nLnYxLkFwcGx5QWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BcHBseVNldHRpbmcuRXhjaGFuZ2VSYXRlRW50cnlCBOJBAQESHwoRYmlsbGluZ0ludGVybmFsSWQYBCABKAlCBOJBAQEaMwoRRXhjaGFuZ2VSYXRlRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgBOgI4ASJMCh1SZXN0b3JlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISFQoHZW50cmllcxgDIAMoCUIE4kEBAiJfChtTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhAKAmlkGAIgASgJQgTiQQECEhgKCnN0YXJ0TW9udGgYAyABKAlCBOJBAQIi/AEKHkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQISVgoGY29uZmlnGAMgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdC5BY2NvdW50Q29uZmlnQgTiQQECEiEKE2FjY291bnRGb3JSZW1haW5pbmcYBCABKAlCBOJBAQIaNwoNQWNjb3VudENvbmZpZxIQCgJpZBgBIAEoCUIE4kEBAhIUCgZhbW91bnQYAiABKAFCBOJBAQIiTAoiUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIiTwolUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEAoCaWQYAiABKAlCBOJBAQIifgoWQ3JlYXRlQ3VzdG9tRmVlUmVxdWVzdBIUCgZ2ZW5kb3IYASABKAlCBOJBAQISEwoFbW9udGgYAiABKAlCBOJBAQISOQoHZW50cmllcxgDIAMoCzIiLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GZWVFbnRyeUIE4kEBAiKhAwoOQ3VzdG9tRmVlRW50cnkSFwoJYWNjb3VudElkGAEgASgJQgTiQQECEhwKDnBheWVyQWNjb3VudElkGAIgASgJQgTiQQECEhUKB2ZlZVR5cGUYAyABKAlCBOJBAQISGQoLbW9iaW5naVR5cGUYBCABKAlCBOJBAQISFAoGYW1vdW50GAUgASgBQgTiQQECEhoKDGN1cnJlbmN5Q29kZRgGIAEoCUIE4kEBAhIZCgtkZXNjcmlwdGlvbhgHIAEoCUIE4kEBAhIZCgtwcm9kdWN0Q29kZRgIIAEoCUIE4kEBARIZCgtwcm9kdWN0TmFtZRgJIAEoCUIE4kEBARIYCgp1c2FnZVN0YXJ0GAogASgJQgTiQQEBEhoKDHRpbWVJbnRlcnZhbBgLIAEoCUIE4kEBARJACgRtZXRhGAwgAygLMiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZlZUVudHJ5Lk1ldGFFbnRyeUIE4kEBARorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASIqChdDcmVhdGVDdXN0b21GZWVSZXNwb25zZRIPCgdjcmVhdGVkGAEgASgFIn0KH0xpc3RBZGp1c3RtZW50RW50cnlJdGVtc1JlcXVlc3QSFAoGdmVuZG9yGAEgASgJQgTiQQECEhMKBW1vbnRoGAIgASgJQgTiQQECEhkKC21vYmluZ2lUeXBlGAMgASgJQgTiQQEBEhQKBnN0YXR1cxgEIAEoCUIE4kEBASK6AQoTQWRqdXN0bWVudEVudHJ5SXRlbRI1CgVlbnRyeRgBIAEoCzImLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkSPwoEbWV0YRgCIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5BZGp1c3RtZW50RW50cnlJdGVtLk1ldGFFbnRyeRorCglNZXRhRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASI8ChtMaXN0QWNjb3VudFJlc291cmNlc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg0KBW1vbnRoGAIgASgJIkoKD1Jlc291cmNlQWNjb3VudBIPCgdwYXllcklkGAEgASgJEhIKCmN1c3RvbWVySWQYAiABKAkSEgoKcmVnaXN0ZXJlZBgDIAEoCCJIChpHZXRBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSGgoSaW5jbHVkZVNQUERpc2NvdW50GAIgASgIIo0BCh1DcmVhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Io0BCh1VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSKgoGY29uZmlnGAIgAygLMhouYmx1ZWFwaS5hcGkuQ29uZmlnRmlsdGVycxIwCghhY2NvdW50cxgDIAMoCzIeLmJsdWVhcGkuYXBpLk1hbmFnZW1lbnRBY2NvdW50Ii8KHURlbGV0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCSJnChlSZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0EhQKBnZlbmRvchgBIAEoCUIE4kEBAhI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJcCiRSZWFkQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlc1JlcXVlc3QSNAoKZmllbGRfbWFzaxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQEiZgoiR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoCRI0CgpmaWVsZF9tYXNrGAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IE4kEBASJ8CiVDcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EgwKBG5hbWUYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSMAoGY29uZmlnGAMgASgLMiAuYmx1ZWFwaS5hcGkucmlwcGxlLk1ldGhvZENvbmZpZyLFAQolVXBkYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBIQCgJpZBgBIAEoCUIE4kEBAhJUChhjdXN0b21pemVkQmlsbGluZ1NlcnZpY2UYAiABKAsyLC5ibHVlYXBpLmFwaS5yaXBwbGUuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjMKJURlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSCgoCaWQYASABKAkiXQouR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiLJAQovR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVzcG9uc2USEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEkAKDmNoYXJnaW5nVGFyZ2V0GAMgASgOMiIuYmx1ZWFwaS5hcGkucmlwcGxlLkNoYXJnaW5nVGFyZ2V0QgTiQQECEiwKCGFjY291bnRzGAQgAygLMhQuYmx1ZWFwaS5hcGkuQWNjb3VudEIE4kEBASL3AgouU2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBIVCgdncm91cElkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhKAAQoHc2V0dGluZxgDIAMoCzJpLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0LkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdTZXR0aW5nQgTiQQECGpQBCiZDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZxIQCgJpZBgBIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgCIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIWCghhY2NvdW50cxgDIAMoCUIE4kEBASJgCjFEZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0EhUKB2dyb3VwSWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECIpEBCiRDcmVhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRJGCgdzZXR0aW5nGAMgASgLMjUuYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzU2V0dGluZyLFAQokVXBkYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECElUKF2ludm9pY2VTZXJ2aWNlRGlzY291bnRzGAIgASgLMi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzQgTiQQECEjQKCnVwZGF0ZU1hc2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgTiQQECIjIKJERlbGV0ZUludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIKCgJpZBgBIAEoCSJuCgdUYWdEYXRhEhIKCmN1c3RvbWVySWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEhQKDGN1c3RvbWVyTmFtZRgDIAEoCRImCgR0YWdzGAQgAygLMhguYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ3MiTwoEVGFncxILCgNrZXkYASABKAkSDgoGdmFsdWVzGAIgAygJEhcKD3RvdGFsVmFsdWVDb3VudBgDIAEoBRIRCgl0cnVuY2F0ZWQYBCABKAgiLgoOR2V0VGFnc1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEgwKBHR5cGUYAiABKAkigAEKFExpc3RUYWdWYWx1ZXNSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRISCgpjdXN0b21lcklkGAIgASgJEg4KBnRhZ0tleRgDIAEoCRISCgpwYWdlTnVtYmVyGAQgASgFEhAKCHBhZ2VTaXplGAUgASgFEg4KBnNlYXJjaBgGIAEoCSJ6ChVMaXN0VGFnVmFsdWVzUmVzcG9uc2USDgoGdmFsdWVzGAEgAygJEhcKD3RvdGFsVmFsdWVDb3VudBgCIAEoBRISCgpwYWdlTnVtYmVyGAMgASgFEhAKCHBhZ2VTaXplGAQgASgFEhIKCnRvdGFsUGFnZXMYBSABKAUiOwoLQ3VzdG9tRmllbGQSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIl4KF0JpbGxpbmdHcm91cEN1c3RvbUZpZWxkEg0KBXZhbHVlGAEgASgJEjQKC2N1c3RvbUZpZWxkGAIgASgLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIjUKIkxpc3RCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QSDwoHZ3JvdXBJZBgBIAEoCSKFAQojTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRJNChhiaWxsaW5nR3JvdXBDdXN0b21GaWVsZHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQiPAoYQ3JlYXRlQ3VzdG9tRmllbGRSZXF1ZXN0EgsKA2tleRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCSJIChhVcGRhdGVDdXN0b21GaWVsZFJlcXVlc3QSCgoCaWQYASABKAkSCwoDa2V5GAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJIiYKGERlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBIKCgJpZBgBIAEoCSIYChZMaXN0Q3VzdG9tRmllbGRSZXF1ZXN0ImsKF0NyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSDgoGdmVuZG9yGAIgASgJEi8KBWl0ZW1zGAMgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbSJhCgxGcmVlRm9ybUl0ZW0SDQoFbGFiZWwYASABKAkSEAoIdW5pdENvc3QYAiABKAMSDQoFdG90YWwYBSABKAMSEAoIcXVhbnRpdHkYAyABKA0SDwoHZW5hYmxlZBgEIAEoCCI6ChdEZWxldGVGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCSI9ChRHZXRGcmVlRm9ybWF0UmVxdWVzdBIPCgdncm91cElkGAEgASgJEhQKDGlzQXNzb2NpYXRlZBgCIAEoCCJuChVHZXRGcmVlRm9ybWF0UmVzcG9uc2USDwoHZ3JvdXBJZBgDIAEoCRIOCgZ2ZW5kb3IYASABKAkSNAoKZnJlZUZvcm1hdBgCIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5GcmVlRm9ybUl0ZW0iOgomR2V0TW9udGhseU1pc2NGZWVJbXBvcnRUZW1wbGF0ZVJlcXVlc3QSEAoIbGFuZ3VhZ2UYASABKAkisQEKHE1vbnRobHlNaXNjRmVlSW1wb3J0VGVtcGxhdGUSDgoGZm9ybWF0GAEgASgJEhYKDmZvcm1hdF92ZXJzaW9uGAIgASgJEg8KB2hlYWRlcnMYAyADKAkSEgoKc2FtcGxlX3JvdxgEIAMoCRIVCg1hbGxvd2VkX21vZGVzGAUgAygJEhsKE21heF9maWxlX3NpemVfYnl0ZXMYBiABKAMSEAoIbWF4X3Jvd3MYByABKAUirwEKIEJ1bGtJbXBvcnRNb250aGx5TWlzY0ZlZXNSZXF1ZXN0EhkKC2Nzdl9jb250ZW50GAEgASgJQgTiQQECEhcKCWZpbGVfbmFtZRgCIAEoCUIE4kEBAhISCgRtb2RlGAMgASgJQgTiQQECEhQKBmZvcm1hdBgEIAEoCUIE4kEBAhIcCg5mb3JtYXRfdmVyc2lvbhgFIAEoCUIE4kEBAhIPCgdkcnlfcnVuGAYgASgIIrABChpMaXN0TW9udGhseU1pc2NGZWVzUmVxdWVzdBIbCg1iaWxsaW5nX21vbnRoGAEgASgJQgTiQQECEhgKEGJpbGxpbmdfZ3JvdXBfaWQYAiABKAkSIAoYYmlsbGluZ19ncm91cF9uYW1lX3F1ZXJ5GAMgASgJEhIKCml0ZW1fcXVlcnkYBCABKAkSEQoJcGFnZV9zaXplGAUgASgFEhIKCnBhZ2VfdG9rZW4YBiABKAkifQobTGlzdE1vbnRobHlNaXNjRmVlc1Jlc3BvbnNlEjAKBHJvd3MYASADKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuTW9udGhseU1pc2NGZWUSFwoPbmV4dF9wYWdlX3Rva2VuGAIgASgJEhMKC3RvdGFsX2NvdW50GAMgASgFIlAKG0RlbGV0ZU1vbnRobHlNaXNjRmVlUmVxdWVzdBIUCgZyb3dfaWQYASABKAlCBOJBAQISGwoNYmlsbGluZ19tb250aBgCIAEoCUIE4kEBAiL4AQoOTW9udGhseU1pc2NGZWUSDgoGcm93X2lkGAEgASgJEhUKDWJpbGxpbmdfbW9udGgYAiABKAkSGAoQYmlsbGluZ19ncm91cF9pZBgDIAEoCRIaChJiaWxsaW5nX2dyb3VwX25hbWUYBCABKAkSDgoGdmVuZG9yGAUgASgJEhEKCWl0ZW1fbmFtZRgGIAEoCRIQCghxdWFudGl0eRgHIAEoDRIRCgl1bml0X2Nvc3QYCCABKAMSDgoGYW1vdW50GAkgASgDEg8KB2VuYWJsZWQYCiABKAgSDgoGc291cmNlGAsgASgJEhAKCGN1cnJlbmN5GAwgASgJIpYDChpNb250aGx5TWlzY0ZlZUltcG9ydFJlc3VsdBIOCgZzdGF0dXMYASABKAkSEQoJZmlsZV9uYW1lGAIgASgJEhIKCnRvdGFsX3Jvd3MYAyABKAUSEgoKdmFsaWRfcm93cxgEIAEoBRIVCg1pbnNlcnRlZF9yb3dzGAUgASgFEhQKDHVwZGF0ZWRfcm93cxgGIAEoBRIWCg51bmNoYW5nZWRfcm93cxgHIAEoBRITCgtmYWlsZWRfcm93cxgIIAEoBRJGCgtyb3dfcmVzdWx0cxgJIAMoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydFJvd1Jlc3VsdBIUCgxyZW1vdmVkX3Jvd3MYCiABKAUSFgoOYmlsbGluZ19tb250aHMYCyADKAkSDwoHdmVuZG9ycxgMIAMoCRJMCg5iaWxsaW5nX2dyb3VwcxgNIAMoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydEdyb3VwU3VtbWFyeSJYCiBNb250aGx5TWlzY0ZlZUltcG9ydEdyb3VwU3VtbWFyeRIYChBiaWxsaW5nX2dyb3VwX2lkGAEgASgJEhoKEmJpbGxpbmdfZ3JvdXBfbmFtZRgCIAEoCSLtAgodTW9udGhseU1pc2NGZWVJbXBvcnRSb3dSZXN1bHQSFgoOY3N2X3Jvd19udW1iZXIYASABKAUSDgoGYWN0aW9uGAIgASgJEhgKEGJpbGxpbmdfZ3JvdXBfaWQYAyABKAkSGgoSYmlsbGluZ19ncm91cF9uYW1lGAQgASgJEg4KBnZlbmRvchgFIAEoCRIRCglpdGVtX25hbWUYBiABKAkSEAoIcXVhbnRpdHkYByABKA0SEQoJdW5pdF9jb3N0GAggASgDEg4KBmFtb3VudBgJIAEoAxIPCgdlbmFibGVkGAogASgIEkwKEXZhbGlkYXRpb25fZXJyb3JzGAsgAygLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk1vbnRobHlNaXNjRmVlVmFsaWRhdGlvbkVycm9yEhUKDWJpbGxpbmdfbW9udGgYDCABKAkSEAoIY3VycmVuY3kYDSABKAkSDgoGc291cmNlGA4gASgJIk0KHU1vbnRobHlNaXNjRmVlVmFsaWRhdGlvbkVycm9yEg0KBWZpZWxkGAEgASgJEgwKBGNvZGUYAiABKAkSDwoHbWVzc2FnZRgDIAEoCSJ3Ch5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QSDgoGdmVuZG9yGAEgASgJEg8KB2dyb3VwSWQYAiABKAkSNAoFaXRlbXMYAyADKAsyJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciPgobR2V0VGFnc0FkZGluZ1NldHRpbmdSZXF1ZXN0Eg4KBnZlbmRvchgBIAEoCRIPCgdncm91cElkGAIgASgJIkkKEVRhZ3NBZGRpbmdTZXR0aW5nEg8KB2dyb3VwSWQYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRIPCgd0YWdLZXlzGAMgAygJIk0KHUV4cG9ydFNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhQKBmZvcm1hdBgBIAEoCUIE4kEBAhIWCghsYW5ndWFnZRgCIAEoCUIE4kEBASKkAQorRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBIUCgZmb3JtYXQYASABKAlCBOJBAQISFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESEgoKZGlyZWN0TGluaxgDIAEoCBIdCg9iaWxsaW5nR3JvdXBJZHMYBCADKAlCBOJBAQESFAoGbGF5ZXJzGAUgAygFQgTiQQEBIqkBCjBFeHBvcnRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSFAoGZm9ybWF0GAEgASgJQgTiQQECEhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEhIKCmRpcmVjdExpbmsYAyABKAgSHQoPYmlsbGluZ0dyb3VwSWRzGAQgAygJQgTiQQEBEhQKBmxheWVycxgFIAMoBUIE4kEBASJrChxFeHBvcnRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0EhYKCGxhbmd1YWdlGAIgASgJQgTiQQEBEh0KD2JpbGxpbmdHcm91cElkcxgDIAMoCUIE4kEBARIUCgZsYXllcnMYBCADKAVCBOJBAQEiNQodRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2USFAoMZG93bmxvYWRMaW5rGAEgASgJIpEBCh5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QSFgoIbGFuZ3VhZ2UYAiABKAlCBOJBAQESIgoUaW5jbHVkZU1pc2NlbGxhbmVvdXMYAyABKAhCBOJBAQESHQoPYmlsbGluZ0dyb3VwSWRzGAQgAygJQgTiQQEBEhQKBmxheWVycxgFIAMoBUIE4kEBASI3Ch9FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlc3BvbnNlEhQKDGRvd25sb2FkTGluaxgBIAEoCSKPAwojUHJldmlld0JpbGxpbmdHcm91cENzdkV4cG9ydFJlcXVlc3QSXQoLZXhwb3J0X3R5cGUYASABKA4yQi5ibHVlYXBpLmJpbGxpbmcudjEuUHJldmlld0JpbGxpbmdHcm91cENzdkV4cG9ydFJlcXVlc3QuRXhwb3J0VHlwZUIE4kEBAhIUCgZsYXllcnMYAiADKAVCBOJBAQISIwoVaW5jbHVkZV9taXNjZWxsYW5lb3VzGAMgASgIQgTiQQEBIs0BCgpFeHBvcnRUeXBlEhsKF0VYUE9SVF9UWVBFX1VOU1BFQ0lGSUVEEAASJAogRVhQT1JUX1RZUEVfQklMTElOR19HUk9VUF9ERVRBSUwQARIgChxFWFBPUlRfVFlQRV9JTlZPSUNFX1NFVFRJTkdTEAISLworRVhQT1JUX1RZUEVfQklMTElOR19HUk9VUF9TRVJWSUNFX0RJU0NPVU5UUxADEikKJUVYUE9SVF9UWVBFX0FDQ09VTlRfU0VSVklDRV9ESVNDT1VOVFMQBCKCAgokUHJldmlld0JpbGxpbmdHcm91cENzdkV4cG9ydFJlc3BvbnNlEl8KDGxheWVyX2NvdW50cxgBIAMoCzJJLmJsdWVhcGkuYmlsbGluZy52MS5QcmV2aWV3QmlsbGluZ0dyb3VwQ3N2RXhwb3J0UmVzcG9uc2UuTGF5ZXJDb3VudHNFbnRyeRIVCg1wcmV2aWV3X3Rva2VuGAIgASgJEi4KCmV4cGlyZXNfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGjIKEExheWVyQ291bnRzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASJyCiVFeHBvcnRQcmV2aWV3ZWRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0EhsKDXByZXZpZXdfdG9rZW4YASABKAlCBOJBAQISFAoGbGF5ZXJzGAIgAygFQgTiQQECEhYKCGxhbmd1YWdlGAMgASgJQgTiQQEBIj8KJkV4cG9ydFByZXZpZXdlZEJpbGxpbmdHcm91cENzdlJlc3BvbnNlEhUKDWRvd25sb2FkX2xpbmsYASABKAkiQAotR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkiPAouR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZRIKCgJpZBgBIAEoCSK5AQohQWRkQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0Eg8KB2dyb3VwSWQYASABKAkSUwoHaWRUb0tleRgCIAMoCzJCLmJsdWVhcGkuYmlsbGluZy52MS5BZGRCaWxsaW5nR3JvdXBDdXN0b21GaWVsZFJlcXVlc3QuSWRUb0tleUVudHJ5Gi4KDElkVG9LZXlFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIk4KJERlbGV0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBIPCgdncm91cElkGAEgASgJEhUKDWN1c3RvbUZpZWxkSWQYAiABKAkidgofQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIyCghhY2NvdW50cxgDIAMoCzIgLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50VG9BZGQiUQoMQWNjb3VudFRvQWRkEhIKCmN1c3RvbWVySWQYASABKAkSEQoJYWNjb3VudElkGAIgASgJEgwKBG5hbWUYAyABKAkSDAoEbm90ZRgEIAEoCSKrAQocQWRkVGFnc1RvQmlsbGluZ0dyb3VwUmVxdWVzdBIPCgdncm91cElkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIwCghzZXR0aW5ncxgDIAMoCzIeLmJsdWVhcGkuYmlsbGluZy52MS5UYWdTZXR0aW5nEjgKDW5vblRhZ1NldHRpbmcYBCABKAsyIS5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnU2V0dGluZyJHCgpUYWdTZXR0aW5nEhIKCmN1c3RvbWVySWQYASABKAkSJQoEdGFncxgCIAMoCzIXLmJsdWVhcGkuYmlsbGluZy52MS5UYWciMQoDVGFnEgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCRIOCgZhc3NpZ24YAyABKAUiPgoNTm9uVGFnU2V0dGluZxIPCgdpbmNsdWRlGAEgASgIEgwKBHR5cGUYAiABKAkSDgoGYW1vdW50GAMgASgBIj4KHVNhdmVUYWdJbnZvaWNlU2V0dGluZ1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRINCgVlcnJvchgCIAEoCSJ+CiZVcGRhdGVOb25UYWdHcm91cFRvQmlsbGluZ0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSOAoIc2V0dGluZ3MYAyADKAsyJi5ibHVlYXBpLmJpbGxpbmcudjEuTm9uVGFnR3JvdXBTZXR0aW5nIj4KEk5vblRhZ0dyb3VwU2V0dGluZxIKCgJpZBgBIAEoCRIMCgR0eXBlGAIgASgJEg4KBmFtb3VudBgDIAEoASKaAQoaU2F2ZUludm9pY2VTZXR0aW5nc1JlcXVlc3QSDAoEZGF0ZRgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEQoJYWxsR3JvdXBzGAMgASgIEg4KBmdyb3VwcxgEIAMoCRI7Cg5pbnZvaWNlU2V0dGluZxgFIAEoCzIjLmJsdWVhcGkuYmlsbGluZy52MS5JbnZvaWNlU2V0dGluZ3MiswQKD0ludm9pY2VTZXR0aW5ncxIRCglpbnZvaWNlTm8YAiABKAkSFAoMZGlzY291bnRSYXRlGAQgASgBEhsKE2Rpc2NvdW50VGFyZ2V0VXNhZ2UYBSABKAkSGQoRZGlzY291bnRDYWxjTG9naWMYBiABKAkSDwoHdGF4UmF0ZRgHIAEoARISCgpzdXBwb3J0RmVlGAggASgJEhMKC3N1cHBvcnRSYXRlGAkgASgBEhwKFHN1cHBvcnRGZWVDYWxjVGFyZ2V0GAogASgJEhIKCnN1cHBvcnRGaXgYCyABKAESFwoPc3Vic3RpdHV0aW9uRmVlGAwgASgJEhgKEHN1YnN0aXR1dGlvblJhdGUYDSABKAESFwoPc3Vic3RpdHV0aW9uRml4GA4gASgBEiEKGXN1YnN0aXR1dGlvbkZlZUNhbGNUYXJnZXQYDyABKAkSIgoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYECABKAkSHwoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYESABKAkSEAoIY3VycmVuY3kYAyABKAkSFAoMZXhjaGFuZ2VSYXRlGBIgASgBEgwKBG1lbW8YEyABKAkSEAoIY2FsY1R5cGUYFCABKAkSOQoPYWRkaXRpb25hbEl0ZW1zGBUgAygLMiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkZyZWVGb3JtSXRlbRIcChRzdXBwb3J0RmVlQWRqdXN0bWVudBgWIAEoASKtAwoQQmFzaWNJbmZvcm1hdGlvbhIYChBiaWxsaW5nR3JvdXBOYW1lGAIgASgJEhYKDmJpbGxpbmdHcm91cElkGAMgASgJEhMKC2NvbXBhbnlOYW1lGAQgASgJEhYKCWFkZHJlc3NlZRgFIAEoCUgAiAEBEhQKB2NvdW50cnkYBiABKAlIAYgBARIXCgpwb3N0YWxDb2RlGAcgASgJSAKIAQESEQoEY2l0eRgIIAEoCUgDiAEBEhgKC3Bob25lTnVtYmVyGAkgASgJSASIAQESGQoMYWRkcmVzc0xpbmUxGAogASgJSAWIAQESGQoMYWRkcmVzc0xpbmUyGAsgASgJSAaIAQESEgoFc3RhdGUYDCABKAlIB4gBARIXCgpwcmVmZWN0dXJlGA0gASgJSAiIAQFCDAoKX2FkZHJlc3NlZUIKCghfY291bnRyeUINCgtfcG9zdGFsQ29kZUIHCgVfY2l0eUIOCgxfcGhvbmVOdW1iZXJCDwoNX2FkZHJlc3NMaW5lMUIPCg1fYWRkcmVzc0xpbmUyQggKBl9zdGF0ZUINCgtfcHJlZmVjdHVyZSJ3CilVcGRhdGVCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uUmVxdWVzdBIKCgJpZBgBIAEoCRI+ChBiYXNpY0luZm9ybWF0aW9uGAIgASgLMiQuYmx1ZWFwaS5iaWxsaW5nLnYxLkJhc2ljSW5mb3JtYXRpb24ivAEKJVVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QSCgoCaWQYASABKAkSVwoHaWRUb0tleRgCIAMoCzJGLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBDdXN0b21GaWVsZHNSZXF1ZXN0LklkVG9LZXlFbnRyeRouCgxJZFRvS2V5RW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJyCiNVcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0UmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSLwoFaXRlbXMYAyADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuRnJlZUZvcm1JdGVtIuoCCihVcGRhdGVCaWxsaW5nR3JvdXBMaW5rZWRSZXNvdXJjZXNSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIXCg9zZWxlY3Rpb25NZXRob2QYAyABKAkSMgoIYWNjb3VudHMYBCADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFRvQWRkEjAKCHNldHRpbmdzGAUgAygLMh4uYmx1ZWFwaS5iaWxsaW5nLnYxLlRhZ1NldHRpbmcSPQoNbm9uVGFnU2V0dGluZxgGIAEoCzIhLmJsdWVhcGkuYmlsbGluZy52MS5Ob25UYWdTZXR0aW5nSACIAQESPwoOYWNjb3VudE9wdGlvbnMYByABKAsyIi5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudE9wdGlvbnNIAYgBAUIQCg5fbm9uVGFnU2V0dGluZ0IRCg9fYWNjb3VudE9wdGlvbnMi9gEKKFVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSCgoCaWQYASABKAkSGQoMYmlsbGluZ1RpdGxlGAIgASgJSACIAQESHAoPY2FsY3VsYXRpb25UeXBlGAMgASgJSAGIAQESFQoIbGFuZ3VhZ2UYBCABKAlIAogBARIiChVpbnZvaWNlTGF5b3V0Q29uZmlnSWQYBSABKAlIA4gBAUIPCg1fYmlsbGluZ1RpdGxlQhIKEF9jYWxjdWxhdGlvblR5cGVCCwoJX2xhbmd1YWdlQhgKFl9pbnZvaWNlTGF5b3V0Q29uZmlnSWQirwEKKFVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlc1JlcXVlc3QSCgoCaWQYASABKAkSHAoPaW52b2ljZVRlbXBsYXRlGAIgASgJSACIAQESRQoHaW52b2ljZRgDIAEoCzI0LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0SW52b2ljZUISChBfaW52b2ljZVRlbXBsYXRlIr8ECipVcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QSCgoCaWQYASABKAkSeAoDYXdzGAIgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhJ6CgVhenVyZRgDIAMoCzJlLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBBZGRpdGlvbmFsQ2hhcmdlc1JlcXVlc3QuQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmdCBOJBAQISeAoDZ2NwGAQgAygLMmUuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEFkZGl0aW9uYWxDaGFyZ2VzUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiJwoZRGVsZXRlQmlsbGluZ0dyb3VwUmVxdWVzdBIKCgJpZBgBIAEoCSJSCihHZXRCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5SZXF1ZXN0EhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAiKgAQopR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVzcG9uc2USCgoCaWQYASABKAkSDgoGdmVuZG9yGAIgASgJEg8KB2VuYWJsZWQYAyABKAgSRgoHc2V0dGluZxgEIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4i8AEKK1VwZGF0ZUJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QSEAoCaWQYASABKAlCBOJBAQISFAoGdmVuZG9yGAIgASgJQgTiQQECEhUKB2VuYWJsZWQYAyABKAhCBOJBAQESTAoHc2V0dGluZxgEIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW5CBOJBAQESNAoKdXBkYXRlTWFzaxgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCBOJBAQIiMQoXR2V0QW5ub3VuY2VtZW50c1JlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAkipwEKGUNyZWF0ZUFubm91bmNlbWVudFJlcXVlc3QSDQoFbGFiZWwYASABKAkSDAoEdHlwZRgCIAEoCRIQCghjb250ZW50cxgDIAEoCRIVCg1iaWxsaW5nR3JvdXBzGAQgAygJEhgKEGFsbEJpbGxpbmdHcm91cHMYBSABKAgSDQoFc3RhcnQYBiABKAMSCwoDZW5kGAcgASgDEg4KBnN0YXR1cxgIIAEoCSJ4ChlVcGRhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgASgJEkMKDGFubm91bmNlbWVudBgCIAEoCzItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0IkoKIFVwZGF0ZUFubm91bmNlbWVudHNTdGF0dXNSZXF1ZXN0EhYKDmFubm91bmNlbWVudElkGAEgAygJEg4KBnN0YXR1cxgCIAEoCSJFCh1VcGRhdGVBbm5vdW5jZW1lbnREYXRlUmVxdWVzdBIWCg5hbm5vdW5jZW1lbnRJZBgBIAMoCRIMCgRkYXRlGAIgASgDIjMKGURlbGV0ZUFubm91bmNlbWVudFJlcXVlc3QSFgoOYW5ub3VuY2VtZW50SWQYASABKAki6QEKDEFubm91bmNlbWVudBIKCgJpZBgBIAEoCRINCgVsYWJlbBgCIAEoCRIMCgR0eXBlGAMgASgJEg8KB21lc3NhZ2UYBCABKAkSFQoNYmlsbGluZ0dyb3VwcxgFIAMoCRIYChBhbGxCaWxsaW5nR3JvdXBzGA0gASgIEg0KBXN0YXJ0GAYgASgJEgsKA2VuZBgHIAEoCRIMCgRkYXRlGAggASgJEg4KBnN0YXR1cxgJIAEoCRISCgp1c2VyU3RhdHVzGAogASgJEg8KB2NyZWF0ZWQYCyABKAkSDwoHdXBkYXRlZBgMIAEoCSI2CiNHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVxdWVzdBIPCgdncm91cElkGAEgASgJIpYBCiRHZXRCaWxsaW5nR3JvdXBBbm5vdW5jZW1lbnRzUmVzcG9uc2USDwoHZ3JvdXBJZBgBIAEoCRIRCglncm91cE5hbWUYAiABKAkSEQoJY29tcGFueUlkGAMgASgJEjcKDWFubm91bmNlbWVudHMYBCADKAsyIC5ibHVlYXBpLmJpbGxpbmcudjEuQW5ub3VuY2VtZW50IhMKEUdldENyZWRpdHNSZXF1ZXN0IsQBCgZDcmVkaXQSCgoCaWQYASABKAkSEgoKY3VzdG9tZXJJZBgCIAEoCRIUCgxjdXN0b21lck5hbWUYAyABKAkSFAoMY3JlZGl0QW1vdW50GAQgASgBEgwKBHRlcm0YBSABKAkSEwoLZGVzY3JpcHRpb24YBiABKAkSDwoHY3JlYXRlZBgHIAEoCRISCgppbml0aWFsRmVlGAggASgBEhUKDWNyZWRpdEJhbGFuY2UYCSABKAESDwoHYXBwbGllZBgKIAEoCCIXChVHZXRDc3ZTZXR0aW5nc1JlcXVlc3QipAEKCkNzdlNldHRpbmcSCgoCaWQYASABKAkSDAoEbmFtZRgCIAEoCRIyCgNjb2wYAyADKAsyJS5ibHVlYXBpLmJpbGxpbmcudjEuQ3N2U2V0dGluZy5Db2x1bW4aSAoGQ29sdW1uEgwKBG5hbWUYASABKAkSCgoCaWQYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDwoHZW5hYmxlZBgEIAEoCCLmAQogVXBkYXRlSW52b2ljZUV4Y2hhbmdlUmF0ZVJlcXVlc3QSDQoFbW9udGgYASABKAkSDgoGdmVuZG9yGAIgASgJElwKDGV4Y2hhbmdlUmF0ZRgDIAMoCzJGLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlUmVxdWVzdC5FeGNoYW5nZVJhdGVFbnRyeRIQCghncm91cElkcxgEIAMoCRozChFFeGNoYW5nZVJhdGVFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAE6AjgBIo0BChpDb252ZXJ0SW52b2ljZVRvUGRmUmVxdWVzdBIMCgRkYXRlGAEgASgJEhUKDWJpbGxpbmdncm91cHMYAiADKAkSGAoQYWxsQmlsbGluZ0dyb3VwcxgDIAEoCBIUCgZsYXllcnMYBCADKAVCBOJBAQESGgoMcHJldmlld19vbmx5GAUgASgIQgTiQQEBItABChtDb252ZXJ0SW52b2ljZVRvUGRmUmVzcG9uc2USEAoIcHJvZ3Jlc3MYASABKAkSEwoLZG93bmxvYWRVcmwYAiABKAkSVgoMbGF5ZXJfY291bnRzGAMgAygLMkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkNvbnZlcnRJbnZvaWNlVG9QZGZSZXNwb25zZS5MYXllckNvdW50c0VudHJ5GjIKEExheWVyQ291bnRzRW50cnkSCwoDa2V5GAEgASgFEg0KBXZhbHVlGAIgASgFOgI4ASKIAgohTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXF1ZXN0Ei4KCmZpZWxkX21hc2sYASABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrEg8KB3ZlbmRvcnMYAiABKAkSEAoIY2FsY1R5cGUYAyABKAkSEwoLZGlzcGxheUNvc3QYBCABKAkSDgoGYmdUeXBlGAUgASgJEhMKC2NvbXBhbnlOYW1lGAYgASgJEhgKEGJpbGxpbmdHcm91cE5hbWUYByABKAkSFgoOYmlsbGluZ0dyb3VwSWQYCCABKAkSEAoIcGFnZVNpemUYCSABKAUSEgoKcGFnZU51bWJlchgKIAEoBSKXAgoUQmlsbGluZ0dyb3VwTGlzdEl0ZW0SGAoQYmlsbGluZ0dyb3VwTmFtZRgBIAEoCRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRITCgtjb21wYW55TmFtZRgDIAEoCRIYChBiaWxsaW5nR3JvdXBUeXBlGAQgASgJEkwKB3ZlbmRvcnMYBSADKAsyOy5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwTGlzdEl0ZW0uQmlsbGluZ0dyb3VwVmVuZG9yEhkKEWJpbGxpbmdJbnRlcm5hbElkGAYgASgJGjUKEkJpbGxpbmdHcm91cFZlbmRvchIOCgZ2ZW5kb3IYASABKAkSDwoHZW5hYmxlZBgCIAEoCCK0AQoiTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXNwb25zZRI/Cg1iaWxsaW5nR3JvdXBzGAEgAygLMiguYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cExpc3RJdGVtEhIKCnRvdGFsQ291bnQYAiABKAUSEwoLY3VycmVudFBhZ2UYAyABKAUSEAoIcGFnZVNpemUYBCABKAUSEgoKdG90YWxQYWdlcxgFIAEoBSKOAQohQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEgoKAmlkGAEgASgJEhIKCmludGVybmFsSWQYBiABKAkSEAoIcGFyZW50SWQYAiABKAkSFAoMcm9vdFBhcmVudElkGAUgASgJEgwKBG5hbWUYAyABKAkSEwoLY29tcGFueU5hbWUYBCABKAkivgEKJEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBIQCgJpZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAyABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISLAoIYWNjb3VudHMYBCADKAsyFC5ibHVlYXBpLmFwaS5BY2NvdW50QgTiQQEBIoACChFDaGlsZEJpbGxpbmdHcm91cBJPChBiYXNpY0luZm9ybWF0aW9uGAEgASgLMjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvbhJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSOQoLYmlsbGluZ0luZm8YAyABKAsyJC5ibHVlYXBpLmFwaS5yaXBwbGUuQmlsbGluZ0dyb3VwSW5mbxIQCghoYXNDaGlsZBgEIAEoCCKsAgogQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSQwoDYXdzGAEgASgLMjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cFZlbmRvcmVkSW52b2ljZVNldHRpbmcSIQoZYWNjb3VudFN1cHBvcnRQbGFuRW5hYmxlZBgCIAEoCBJZChphY2NvdW50U3VwcG9ydFBsYW5TZXR0aW5ncxgDIAMoCzI1LmJsdWVhcGkuYXBpLnJpcHBsZS52MS5CaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SRQoFYXp1cmUYBCABKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwVmVuZG9yZWRJbnZvaWNlU2V0dGluZyKaAgoeQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0Ek8KEGJhc2ljSW5mb3JtYXRpb24YASABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8STQoPaW52b2ljZVNldHRpbmdzGAIgASgLMjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEh0KFWludm9pY2VMYXlvdXRDb25maWdJZBgEIAEoCSIhCh9DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlIjEKG0dldENoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJIlYKHEdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2USNgoHZGV0YWlscxgBIAEoCzIlLmJsdWVhcGkuYmlsbGluZy52MS5DaGlsZEJpbGxpbmdHcm91cCJBCh1SZWFkQ2hpbGRCaWxsaW5nR3JvdXBzUmVxdWVzdBIOCgZyb290SWQYASABKAkSEAoIcGFyZW50SWQYAiABKAkiwAEKHlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJEk8KEGJhc2ljSW5mb3JtYXRpb24YAiABKAsyNS5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBCYXNpY0luZm9ybWF0aW9uEjkKC2JpbGxpbmdJbmZvGAMgASgLMiQuYmx1ZWFwaS5hcGkucmlwcGxlLkJpbGxpbmdHcm91cEluZm8iIQofVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSI0Ch5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSIhCh9EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlc3BvbnNlItABCi1VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRJNCg9pbnZvaWNlU2V0dGluZ3MYAiABKAsyNC5ibHVlYXBpLmJpbGxpbmcudjEuQ2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2V0dGluZ3MSIgoVaW52b2ljZUxheW91dENvbmZpZ0lkGAMgASgJSACIAQFCGAoWX2ludm9pY2VMYXlvdXRDb25maWdJZCIwCi5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1Jlc3BvbnNlIpoDCjNTZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QSGAoKaW50ZXJuYWxJZBgBIAEoCUIE4kEBAhIUCgZ2ZW5kb3IYAiABKAlCBOJBAQISFAoGcm9vdElkGAMgASgJQgTiQQECEoUBCgdzZXR0aW5nGAQgAygLMm4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdC5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nU2V0dGluZ0IE4kEBAhqUAQomQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ1NldHRpbmcSEAoCaWQYASABKAlCBOJBAQISQAoOY2hhcmdpbmdUYXJnZXQYAiABKA4yIi5ibHVlYXBpLmFwaS5yaXBwbGUuQ2hhcmdpbmdUYXJnZXRCBOJBAQISFgoIYWNjb3VudHMYAyADKAlCBOJBAQEiVAoyU2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCRIKCgJpZBgCIAEoCSKOAQo5U2V0Q2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSPQoIYWNjb3VudHMYAiADKAsyKy5ibHVlYXBpLmJpbGxpbmcudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHMiWQozR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0EhIKCmludGVybmFsSWQYASABKAkSDgoGdmVuZG9yGAIgASgJIs4BCjRHZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlc3BvbnNlEhAKAmlkGAEgASgJQgTiQQECEhQKBnZlbmRvchgCIAEoCUIE4kEBAhJACg5jaGFyZ2luZ1RhcmdldBgDIAEoDjIiLmJsdWVhcGkuYXBpLnJpcHBsZS5DaGFyZ2luZ1RhcmdldEIE4kEBAhIsCghhY2NvdW50cxgEIAMoCzIULmJsdWVhcGkuYXBpLkFjY291bnRCBOJBAQEiSAoyR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QSEgoKaW50ZXJuYWxJZBgBIAEoCSJBCjNHZXRDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2USCgoCaWQYASABKAkiUAo6UmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBISCgppbnRlcm5hbElkGAEgASgJInkKHUJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0Eg4KBnZlbmRvchgFIAEoCRISCgpjc3ZDb250ZW50GAEgASgMEhEKCWRlbGltaXRlchgCIAEoCRIRCgloYXNIZWFkZXIYAyABKAgSDgoGZHJ5UnVuGAQgASgIIlUKG0J1bGtDcmVhdGVCaWxsaW5nR3JvdXBFcnJvchINCgVpbmRleBgBIAEoBRIWCg5iaWxsaW5nR3JvdXBJZBgCIAEoCRIPCgdtZXNzYWdlGAMgASgJIrMCCh5CdWxrQ3JlYXRlQmlsbGluZ0dyb3VwTWV0YWRhdGESDgoGc3RhdHVzGAEgASgJEhIKCnRvdGFsQ291bnQYAiABKAUSFgoOcHJvY2Vzc2VkQ291bnQYAyABKAUSFAoMc3VjY2Vzc0NvdW50GAQgASgFEhQKDGZhaWx1cmVDb3VudBgFIAEoBRI/CgZlcnJvcnMYBiADKAsyLy5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0NyZWF0ZUJpbGxpbmdHcm91cEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJEkQKBHJvd3MYCSADKAsyNi5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0JpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JvdyI+Ch1Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBINCgV2YWx1ZRgBIAEoCRIOCgZzb3VyY2UYAiABKAkiqQ0KGU5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ3MSQwoIY2FsY1R5cGUYASABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSRgoLZGlzcGxheUNvc3QYAiABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSTgoTc3VwcG9ydEFtb3VudFRhcmdldBgDIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJPChRzdXBwb3J0RmVlQ2FsY1RhcmdldBgEIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJUChlzdWJzdGl0dXRpb25GZWVDYWxjVGFyZ2V0GAUgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEkoKD2ludm9pY2VUZW1wbGF0ZRgGIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJICg1jdXN0b21TZXJ2aWNlGAcgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEksKEHNlcnZpY2VEaXNjb3VudHMYCCABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSQwoIY3VycmVuY3kYCSABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSQgoHdGF4UmF0ZRgKIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJHCgxkaXNjb3VudFJhdGUYCyABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSTgoTZGlzY291bnRUYXJnZXRVc2FnZRgMIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJMChFkaXNjb3VudENhbGNMb2dpYxgNIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJKCg9zdWJzdGl0dXRpb25GZWUYDiABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSSwoQc3Vic3RpdHV0aW9uUmF0ZRgPIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJKCg9zdWJzdGl0dXRpb25GaXgYECABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSVQoac3Vic3RpdHV0aW9uRmVlVGFyZ2V0VXNhZ2UYESABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSUgoXc3Vic3RpdHV0aW9uRmVlQ2FsY1R5cGUYEiABKAsyMS5ibHVlYXBpLmJpbGxpbmcudjEuTm9ybWFsaXplZEludm9pY2VTZXR0aW5nRmllbGQSRQoKc3VwcG9ydEZlZRgTIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJGCgtzdXBwb3J0UmF0ZRgUIAEoCzIxLmJsdWVhcGkuYmlsbGluZy52MS5Ob3JtYWxpemVkSW52b2ljZVNldHRpbmdGaWVsZBJFCgpzdXBwb3J0Rml4GBUgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkEk8KFHN1cHBvcnRGZWVBZGp1c3RtZW50GBYgASgLMjEuYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ0ZpZWxkIuIBCiJCdWxrQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUm93Eg0KBWluZGV4GAEgASgFEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEg4KBnN0YXR1cxgDIAEoCRIOCgZlcnJvcnMYBCADKAkSSQoSbm9ybWFsaXplZFNldHRpbmdzGAUgASgLMi0uYmx1ZWFwaS5iaWxsaW5nLnYxLk5vcm1hbGl6ZWRJbnZvaWNlU2V0dGluZ3MSEwoLZGlzcG9zaXRpb24YBiABKAkSFQoNY3N2TGluZU51bWJlchgHIAEoBSJ5Ch1CdWxrVXBkYXRlQmlsbGluZ0dyb3VwUmVxdWVzdBIOCgZ2ZW5kb3IYBSABKAkSEgoKY3N2Q29udGVudBgBIAEoDBIRCglkZWxpbWl0ZXIYAiABKAkSEQoJaGFzSGVhZGVyGAMgASgIEg4KBmRyeVJ1bhgEIAEoCCJlChtCdWxrVXBkYXRlQmlsbGluZ0dyb3VwRXJyb3ISDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIOCgZyZWFzb24YBCABKAkiswIKHkJ1bGtVcGRhdGVCaWxsaW5nR3JvdXBNZXRhZGF0YRIOCgZzdGF0dXMYASABKAkSEgoKdG90YWxDb3VudBgCIAEoBRIWCg5wcm9jZXNzZWRDb3VudBgDIAEoBRIUCgxzdWNjZXNzQ291bnQYBCABKAUSFAoMZmFpbHVyZUNvdW50GAUgASgFEj8KBmVycm9ycxgGIAMoCzIvLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVXBkYXRlQmlsbGluZ0dyb3VwRXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkSRAoEcm93cxgJIAMoCzI2LmJsdWVhcGkuYmlsbGluZy52MS5CdWxrQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUm93IrkBChNFeGNsdWRlU2VydmljZUVudHJ5Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCRIOCgZhY3Rpb24YByABKAkSDgoGc3RhdHVzGAggASgJEhUKDWVycm9yX21lc3NhZ2UYCSABKAkijwEKIENyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJEhcKD2V4Y2VwdF9wYXllcl9pZBgGIAMoCSJbCiFDcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2USNgoFZW50cnkYASABKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSKPAQogVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QSDgoGbXNwX2lkGAEgASgJEg4KBnZlbmRvchgCIAEoCRIQCghwYXllcl9pZBgDIAEoCRIPCgdzZXJ2aWNlGAQgASgJEg8KB3Byb2R1Y3QYBSABKAkSFwoPZXhjZXB0X3BheWVyX2lkGAYgAygJIlsKIVVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5InYKIERlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkSEAoIcGF5ZXJfaWQYAyABKAkSDwoHc2VydmljZRgEIAEoCRIPCgdwcm9kdWN0GAUgASgJIlsKIURlbGV0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZRI2CgVlbnRyeRgBIAEoCzInLmJsdWVhcGkuYmlsbGluZy52MS5FeGNsdWRlU2VydmljZUVudHJ5IjwKGkxpc3RFeGNsdWRlU2VydmljZXNSZXF1ZXN0Eg4KBm1zcF9pZBgBIAEoCRIOCgZ2ZW5kb3IYAiABKAkiVwobTGlzdEV4Y2x1ZGVTZXJ2aWNlc1Jlc3BvbnNlEjgKB2VudHJpZXMYASADKAsyJy5ibHVlYXBpLmJpbGxpbmcudjEuRXhjbHVkZVNlcnZpY2VFbnRyeSJECgtTZXJ2aWNlSXRlbRIKCgJpZBgBIAEoCRIMCgRjb2RlGAIgASgJEg0KBW5hbWVzGAMgAygJEgwKBHNrdXMYBCADKAkiMwoTTGlzdFNlcnZpY2VzUmVxdWVzdBIOCgZ2ZW5kb3IYASABKAkSDAoEY29kZRgCIAEoCSJFChRMaXN0U2VydmljZXNSZXNwb25zZRItCgRkYXRhGAEgAygLMh8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNlcnZpY2VJdGVtInIKFkJ1bGtMaW5rQWNjb3VudFJlcXVlc3QSDgoGdmVuZG9yGAUgASgJEhIKCmNzdkNvbnRlbnQYASABKAwSEQoJZGVsaW1pdGVyGAIgASgJEhEKCWhhc0hlYWRlchgDIAEoCBIOCgZkcnlSdW4YBCABKAgiYQoUQnVsa0xpbmtBY2NvdW50RXJyb3ISDQoFaW5kZXgYASABKAUSFgoOYmlsbGluZ0dyb3VwSWQYAiABKAkSEQoJYWNjb3VudElkGAMgASgJEg8KB21lc3NhZ2UYBCABKAki3wEKF0J1bGtMaW5rQWNjb3VudE1ldGFkYXRhEg4KBnN0YXR1cxgBIAEoCRISCgp0b3RhbENvdW50GAIgASgFEhYKDnByb2Nlc3NlZENvdW50GAMgASgFEhQKDHN1Y2Nlc3NDb3VudBgEIAEoBRIUCgxmYWlsdXJlQ291bnQYBSABKAUSOAoGZXJyb3JzGAYgAygLMiguYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtMaW5rQWNjb3VudEVycm9yEhEKCXN0YXJ0VGltZRgHIAEoCRIPCgdlbmRUaW1lGAggASgJIj4KGkJ1bGtUYWdCaWxsaW5nR3JvdXBSZXF1ZXN0EhIKCmNzdkNvbnRlbnQYASABKAwSDAoEbW9kZRgCIAEoCSKCAQoYQnVsa1RhZ0JpbGxpbmdHcm91cEVycm9yEg0KBWluZGV4GAEgASgFEhYKDmJpbGxpbmdHcm91cElkGAIgASgJEhIKCmN1c3RvbWVySWQYAyABKAkSCwoDa2V5GAQgASgJEg0KBXZhbHVlGAUgASgJEg8KB21lc3NhZ2UYBiABKAki5wEKG0J1bGtUYWdCaWxsaW5nR3JvdXBNZXRhZGF0YRIOCgZzdGF0dXMYASABKAkSEgoKdG90YWxDb3VudBgCIAEoBRIWCg5wcm9jZXNzZWRDb3VudBgDIAEoBRIUCgxzdWNjZXNzQ291bnQYBCABKAUSFAoMZmFpbHVyZUNvdW50GAUgASgFEjwKBmVycm9ycxgGIAMoCzIsLmJsdWVhcGkuYmlsbGluZy52MS5CdWxrVGFnQmlsbGluZ0dyb3VwRXJyb3ISEQoJc3RhcnRUaW1lGAcgASgJEg8KB2VuZFRpbWUYCCABKAkiNwopR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkieQoqR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEjEKBmxheW91dBgBIAEoCzIhLmJsdWVhcGkuYXBpLnJpcHBsZS5JbnZvaWNlTGF5b3V0EgoKAmlkGAIgASgJEgwKBG5hbWUYAyABKAkiSgopU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkSEQoJbGF5b3V0X2lkGAIgASgJImMKIENyZWF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0EgwKBG5hbWUYASABKAkSMQoGbGF5b3V0GAIgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiNgohQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEhEKCWxheW91dF9pZBgBIAEoCSJvCiBVcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBIKCgJpZBgBIAEoCRIxCgZsYXlvdXQYAiABKAsyIS5ibHVlYXBpLmFwaS5yaXBwbGUuSW52b2ljZUxheW91dBIMCgRuYW1lGAMgASgJIiAKHlJlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdCJuCh9SZWFkSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSMQoGbGF5b3V0GAMgASgLMiEuYmx1ZWFwaS5hcGkucmlwcGxlLkludm9pY2VMYXlvdXQiOgosRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkiLgogRGVsZXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QSCgoCaWQYASABKAkiOQorTGlzdEludm9pY2VMYXlvdXRDb25maWdCaWxsaW5nR3JvdXBzUmVxdWVzdBIKCgJpZBgBIAEoCSJICixMaXN0SW52b2ljZUxheW91dENvbmZpZ0JpbGxpbmdHcm91cHNSZXNwb25zZRIYChBiaWxsaW5nZ3JvdXBfaWRzGAEgAygJMtXKAQoHQmlsbGluZxKAAQoRTGlzdEJpbGxpbmdHcm91cHMSLC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIZgtPkkwITEhEvdjEvYmlsbGluZ2dyb3VwczABErABChpMaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZBI1LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3Vwc1BhZ2luYXRlZFJlcXVlc3QaNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cHNQYWdpbmF0ZWRSZXNwb25zZSIjgtPkkwIdEhsvdjEvYmlsbGluZ2dyb3VwczpwYWdpbmF0ZWQSgwEKEkNyZWF0ZUJpbGxpbmdHcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GiAuYmx1ZWFwaS5iaWxsaW5nLnYxLkJpbGxpbmdHcm91cCIcgtPkkwIWOgEqIhEvdjEvYmlsbGluZ2dyb3VwcxKWAQoYQ3JlYXRlQmlsbGluZ0dyb3VwTWVyZ2VkEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cE1lcmdlZFJlcXVlc3QaIC5ibHVlYXBpLmJpbGxpbmcudjEuQmlsbGluZ0dyb3VwIiOC0+STAh06ASoiGC92MS9iaWxsaW5nZ3JvdXBzL21lcmdlZBJ5ChFEZWxldGVCaWxsaW5Hcm91cBItLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9iaWxsaW5nZ3JvdXAve2lkfRKMAQoYQWRkQWNjb3VudFRvQmlsbGluZ0dyb3VwEjMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEFjY291bnRUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiI4LT5JMCHToBKiIYL3YxL2JpbGxpbmdncm91cC9hY2NvdW50EpkBCg9HZXRCaWxsaW5nR3JvdXASKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwUmVxdWVzdBorLmJsdWVhcGkuYmlsbGluZy52MS5HZXRCaWxsaW5nR3JvdXBSZXNwb25zZSItgtPkkwInEiUvdjEvYmlsbGluZ2dyb3Vwcy97YmlsbGluZ0ludGVybmFsSWR9EpEBCg5HZXRBY2Nlc3NHcm91cBIpLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBY2Nlc3NHcm91cFJlcXVlc3QaKi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWNjZXNzR3JvdXBSZXNwb25zZSIogtPkkwIiEiAvdjEvYWNjZXNzZ3JvdXBzL3thY2Nlc3NHcm91cElkfRKeAQoWTGlzdEF3c0RhaWx5UnVuSGlzdG9yeRIxLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QXdzRGFpbHlSdW5IaXN0b3J5UmVxdWVzdBomLmJsdWVhcGkuYmlsbGluZy52MS5Bd3NEYWlseVJ1bkhpc3RvcnkiJ4LT5JMCIToBKiIcL3YxL2F3cy9kYWlseXJ1bmhpc3Rvcnk6cmVhZDABEpoBChNMaXN0VXNhZ2VDb3N0c0RyaWZ0Ei4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RVc2FnZUNvc3RzRHJpZnRSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlVzYWdlQ29zdHNEcmlmdCIsgtPkkwImOgEqIiEvdjEve3ZlbmRvcn0vdXNhZ2Vjb3N0c2RyaWZ0OnJlYWQwARJ8Cg1DcmVhdGVJbnZvaWNlEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUludm9pY2VSZXF1ZXN0GhsuYmx1ZWFwaS5hcGkuSW52b2ljZU1lc3NhZ2UiJILT5JMCHjoBKiIZL3YxL2ludm9pY2Uve2RhdGV9OmNyZWF0ZRKbAQoZQ3JlYXRlSW52b2ljZVdpdGhTZXR0aW5ncxIuLmJsdWVhcGkuYmlsbGluZy52MS5TYXZlSW52b2ljZVNldHRpbmdzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIjGC0+STAis6ASoiJi92MS9pbnZvaWNlL3tkYXRlfTpjcmVhdGUmc2F2ZXNldHRpbmdzEokBChNTYXZlSW52b2ljZVNldHRpbmdzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLlNhdmVJbnZvaWNlU2V0dGluZ3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpzYXZlc2V0dGluZ3MSogEKE0NvbnZlcnRJbnZvaWNlVG9QZGYSLi5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlcXVlc3QaLy5ibHVlYXBpLmJpbGxpbmcudjEuQ29udmVydEludm9pY2VUb1BkZlJlc3BvbnNlIiqC0+STAiQ6ASoiHy92MS9pbnZvaWNlL3tkYXRlfTpjb252ZXJ0dG9wZGYSfQoQR2V0SW52b2ljZVN0YXR1cxIrLmJsdWVhcGkuYmlsbGluZy52MS5HZXRJbnZvaWNlU3RhdHVzUmVxdWVzdBobLmJsdWVhcGkuYXBpLkludm9pY2VNZXNzYWdlIh+C0+STAhkSFy92MS9pbnZvaWNlL3N0YXR1cy97aWR9EosBChFMaXN0SW52b2ljZVN0YXR1cxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVN0YXR1c1JlcXVlc3QaGy5ibHVlYXBpLmFwaS5JbnZvaWNlTWVzc2FnZSIpgtPkkwIjOgEqIh4vdjEvaW52b2ljZS9zdGF0dXMve2RhdGV9OnJlYWQwARJtCgpHZXRJbnZvaWNlEiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VSZXF1ZXN0GhQuYmx1ZWFwaS5hcGkuSW52b2ljZSIigtPkkwIcOgEqIhcvdjEvaW52b2ljZS97ZGF0ZX06cmVhZBJ9CgtMaXN0SW52b2ljZRImLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVJlcXVlc3QaJy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VSZXNwb25zZSIbgtPkkwIVOgEqIhAvdjEvaW52b2ljZTpyZWFkMAESiAEKFVVwZGF0ZUludm9pY2VQcmV2aWV3cxIwLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlUHJldmlld3NSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiWC0+STAh86ASoaGi92MS9pbnZvaWNlL3tkYXRlfTpwcmV2aWV3EpYBChFFeHBvcnRJbnZvaWNlRmlsZRIsLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlRmlsZVJlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZUZpbGVSZXNwb25zZSIkgtPkkwIeOgEqIhkvdjEvaW52b2ljZS97ZGF0ZX06ZXhwb3J0EpYBChNMaXN0SW52b2ljZVRlbXBsYXRlEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlVGVtcGxhdGVSZXNwb25zZSIcgtPkkwIWEhQvdjEvaW52b2ljZS90ZW1wbGF0ZTABEq0BChlHZXRJbnZvaWNlRGlzcGxheVNldHRpbmdzEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEludm9pY2VEaXNwbGF5U2V0dGluZ3NSZXNwb25zZSIjgtPkkwIdEhsvdjEvaW52b2ljZS9kaXNwbGF5c2V0dGluZ3MSlwEKHFVwZGF0ZUludm9pY2VEaXNwbGF5U2V0dGluZ3MSNy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlSW52b2ljZURpc3BsYXlTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCIDoBKiIbL3YxL2ludm9pY2UvZGlzcGxheXNldHRpbmdzEpYBChlVcGRhdGVJbnZvaWNlRXhjaGFuZ2VSYXRlEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiuC0+STAiU6ASoaIC92MS9pbnZvaWNlL2V4Y2hhbmdlcmF0ZS97bW9udGh9EqwBCiFVcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlVGVtcGxhdGUSPC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVRlbXBsYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqIiYvdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2V0ZW1wbGF0ZRKxAQocUmVhZFNlcnZpY2VEaXNjb3VudHNTZXJ2aWNlcxI3LmJsdWVhcGkuYmlsbGluZy52MS5SZWFkU2VydmljZURpc2NvdW50c1NlcnZpY2VzUmVxdWVzdBoeLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5TZXJ2aWNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3t2ZW5kb3J9L3NlcnZpY2VzOnJlYWQwARKqAQodQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIh+C0+STAhk6ASoiFC92MS9zZXJ2aWNlZGlzY291bnRzEq8BCh1VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50cxI4LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaLi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuSW52b2ljZVNlcnZpY2VEaXNjb3VudHMiJILT5JMCHjoBKhoZL3YxL3NlcnZpY2VkaXNjb3VudHMve2lkfRKUAQodRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSOC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiGC0+STAhsqGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SqgEKG0xpc3RJbnZvaWNlU2VydmljZURpc2NvdW50cxI2LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GisuYmx1ZWFwaS5iaWxsaW5nLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiSC0+STAh46ASoiGS92MS9zZXJ2aWNlZGlzY291bnRzOnJlYWQwARKmAQoaR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSNS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0Gi4uYmx1ZWFwaS5hcGkucmlwcGxlLnYxLkludm9pY2VTZXJ2aWNlRGlzY291bnRzIiGC0+STAhsSGS92MS9zZXJ2aWNlZGlzY291bnRzL3tpZH0SogEKFkV4cG9ydFNlcnZpY2VEaXNjb3VudHMSMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0U2VydmljZURpc2NvdW50c1JlcXVlc3QaLS5ibHVlYXBpLmFwaS5yaXBwbGUudjEuU2VydmljZURpc2NvdW50c0V4cG9ydCImgtPkkwIgOgEqIhsvdjEvc2VydmljZWRpc2NvdW50czpleHBvcnQS8AEKKUNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXAS8AEKKVVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpFLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjaC0+STAjA6ASoaKy92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9iaWxsaW5nZ3JvdXASvgEKKURlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIzgtPkkwItKisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYmlsbGluZ2dyb3VwEtEBCiJMaXN0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj0uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cyI2gtPkkwIwOgEqIisvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudDpyZWFkMAES3AEKJENyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50cxI/LmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkAuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIjGC0+STAis6ASoiJi92MS9zZXJ2aWNlZGlzY291bnRzL3tncm91cElkfS9hY2NvdW50EtwBCiRVcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBpALmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXNwb25zZSIxgtPkkwIrOgEqGiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBK5AQokUmVtb3ZlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLlJlbW92ZUFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiOILT5JMCMjoBKhotL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2FjY291bnQ6cmVtb3ZlEq8BCiREZWxldGVBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSPy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIugtPkkwIoKiYvdjEvc2VydmljZWRpc2NvdW50cy97Z3JvdXBJZH0vYWNjb3VudBLNAQokRXhwb3J0QWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEFjY291bnRJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaNC5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWNjb3VudFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiLoLT5JMCKDoBKiIjL3YxL3NlcnZpY2VkaXNjb3VudHMvYWNjb3VudDpleHBvcnQS2gEKKUV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzEkQuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5Hcm91cFNlcnZpY2VEaXNjb3VudHNFeHBvcnQiM4LT5JMCLToBKiIoL3YxL3NlcnZpY2VkaXNjb3VudHMvYmlsbGluZ2dyb3VwOmV4cG9ydBLkAQomR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSQS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHNSZXF1ZXN0GkIuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVzcG9uc2UiM4LT5JMCLRIrL3YxL3NlcnZpY2VkaXNjb3VudHMve2dyb3VwSWR9L2JpbGxpbmdncm91cBJzCg5DcmVhdGVSZXNlbGxlchIpLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGILT5JMCEjoBKiINL3YxL3Jlc2VsbGVycxJwCg1MaXN0UmVzZWxsZXJzEiguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RSZXNlbGxlcnNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkucmlwcGxlLlJlc2VsbGVyIhWC0+STAg8SDS92MS9yZXNlbGxlcnMwARJvCgtHZXRSZXNlbGxlchImLmJsdWVhcGkuYmlsbGluZy52MS5HZXRSZXNlbGxlclJlcXVlc3QaHC5ibHVlYXBpLmFwaS5yaXBwbGUuUmVzZWxsZXIiGoLT5JMCFBISL3YxL3Jlc2VsbGVycy97aWR9EngKDlVwZGF0ZVJlc2VsbGVyEikuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZVJlc2VsbGVyUmVxdWVzdBocLmJsdWVhcGkuYXBpLnJpcHBsZS5SZXNlbGxlciIdgtPkkwIXOgEqGhIvdjEvcmVzZWxsZXJzL3tpZH0SbwoORGVsZXRlUmVzZWxsZXISKS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlUmVzZWxsZXJSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhqC0+STAhQqEi92MS9yZXNlbGxlcnMve2lkfRKGAQoRR2V0QmlsbGluZ1NldHRpbmcSLC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ1NldHRpbmdSZXF1ZXN0Gi0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdTZXR0aW5nUmVzcG9uc2UiFILT5JMCDhIML3YxL3NldHRpbmdzEpsBChFMaXN0RXhjaGFuZ2VSYXRlcxIsLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0RXhjaGFuZ2VSYXRlc1JlcXVlc3QaLS5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEV4Y2hhbmdlUmF0ZXNSZXNwb25zZSIpgtPkkwIjEiEvdjEve3ZlbmRvcn0vZXhjaGFuZ2VyYXRlL3ttb250aH0SlgEKFVNldEdsb2JhbEV4Y2hhbmdlUmF0ZRIwLmJsdWVhcGkuYmlsbGluZy52MS5TZXRHbG9iYWxFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjOC0+STAi06ASoiKC92MS9leGNoYW5nZXJhdGUvZ2xvYmFsL3t2ZW5kb3J9L3ttb250aH0SigEKFFNldFBheWVyRXhjaGFuZ2VSYXRlEi8uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldFBheWVyRXhjaGFuZ2VSYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIpgtPkkwIjOgEqIh4vdjEvZXhjaGFuZ2VyYXRlL3BheWVyL3ttb250aH0SnwEKG1NldEJpbGxpbmdHcm91cEV4Y2hhbmdlUmF0ZRI2LmJsdWVhcGkuYmlsbGluZy52MS5TZXRCaWxsaW5nR3JvdXBFeGNoYW5nZVJhdGVSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjCC0+STAio6ASoiJS92MS9leGNoYW5nZXJhdGUvYmlsbGluZ2dyb3VwL3ttb250aH0SfAoQTGlzdEFjY2Vzc0dyb3VwcxIrLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWNjZXNzR3JvdXBzUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIYgtPkkwISEhAvdjEvYWNjZXNzZ3JvdXBzMAESfwoRQ3JlYXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQWNjZXNzR3JvdXBSZXF1ZXN0Gh8uYmx1ZWFwaS5hcGkucmlwcGxlLkFjY2Vzc0dyb3VwIhuC0+STAhU6ASoiEC92MS9hY2Nlc3Nncm91cHMShAEKEVVwZGF0ZUFjY2Vzc0dyb3VwEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUFjY2Vzc0dyb3VwUmVxdWVzdBofLmJsdWVhcGkuYXBpLnJpcHBsZS5BY2Nlc3NHcm91cCIggtPkkwIaOgEqGhUvdjEvYWNjZXNzZ3JvdXBzL3tpZH0SeAoRRGVsZXRlQWNjZXNzR3JvdXASLC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWNjZXNzR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ih2C0+STAhcqFS92MS9hY2Nlc3Nncm91cHMve2lkfRKfAQoUTGlzdEFiY0JpbGxpbmdHcm91cHMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFiY0JpbGxpbmdHcm91cHNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLkFiY0JpbGxpbmdHcm91cCIvgtPkkwIpEicvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3tpZH0wARK2AQobTGlzdEFiY0JpbGxpbmdHcm91cEFjY291bnRzEjYuYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RBYmNCaWxsaW5nR3JvdXBBY2NvdW50c1JlcXVlc3QaHi5ibHVlYXBpLmJpbGxpbmcudjEuQWJjQWNjb3VudCI9gtPkkwI3EjUvdjEvYmlsbGluZ2dyb3Vwcy9iaWxsaW5nY29uZHVjdG9yL3twYXllcklkfS9hY2NvdW50czABEpwBChZSZWFkSW52b2ljZUFkanVzdG1lbnRzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRJbnZvaWNlQWRqdXN0bWVudHNSZXF1ZXN0GhwuYmx1ZWFwaS5hcGkud2F2ZS5BZGp1c3RtZW50Ii+C0+STAik6ASoiJC92MS97dmVuZG9yfS9pbnZvaWNlYWRqdXN0bWVudHM6cmVhZDABEqMBChVSZWFkQWRqdXN0bWVudEVudHJpZXMSMC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEFkanVzdG1lbnRFbnRyaWVzUmVxdWVzdBomLmJsdWVhcGkuYXBpLnJpcHBsZS52MS5BZGp1c3RtZW50RW50cnkiLoLT5JMCKDoBKiIjL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOnJlYWQwARKYAQoSR2V0QWRqdXN0bWVudEVudHJ5Ei0uYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaJi5ibHVlYXBpLmFwaS5yaXBwbGUudjEuQWRqdXN0bWVudEVudHJ5IiuC0+STAiUSIy92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllcy97aWR9EpABChRBcHBseUFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5BcHBseUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiL4LT5JMCKToBKiIkL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzOmFwcGx5EpYBChZSZXN0b3JlQWRqdXN0bWVudEVudHJ5EjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBZGp1c3RtZW50RW50cnlSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjGC0+STAis6ASoiJi92MS97dmVuZG9yfS9hZGp1c3RtZW50ZW50cmllczpyZXN0b3JlEpUBChRTcGxpdEFkanVzdG1lbnRFbnRyeRIvLmJsdWVhcGkuYmlsbGluZy52MS5TcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQSngEKF0FsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjIuYmx1ZWFwaS5iaWxsaW5nLnYxLkFsbG9jYXRlQWRqdXN0bWVudEVudHJ5UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI3gtPkkwIxOgEqIiwvdjEve3ZlbmRvcn0vYWRqdXN0bWVudGVudHJpZXMve2lkfS9hbGxvY2F0ZRKrAQobUmVzdG9yZVNwbGl0QWRqdXN0bWVudEVudHJ5EjYuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVTcGxpdEFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiPILT5JMCNjoBKiIxL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vc3BsaXQ6cmVzdG9yZRK0AQoeUmVzdG9yZUFsbG9jYXRlQWRqdXN0bWVudEVudHJ5EjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc3RvcmVBbGxvY2F0ZUFkanVzdG1lbnRFbnRyeVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiP4LT5JMCOToBKiI0L3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL3tpZH0vYWxsb2NhdGU6cmVzdG9yZRKgAQoPQ3JlYXRlQ3VzdG9tRmVlEiouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUN1c3RvbUZlZVJlcXVlc3QaKy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9tRmVlUmVzcG9uc2UiNILT5JMCLjoBKiIpL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyaWVzL2N1c3RvbWZlZXMSrQEKGExpc3RBZGp1c3RtZW50RW50cnlJdGVtcxIzLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QWRqdXN0bWVudEVudHJ5SXRlbXNSZXF1ZXN0GicuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkanVzdG1lbnRFbnRyeUl0ZW0iMYLT5JMCKzoBKiImL3YxL3t2ZW5kb3J9L2FkanVzdG1lbnRlbnRyeWl0ZW1zOnJlYWQwARKXAQoUTGlzdEFjY291bnRSZXNvdXJjZXMSLy5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEFjY291bnRSZXNvdXJjZXNSZXF1ZXN0GiMuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlc291cmNlQWNjb3VudCIngtPkkwIhEh8vdjEvcmVzb3VyY2VzL2FjY291bnRzL3t2ZW5kb3J9MAESiwEKE0dldEFkanVzdG1lbnRDb25maWcSLi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaHS5ibHVlYXBpLmFwaS5BZGp1c3RtZW50Q29uZmlnIiWC0+STAh8SHS92MS9hZGp1c3RtZW50Y29uZmlnL3t2ZW5kb3J9EpQBChZDcmVhdGVBZGp1c3RtZW50Q29uZmlnEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUFkanVzdG1lbnRDb25maWdSZXF1ZXN0Gh0uYmx1ZWFwaS5hcGkuQWRqdXN0bWVudENvbmZpZyIogtPkkwIiOgEqIh0vdjEvYWRqdXN0bWVudGNvbmZpZy97dmVuZG9yfRKUAQoWVXBkYXRlQWRqdXN0bWVudENvbmZpZxIxLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBZGp1c3RtZW50Q29uZmlnUmVxdWVzdBodLmJsdWVhcGkuYXBpLkFkanVzdG1lbnRDb25maWciKILT5JMCIjoBKhodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SigEKFkRlbGV0ZUFkanVzdG1lbnRDb25maWcSMS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQWRqdXN0bWVudENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJYLT5JMCHyodL3YxL2FkanVzdG1lbnRjb25maWcve3ZlbmRvcn0SlQEKElJlYWRVbnRhZ2dlZEdyb3VwcxItLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkVW50YWdnZWRHcm91cHNSZXF1ZXN0GiEuYmx1ZWFwaS5hcGkucmlwcGxlLlVudGFnZ2VkR3JvdXAiK4LT5JMCJToBKiIgL3YxL3t2ZW5kb3J9L3VudGFnZ2VkZ3JvdXBzOnJlYWQwARK4AQodUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXMSOC5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZXNSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqIiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlczpyZWFkMAESrwEKG0dldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI2LmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSIqgtPkkwIkEiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9ErMBCh5DcmVhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBosLmJsdWVhcGkuYXBpLnJpcHBsZS5DdXN0b21pemVkQmlsbGluZ1NlcnZpY2UiKILT5JMCIjoBKiIdL3YxL2N1c3RvbWl6ZWRiaWxsaW5nc2VydmljZXMSuAEKHlVwZGF0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRI5LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXF1ZXN0GiwuYmx1ZWFwaS5hcGkucmlwcGxlLkN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZSItgtPkkwInOgEqGiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9Ep8BCh5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2USOS5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIqgtPkkwIkKiIvdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy97aWR9EvsBCidHZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXASQi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlQmlsbGluZ0dyb3VwUmVxdWVzdBpDLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXNwb25zZSJFgtPkkwI/Ej0vdjEvY3VzdG9taXplZGJpbGxpbmdzZXJ2aWNlcy9iaWxsaW5nZ3JvdXAve2dyb3VwSWR9L3t2ZW5kb3J9MAESzwEKJ1NldEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJCLmJsdWVhcGkuYmlsbGluZy52MS5TZXRDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkiC0+STAkI6ASoiPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0S0gEKKkRlbGV0ZUN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZUJpbGxpbmdHcm91cBJFLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VCaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IkWC0+STAj8qPS92MS9jdXN0b21pemVkYmlsbGluZ3NlcnZpY2VzL2JpbGxpbmdncm91cC97Z3JvdXBJZH0ve3ZlbmRvcn0SXgoHR2V0VGFncxIiLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzUmVxdWVzdBobLmJsdWVhcGkuYmlsbGluZy52MS5UYWdEYXRhIhCC0+STAgoSCC92MS90YWdzMAESfQoNTGlzdFRhZ1ZhbHVlcxIoLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0VGFnVmFsdWVzUmVxdWVzdBopLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0VGFnVmFsdWVzUmVzcG9uc2UiF4LT5JMCERIPL3YxL3RhZ3M6dmFsdWVzEn4KEUNyZWF0ZUN1c3RvbUZpZWxkEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUN1c3RvbUZpZWxkUmVxdWVzdBofLmJsdWVhcGkuYmlsbGluZy52MS5DdXN0b21GaWVsZCIagtPkkwIUOgEqIg8vdjEvY3VzdG9tZmllbGQSgQEKD0xpc3RDdXN0b21GaWVsZBIqLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0Q3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIh+C0+STAhk6ASoiFC92MS9jdXN0b21maWVsZDpyZWFkMAESlAEKGkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkEjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIngtPkkwIhOgEqIhwvdjEvYmlsbGluZ2dyb3VwL2N1c3RvbWZpZWxkEr4BChtMaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSNi5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEJpbGxpbmdHcm91cEN1c3RvbUZpZWxkUmVxdWVzdBo3LmJsdWVhcGkuYmlsbGluZy52MS5MaXN0QmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXNwb25zZSIsgtPkkwImOgEqIiEvdjEvYmlsbGluZ2dyb3VwL2N1c3RvbWZpZWxkOnJlYWQwARKDAQoVQWRkVGFnc1RvQmlsbGluZ0dyb3VwEjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkFkZFRhZ3NUb0JpbGxpbmdHcm91cFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGjoBKiIVL3YxL2JpbGxpbmdncm91cC90YWdzEq8BCh9VcGRhdGVOb25UYWdHcm91cFRvQmlsbGluZ0dyb3VwEjouYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZU5vblRhZ0dyb3VwVG9CaWxsaW5nR3JvdXBSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjiC0+STAjI6ASoiLS92MS9iaWxsaW5nZ3JvdXAve2lkfS97dmVuZG9yfS91bnRhZ2dlZGdyb3VwcxKxAQodRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGQSOC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ij6C0+STAjgqNi92MS9iaWxsaW5nZ3JvdXAvY3VzdG9tZmllbGQve2dyb3VwSWR9L3tjdXN0b21GaWVsZElkfRKDAQoRVXBkYXRlQ3VzdG9tRmllbGQSLC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ3VzdG9tRmllbGRSZXF1ZXN0Gh8uYmx1ZWFwaS5iaWxsaW5nLnYxLkN1c3RvbUZpZWxkIh+C0+STAhk6ASoaFC92MS9jdXN0b21maWVsZC97aWR9EncKEURlbGV0ZUN1c3RvbUZpZWxkEiwuYmx1ZWFwaS5iaWxsaW5nLnYxLkRlbGV0ZUN1c3RvbUZpZWxkUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIcgtPkkwIWKhQvdjEvY3VzdG9tZmllbGQve2lkfRJyChBDcmVhdGVGcmVlRm9ybWF0EisuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUZyZWVGb3JtYXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IhmC0+STAhM6ASoiDi92MS9mcmVlZm9ybWF0EnkKEERlbGV0ZUZyZWVGb3JtYXQSKy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlRnJlZUZvcm1hdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiIILT5JMCGioYL3YxL2ZyZWVmb3JtYXQve2dyb3VwSWR9EogBCg1HZXRGcmVlRm9ybWF0EiguYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEZyZWVGb3JtYXRSZXF1ZXN0GikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEZyZWVGb3JtYXRSZXNwb25zZSIggtPkkwIaEhgvdjEvZnJlZWZvcm1hdC97Z3JvdXBJZH0wARK9AQofR2V0TW9udGhseU1pc2NGZWVJbXBvcnRUZW1wbGF0ZRI6LmJsdWVhcGkuYmlsbGluZy52MS5HZXRNb250aGx5TWlzY0ZlZUltcG9ydFRlbXBsYXRlUmVxdWVzdBowLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydFRlbXBsYXRlIiyC0+STAiYSJC92MS9tb250aGx5LW1pc2MtZmVlczppbXBvcnRUZW1wbGF0ZRKuAQoZQnVsa0ltcG9ydE1vbnRobHlNaXNjRmVlcxI0LmJsdWVhcGkuYmlsbGluZy52MS5CdWxrSW1wb3J0TW9udGhseU1pc2NGZWVzUmVxdWVzdBouLmJsdWVhcGkuYmlsbGluZy52MS5Nb250aGx5TWlzY0ZlZUltcG9ydFJlc3VsdCIrgtPkkwIlOgEqIiAvdjEvbW9udGhseS1taXNjLWZlZXM6YnVsa0ltcG9ydBKVAQoTTGlzdE1vbnRobHlNaXNjRmVlcxIuLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0TW9udGhseU1pc2NGZWVzUmVxdWVzdBovLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0TW9udGhseU1pc2NGZWVzUmVzcG9uc2UiHYLT5JMCFxIVL3YxL21vbnRobHktbWlzYy1mZWVzEocBChREZWxldGVNb250aGx5TWlzY0ZlZRIvLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVNb250aGx5TWlzY0ZlZVJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJoLT5JMCICoeL3YxL21vbnRobHktbWlzYy1mZWVzL3tyb3dfaWR9EqIBChRHZXRUYWdzQWRkaW5nU2V0dGluZxIvLmJsdWVhcGkuYmlsbGluZy52MS5HZXRUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaJS5ibHVlYXBpLmJpbGxpbmcudjEuVGFnc0FkZGluZ1NldHRpbmciMILT5JMCKhIoL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfTABEpoBChdVcGRhdGVUYWdzQWRkaW5nU2V0dGluZxIyLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVUYWdzQWRkaW5nU2V0dGluZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiM4LT5JMCLToBKhooL3YxL3t2ZW5kb3J9L3RhZ3NhZGRpbmdzZXR0aW5nL3tncm91cElkfRKhAQoVRXhwb3J0QmlsbGluZ0dyb3VwQ3N2EjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydEJpbGxpbmdHcm91cENzdlJlcXVlc3QaMS5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0QmlsbGluZ0dyb3VwQ3N2UmVzcG9uc2UiI4LT5JMCHRIbL3YxL2V4cG9ydGNzdi9iaWxsaW5nLWdyb3VwEqkBChdFeHBvcnRJbnZvaWNlU2V0dGluZ0NzdhIyLmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRJbnZvaWNlU2V0dGluZ0NzdlJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuRXhwb3J0SW52b2ljZVNldHRpbmdDc3ZSZXNwb25zZSIlgtPkkwIfEh0vdjEvZXhwb3J0Y3N2L2ludm9pY2Utc2V0dGluZxLBAQocUHJldmlld0JpbGxpbmdHcm91cENzdkV4cG9ydBI3LmJsdWVhcGkuYmlsbGluZy52MS5QcmV2aWV3QmlsbGluZ0dyb3VwQ3N2RXhwb3J0UmVxdWVzdBo4LmJsdWVhcGkuYmlsbGluZy52MS5QcmV2aWV3QmlsbGluZ0dyb3VwQ3N2RXhwb3J0UmVzcG9uc2UiLoLT5JMCKDoBKiIjL3YxL2V4cG9ydGNzdi9iaWxsaW5nLWdyb3VwOnByZXZpZXcSzwEKHkV4cG9ydFByZXZpZXdlZEJpbGxpbmdHcm91cENzdhI5LmJsdWVhcGkuYmlsbGluZy52MS5FeHBvcnRQcmV2aWV3ZWRCaWxsaW5nR3JvdXBDc3ZSZXF1ZXN0GjouYmx1ZWFwaS5iaWxsaW5nLnYxLkV4cG9ydFByZXZpZXdlZEJpbGxpbmdHcm91cENzdlJlc3BvbnNlIjaC0+STAjA6ASoiKy92MS9leHBvcnRjc3YvYmlsbGluZy1ncm91cDpleHBvcnRQcmV2aWV3ZWQSpwEKIlVwZGF0ZUJpbGxpbmdHcm91cEJhc2ljSW5mb3JtYXRpb24SPS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQmFzaWNJbmZvcm1hdGlvblJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKhofL3YxL2JpbGxpbmdncm91cC97aWR9OmJhc2ljSW5mbxKiAQoeVXBkYXRlQmlsbGluZ0dyb3VwQ3VzdG9tRmllbGRzEjkuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEN1c3RvbUZpZWxkc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiLYLT5JMCJzoBKhoiL3YxL2JpbGxpbmdncm91cC97aWR9OmN1c3RvbUZpZWxkcxKcAQocVXBkYXRlQmlsbGluZ0dyb3VwRnJlZUZvcm1hdBI3LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVCaWxsaW5nR3JvdXBGcmVlRm9ybWF0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIrgtPkkwIlOgEqGiAvdjEvYmlsbGluZ2dyb3VwL3tpZH06ZnJlZUZvcm1hdBKlAQohVXBkYXRlQmlsbGluZ0dyb3VwTGlua2VkUmVzb3VyY2VzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cExpbmtlZFJlc291cmNlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiKoLT5JMCJDoBKhofL3YxL2JpbGxpbmdncm91cC97aWR9OnJlc291cmNlcxKrAQohVXBkYXRlQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL2JpbGxpbmdncm91cC97aWR9Omludm9pY2VTZXR0aW5ncxKrAQohVXBkYXRlQmlsbGluZ0dyb3VwUmVzZWxsZXJDaGFyZ2VzEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUJpbGxpbmdHcm91cFJlc2VsbGVyQ2hhcmdlc1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiMILT5JMCKjoBKholL3YxL2JpbGxpbmdncm91cC97aWR9OnJlc2VsbGVyQ2hhcmdlcxKxAQojVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXMSPi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWRkaXRpb25hbENoYXJnZXNSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiw6ASoaJy92MS9iaWxsaW5nZ3JvdXAve2lkfTphZGRpdGlvbmFsQ2hhcmdlcxLUAQohR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuEjwuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldEJpbGxpbmdHcm91cEFjY291bnRTdXBwb3J0UGxhblJlcXVlc3QaPS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2JpbGxpbmdncm91cC97aWR9L3t2ZW5kb3J9L3N1cHBvcnRwbGFuErYBCiRVcGRhdGVCaWxsaW5nR3JvdXBBY2NvdW50U3VwcG9ydFBsYW4SPy5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQmlsbGluZ0dyb3VwQWNjb3VudFN1cHBvcnRQbGFuUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvOgEqGiovdjEvYmlsbGluZ2dyb3VwL3tpZH0ve3ZlbmRvcn0vc3VwcG9ydHBsYW4SgQEKEkNyZWF0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IiSC0+STAh46ASoiGS92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQSkgEKElVwZGF0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjWC0+STAi86ASoaKi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQve2Fubm91bmNlbWVudElkfRKcAQoZVXBkYXRlQW5ub3VuY2VtZW50c1N0YXR1cxI0LmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnRzU3RhdHVzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIxgtPkkwIrOgEqMiYvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy9idWxrL3N0YXR1cxKgAQoWVXBkYXRlQW5ub3VuY2VtZW50RGF0ZRIxLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVBbm5vdW5jZW1lbnREYXRlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI7gtPkkwI1OgEqMjAvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97YW5ub3VuY2VtZW50SWR9L2RhdGUSjwEKEkRlbGV0ZUFubm91bmNlbWVudBItLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVBbm5vdW5jZW1lbnRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IjKC0+STAiwqKi92MS9yZXNlbGxlci9hbm5vdW5jZW1lbnQve2Fubm91bmNlbWVudElkfRKgAQoQR2V0QW5ub3VuY2VtZW50cxIrLmJsdWVhcGkuYmlsbGluZy52MS5HZXRBbm5vdW5jZW1lbnRzUmVxdWVzdBogLmJsdWVhcGkuYmlsbGluZy52MS5Bbm5vdW5jZW1lbnQiO4LT5JMCNRIzL2JpbGxpbmcvdjEvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97YW5ub3VuY2VtZW50SWR9MAESzgEKHEdldEJpbGxpbmdHcm91cEFubm91bmNlbWVudHMSNy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50c1JlcXVlc3QaOC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwQW5ub3VuY2VtZW50c1Jlc3BvbnNlIjmC0+STAjMSMS92MS9iaWxsaW5nZ3JvdXAvcmVzZWxsZXIvYW5ub3VuY2VtZW50cy97Z3JvdXBJZH0wARJmCgpHZXRDcmVkaXRzEiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENyZWRpdHNSZXF1ZXN0GhouYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWRpdCITgtPkkwINEgsvdjEvY3JlZGl0czABEnYKDkdldENzdlNldHRpbmdzEikuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENzdlNldHRpbmdzUmVxdWVzdBoeLmJsdWVhcGkuYmlsbGluZy52MS5Dc3ZTZXR0aW5nIheC0+STAhESDy92MS9jc3ZzZXR0aW5nczABEqkBChdDcmVhdGVDaGlsZEJpbGxpbmdHcm91cBIyLmJsdWVhcGkuYmlsbGluZy52MS5DcmVhdGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIlgtPkkwIfOgEqIhovdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbhKqAQoUR2V0Q2hpbGRCaWxsaW5nR3JvdXASLy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjAuYmx1ZWFwaS5iaWxsaW5nLnYxLkdldENoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiL4LT5JMCKRInL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9EqABChZSZWFkQ2hpbGRCaWxsaW5nR3JvdXBzEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRDaGlsZEJpbGxpbmdHcm91cHNSZXF1ZXN0GiUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNoaWxkQmlsbGluZ0dyb3VwIiqC0+STAiQ6ASoiHy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuOnJlYWQwARK2AQoXVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXASMi5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXF1ZXN0GjMuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwUmVzcG9uc2UiMoLT5JMCLDoBKhonL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9ErMBChdEZWxldGVDaGlsZEJpbGxpbmdHcm91cBIyLmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVDaGlsZEJpbGxpbmdHcm91cFJlcXVlc3QaMy5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlQ2hpbGRCaWxsaW5nR3JvdXBSZXNwb25zZSIvgtPkkwIpKicvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0S8wEKJlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzEkEuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUNoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNldHRpbmdzUmVxdWVzdBpCLmJsdWVhcGkuYmlsbGluZy52MS5VcGRhdGVDaGlsZEJpbGxpbmdHcm91cEludm9pY2VTZXR0aW5nc1Jlc3BvbnNlIkKC0+STAjw6ASoaNy92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9pbnZvaWNlU2V0dGluZ3MS0gEKK1NldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRi5ibHVlYXBpLmJpbGxpbmcudjEuU2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiQ4LT5JMCPToBKiI4L3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L3NlcnZpY2VEaXNjb3VudHMS7QEKMlNldENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzEk0uYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJQgtPkkwJKOgEqIkUvdjEvYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vc2VydmljZURpc2NvdW50cy9hY2NvdW50czpzZXQS5QEKLFNldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEkcuYmx1ZWFwaS5iaWxsaW5nLnYxLlNldENoaWxkQmlsbGluZ0dyb3VwQ3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSJUgtPkkwJOOgEqIkkvdjEve3ZlbmRvcn0vYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vY3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlEpYCCixHZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZRJHLmJsdWVhcGkuYmlsbGluZy52MS5HZXRDaGlsZEJpbGxpbmdHcm91cEN1c3RvbWl6ZWRCaWxsaW5nU2VydmljZVJlcXVlc3QaSC5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBDdXN0b21pemVkQmlsbGluZ1NlcnZpY2VSZXNwb25zZSJRgtPkkwJLEkkvdjEve3ZlbmRvcn0vYmlsbGluZ2dyb3Vwcy9jaGlsZHJlbi97aW50ZXJuYWxJZH0vY3VzdG9taXplZEJpbGxpbmdTZXJ2aWNlMAESgAIKK0dldENoaWxkQmlsbGluZ0dyb3VwSW52b2ljZVNlcnZpY2VEaXNjb3VudHMSRi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1JlcXVlc3QaRy5ibHVlYXBpLmJpbGxpbmcudjEuR2V0Q2hpbGRCaWxsaW5nR3JvdXBJbnZvaWNlU2VydmljZURpc2NvdW50c1Jlc3BvbnNlIkCC0+STAjoSOC92MS9iaWxsaW5nZ3JvdXBzL2NoaWxkcmVuL3tpbnRlcm5hbElkfS9zZXJ2aWNlRGlzY291bnRzEosCCjNSZWFkQ2hpbGRCaWxsaW5nR3JvdXBBY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMSTi5ibHVlYXBpLmJpbGxpbmcudjEuUmVhZENoaWxkQmlsbGluZ0dyb3VwQWNjb3VudEludm9pY2VTZXJ2aWNlRGlzY291bnRzUmVxdWVzdBoyLmJsdWVhcGkuYmlsbGluZy52MS5BY2NvdW50SW52b2ljZVNlcnZpY2VEaXNjb3VudHMiToLT5JMCSBJGL3YxL2JpbGxpbmdncm91cHMvY2hpbGRyZW4ve2ludGVybmFsSWR9L3NlcnZpY2VEaXNjb3VudHMvYWNjb3VudHM6cmVhZDABEocBChZCdWxrQ3JlYXRlQmlsbGluZ0dyb3VwEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtDcmVhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIngtPkkwIhOgEqIhwvdjEvYmlsbGluZ2dyb3VwczpidWxrQ3JlYXRlEocBChZCdWxrVXBkYXRlQmlsbGluZ0dyb3VwEjEuYmx1ZWFwaS5iaWxsaW5nLnYxLkJ1bGtVcGRhdGVCaWxsaW5nR3JvdXBSZXF1ZXN0GhEucHJvdG9zLk9wZXJhdGlvbiIngtPkkwIhOgEqIhwvdjEvYmlsbGluZ2dyb3VwczpidWxrVXBkYXRlEr8BChlDcmVhdGVFeGNsdWRlU2VydmljZUVudHJ5EjQuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXF1ZXN0GjUuYmx1ZWFwaS5iaWxsaW5nLnYxLkNyZWF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnlSZXNwb25zZSI1gtPkkwIvOgEqIiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSvwEKGVVwZGF0ZUV4Y2x1ZGVTZXJ2aWNlRW50cnkSNC5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuVXBkYXRlRXhjbHVkZVNlcnZpY2VFbnRyeVJlc3BvbnNlIjWC0+STAi86ASoaKi92MS9iaWxsaW5nZ3JvdXBzL2V4Y2x1ZGUtc2VydmljZS1zZXR0aW5ncxK8AQoZRGVsZXRlRXhjbHVkZVNlcnZpY2VFbnRyeRI0LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVFeGNsdWRlU2VydmljZUVudHJ5UmVxdWVzdBo1LmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVFeGNsdWRlU2VydmljZUVudHJ5UmVzcG9uc2UiMoLT5JMCLCoqL3YxL2JpbGxpbmdncm91cHMvZXhjbHVkZS1zZXJ2aWNlLXNldHRpbmdzEqoBChNMaXN0RXhjbHVkZVNlcnZpY2VzEi4uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RFeGNsdWRlU2VydmljZXNSZXF1ZXN0Gi8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RFeGNsdWRlU2VydmljZXNSZXNwb25zZSIygtPkkwIsEiovdjEvYmlsbGluZ2dyb3Vwcy9leGNsdWRlLXNlcnZpY2Utc2V0dGluZ3MSgAEKDExpc3RTZXJ2aWNlcxInLmJsdWVhcGkuYmlsbGluZy52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiguYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIh2C0+STAhcSFS92MS97dmVuZG9yfS9zZXJ2aWNlcxJ+Cg9CdWxrTGlua0FjY291bnQSKi5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa0xpbmtBY2NvdW50UmVxdWVzdBoRLnByb3Rvcy5PcGVyYXRpb24iLILT5JMCJjoBKiIhL3YxL2JpbGxpbmdncm91cHM6YnVsa0xpbmtBY2NvdW50En4KE0J1bGtUYWdCaWxsaW5nR3JvdXASLi5ibHVlYXBpLmJpbGxpbmcudjEuQnVsa1RhZ0JpbGxpbmdHcm91cFJlcXVlc3QaES5wcm90b3MuT3BlcmF0aW9uIiSC0+STAh46ASoiGS92MS9iaWxsaW5nZ3JvdXBzOmJ1bGtUYWcS1wEKIkdldEJpbGxpbmdHcm91cEludm9pY2VMYXlvdXRDb25maWcSPS5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaPi5ibHVlYXBpLmJpbGxpbmcudjEuR2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlIjKC0+STAiwSKi92MS9iaWxsaW5nZ3JvdXBzL3tpZH0vaW52b2ljZWxheW91dGNvbmZpZxKyAQoiU2V0QmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZxI9LmJsdWVhcGkuYmlsbGluZy52MS5TZXRCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSI1gtPkkwIvOgEqIiovdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2VsYXlvdXRjb25maWcSrAEKGUNyZWF0ZUludm9pY2VMYXlvdXRDb25maWcSNC5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaNS5ibHVlYXBpLmJpbGxpbmcudjEuQ3JlYXRlSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlIiKC0+STAhw6ASoiFy92MS9pbnZvaWNlbGF5b3V0Y29uZmlnEpIBChlVcGRhdGVJbnZvaWNlTGF5b3V0Q29uZmlnEjQuYmx1ZWFwaS5iaWxsaW5nLnYxLlVwZGF0ZUludm9pY2VMYXlvdXRDb25maWdSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IieC0+STAiE6ASoaHC92MS9pbnZvaWNlbGF5b3V0Y29uZmlnL3tpZH0SrQEKF1JlYWRJbnZvaWNlTGF5b3V0Q29uZmlnEjIuYmx1ZWFwaS5iaWxsaW5nLnYxLlJlYWRJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBozLmJsdWVhcGkuYmlsbGluZy52MS5SZWFkSW52b2ljZUxheW91dENvbmZpZ1Jlc3BvbnNlIieC0+STAiE6ASoiHC92MS9pbnZvaWNlbGF5b3V0Y29uZmlnOnJlYWQwARK1AQolRGVsZXRlQmlsbGluZ0dyb3VwSW52b2ljZUxheW91dENvbmZpZxJALmJsdWVhcGkuYmlsbGluZy52MS5EZWxldGVCaWxsaW5nR3JvdXBJbnZvaWNlTGF5b3V0Q29uZmlnUmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eSIygtPkkwIsKiovdjEvYmlsbGluZ2dyb3Vwcy97aWR9L2ludm9pY2VsYXlvdXRjb25maWcSjwEKGURlbGV0ZUludm9pY2VMYXlvdXRDb25maWcSNC5ibHVlYXBpLmJpbGxpbmcudjEuRGVsZXRlSW52b2ljZUxheW91dENvbmZpZ1JlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1wdHkiJILT5JMCHiocL3YxL2ludm9pY2VsYXlvdXRjb25maWcve2lkfRLdAQokTGlzdEludm9pY2VMYXlvdXRDb25maWdCaWxsaW5nR3JvdXBzEj8uYmx1ZWFwaS5iaWxsaW5nLnYxLkxpc3RJbnZvaWNlTGF5b3V0Q29uZmlnQmlsbGluZ0dyb3Vwc1JlcXVlc3QaQC5ibHVlYXBpLmJpbGxpbmcudjEuTGlzdEludm9pY2VMYXlvdXRDb25maWdCaWxsaW5nR3JvdXBzUmVzcG9uc2UiMoLT5JMCLBIqL3YxL2ludm9pY2VsYXlvdXRjb25maWcve2lkfS9iaWxsaW5nZ3JvdXBzGp0BkkGZARJGKEJFVEEpIEJpbGxpbmcgQVBJLiBCYXNlIFVSTDogaHR0cHM6Ly9hcGkuYWxwaGF1cy5jbG91ZC9tL2JsdWUvYmlsbGluZxpPChJTZXJ2aWNlIGRlZmluaXRpb24SOWh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXVzbGFicy9ibHVlYXBpL3RyZWUvbWFpbi9iaWxsaW5nL0JRChljbG91ZC5hbHBoYXVzLmFwaS5iaWxsaW5nQgxCaWxsaW5nUHJvdG9aJmdpdGh1Yi5jb20vYWxwaGF1c2xhYnMvYmx1ZWFwaS9iaWxsaW5nYgZwcm90bzM", [file_api_account, file_api_invoice, file_api_costtag, file_api_ripple_accessgroup, file_api_ripple_billinggroup, file_api_ripple_reseller, file_api_ripple_yearmonth, file_api_ripple_rounding, file_api_ripple_invoicelayout, file_api_ripple_duedate, file_api_ripple_exchangerate, file_api_ripple_untaggedgroup, file_api_ripple_customizedbillingservice, file_api_ripple_v1_invoiceservicediscounts, file_api_ripple_v1_accountsupportplan, file_api_ripple_v1_adjustmententry, file_api_adjustment, file_api_wave_adjustment, file_protos_operation, file_google_api_annotations, file_google_api_field_behavior, file_google_protobuf_empty, file_protoc_gen_openapiv2_options_annotations, file_google_protobuf_field_mask, file_google_protobuf_timestamp]);
|
|
57
57
|
|
|
58
58
|
/**
|
|
59
59
|
* @generated from message blueapi.billing.v1.BillingGroup
|
|
@@ -5870,6 +5870,206 @@ export type ExportInvoiceSettingCsvResponse = Message<"blueapi.billing.v1.Export
|
|
|
5870
5870
|
export const ExportInvoiceSettingCsvResponseSchema: GenMessage<ExportInvoiceSettingCsvResponse> = /*@__PURE__*/
|
|
5871
5871
|
messageDesc(file_billing_v1_billing, 148);
|
|
5872
5872
|
|
|
5873
|
+
/**
|
|
5874
|
+
* Stores eligible groups for a layer-scoped CSV export.
|
|
5875
|
+
* Invalid type/options/layers return InvalidArgument; denied access returns
|
|
5876
|
+
* PermissionDenied. Capacity overflow returns ResourceExhausted. Read or storage
|
|
5877
|
+
* failures return an error, never partial counts or a usable token.
|
|
5878
|
+
*
|
|
5879
|
+
* @generated from message blueapi.billing.v1.PreviewBillingGroupCsvExportRequest
|
|
5880
|
+
*/
|
|
5881
|
+
export type PreviewBillingGroupCsvExportRequest = Message<"blueapi.billing.v1.PreviewBillingGroupCsvExportRequest"> & {
|
|
5882
|
+
/**
|
|
5883
|
+
* Required. Supported CSV exporter.
|
|
5884
|
+
*
|
|
5885
|
+
* @generated from field: blueapi.billing.v1.PreviewBillingGroupCsvExportRequest.ExportType export_type = 1;
|
|
5886
|
+
*/
|
|
5887
|
+
exportType: PreviewBillingGroupCsvExportRequest_ExportType;
|
|
5888
|
+
|
|
5889
|
+
/**
|
|
5890
|
+
* Required. Non-empty MSP-wide layers: 0 = Root, 1-4 = children.
|
|
5891
|
+
* Values outside 0-4 are invalid; duplicates count once.
|
|
5892
|
+
* Membership is resolved by the backend, independent of UI filters/flags.
|
|
5893
|
+
*
|
|
5894
|
+
* @generated from field: repeated int32 layers = 2;
|
|
5895
|
+
*/
|
|
5896
|
+
layers: number[];
|
|
5897
|
+
|
|
5898
|
+
/**
|
|
5899
|
+
* Optional. Include miscellaneous items. Defaults to false.
|
|
5900
|
+
* True is valid only for EXPORT_TYPE_INVOICE_SETTINGS.
|
|
5901
|
+
*
|
|
5902
|
+
* @generated from field: bool include_miscellaneous = 3;
|
|
5903
|
+
*/
|
|
5904
|
+
includeMiscellaneous: boolean;
|
|
5905
|
+
};
|
|
5906
|
+
|
|
5907
|
+
/**
|
|
5908
|
+
* Describes the message blueapi.billing.v1.PreviewBillingGroupCsvExportRequest.
|
|
5909
|
+
* Use `create(PreviewBillingGroupCsvExportRequestSchema)` to create a new message.
|
|
5910
|
+
*/
|
|
5911
|
+
export const PreviewBillingGroupCsvExportRequestSchema: GenMessage<PreviewBillingGroupCsvExportRequest> = /*@__PURE__*/
|
|
5912
|
+
messageDesc(file_billing_v1_billing, 149);
|
|
5913
|
+
|
|
5914
|
+
/**
|
|
5915
|
+
* Exporter whose row eligibility rules determine the selection.
|
|
5916
|
+
*
|
|
5917
|
+
* @generated from enum blueapi.billing.v1.PreviewBillingGroupCsvExportRequest.ExportType
|
|
5918
|
+
*/
|
|
5919
|
+
export enum PreviewBillingGroupCsvExportRequest_ExportType {
|
|
5920
|
+
/**
|
|
5921
|
+
* Invalid; choose a supported exporter.
|
|
5922
|
+
*
|
|
5923
|
+
* @generated from enum value: EXPORT_TYPE_UNSPECIFIED = 0;
|
|
5924
|
+
*/
|
|
5925
|
+
UNSPECIFIED = 0,
|
|
5926
|
+
|
|
5927
|
+
/**
|
|
5928
|
+
* ExportBillingGroupCsv.
|
|
5929
|
+
*
|
|
5930
|
+
* @generated from enum value: EXPORT_TYPE_BILLING_GROUP_DETAIL = 1;
|
|
5931
|
+
*/
|
|
5932
|
+
BILLING_GROUP_DETAIL = 1,
|
|
5933
|
+
|
|
5934
|
+
/**
|
|
5935
|
+
* ExportInvoiceSettingCsv, also used for reseller charges.
|
|
5936
|
+
*
|
|
5937
|
+
* @generated from enum value: EXPORT_TYPE_INVOICE_SETTINGS = 2;
|
|
5938
|
+
*/
|
|
5939
|
+
INVOICE_SETTINGS = 2,
|
|
5940
|
+
|
|
5941
|
+
/**
|
|
5942
|
+
* ExportBillingGroupInvoiceServiceDiscounts, CSV format.
|
|
5943
|
+
*
|
|
5944
|
+
* @generated from enum value: EXPORT_TYPE_BILLING_GROUP_SERVICE_DISCOUNTS = 3;
|
|
5945
|
+
*/
|
|
5946
|
+
BILLING_GROUP_SERVICE_DISCOUNTS = 3,
|
|
5947
|
+
|
|
5948
|
+
/**
|
|
5949
|
+
* ExportAccountInvoiceServiceDiscounts, CSV format.
|
|
5950
|
+
*
|
|
5951
|
+
* @generated from enum value: EXPORT_TYPE_ACCOUNT_SERVICE_DISCOUNTS = 4;
|
|
5952
|
+
*/
|
|
5953
|
+
ACCOUNT_SERVICE_DISCOUNTS = 4,
|
|
5954
|
+
}
|
|
5955
|
+
|
|
5956
|
+
/**
|
|
5957
|
+
* Describes the enum blueapi.billing.v1.PreviewBillingGroupCsvExportRequest.ExportType.
|
|
5958
|
+
*/
|
|
5959
|
+
export const PreviewBillingGroupCsvExportRequest_ExportTypeSchema: GenEnum<PreviewBillingGroupCsvExportRequest_ExportType> = /*@__PURE__*/
|
|
5960
|
+
enumDesc(file_billing_v1_billing, 149, 0);
|
|
5961
|
+
|
|
5962
|
+
/**
|
|
5963
|
+
* Returned after the complete eligible selection is stored.
|
|
5964
|
+
* Preview generates no CSV or download link.
|
|
5965
|
+
*
|
|
5966
|
+
* @generated from message blueapi.billing.v1.PreviewBillingGroupCsvExportResponse
|
|
5967
|
+
*/
|
|
5968
|
+
export type PreviewBillingGroupCsvExportResponse = Message<"blueapi.billing.v1.PreviewBillingGroupCsvExportResponse"> & {
|
|
5969
|
+
/**
|
|
5970
|
+
* Distinct groups contributing CSV rows per requested layer, including zero.
|
|
5971
|
+
* Counts groups once despite multiple vendor/account rows. No extra layers.
|
|
5972
|
+
*
|
|
5973
|
+
* @generated from field: map<int32, int32> layer_counts = 1;
|
|
5974
|
+
*/
|
|
5975
|
+
layerCounts: { [key: number]: number };
|
|
5976
|
+
|
|
5977
|
+
/**
|
|
5978
|
+
* Sensitive opaque token bound to the authenticated MSP/principal and export
|
|
5979
|
+
* type/options. Single-use on successful export; contains no group IDs.
|
|
5980
|
+
* Do not log it or send it in URLs.
|
|
5981
|
+
*
|
|
5982
|
+
* @generated from field: string preview_token = 2;
|
|
5983
|
+
*/
|
|
5984
|
+
previewToken: string;
|
|
5985
|
+
|
|
5986
|
+
/**
|
|
5987
|
+
* Acceptance expiry: 10 minutes after preview completion.
|
|
5988
|
+
* Storage cleanup is separate; accepted exports may finish after this time.
|
|
5989
|
+
*
|
|
5990
|
+
* @generated from field: google.protobuf.Timestamp expires_at = 3;
|
|
5991
|
+
*/
|
|
5992
|
+
expiresAt?: Timestamp;
|
|
5993
|
+
};
|
|
5994
|
+
|
|
5995
|
+
/**
|
|
5996
|
+
* Describes the message blueapi.billing.v1.PreviewBillingGroupCsvExportResponse.
|
|
5997
|
+
* Use `create(PreviewBillingGroupCsvExportResponseSchema)` to create a new message.
|
|
5998
|
+
*/
|
|
5999
|
+
export const PreviewBillingGroupCsvExportResponseSchema: GenMessage<PreviewBillingGroupCsvExportResponse> = /*@__PURE__*/
|
|
6000
|
+
messageDesc(file_billing_v1_billing, 150);
|
|
6001
|
+
|
|
6002
|
+
/**
|
|
6003
|
+
* Exports saved IDs/layers with current settings and authorization checks.
|
|
6004
|
+
* Does not rediscover membership. Missing/expired/consumed tokens or deleted/
|
|
6005
|
+
* ineligible groups return FailedPrecondition; lost access returns PermissionDenied.
|
|
6006
|
+
* Concurrent claims return Aborted. Failed exports may retry before token expiry.
|
|
6007
|
+
* Confirm durable consumption before returning a link, then delete the selection.
|
|
6008
|
+
* Persistence/write/upload/signing failures must not return a success link.
|
|
6009
|
+
* Default request budget: 34 minutes (2 preparation + 30 export + 2 response).
|
|
6010
|
+
* Pre-claim is manifest metadata only; chunk/group checks run after the claim.
|
|
6011
|
+
* Cap accepted work at min(claim time + 30 minutes, caller deadline - 2 minutes).
|
|
6012
|
+
* Honor shorter caller deadlines and cancellation; exhausted preparation fails
|
|
6013
|
+
* with DeadlineExceeded before claiming. Claim release/cleanup use a detached
|
|
6014
|
+
* bounded context. Detailed lease/cleanup rules are in OpenSpec.
|
|
6015
|
+
* Existing export RPCs remain supported without preview tokens.
|
|
6016
|
+
*
|
|
6017
|
+
* @generated from message blueapi.billing.v1.ExportPreviewedBillingGroupCsvRequest
|
|
6018
|
+
*/
|
|
6019
|
+
export type ExportPreviewedBillingGroupCsvRequest = Message<"blueapi.billing.v1.ExportPreviewedBillingGroupCsvRequest"> & {
|
|
6020
|
+
/**
|
|
6021
|
+
* Required. Token from PreviewBillingGroupCsvExport, sent in the request body.
|
|
6022
|
+
*
|
|
6023
|
+
* @generated from field: string preview_token = 1;
|
|
6024
|
+
*/
|
|
6025
|
+
previewToken: string;
|
|
6026
|
+
|
|
6027
|
+
/**
|
|
6028
|
+
* Required. Non-empty subset of previewed layers, 0 = Root and 1-4 = children.
|
|
6029
|
+
* Invalid/uncovered values return InvalidArgument; duplicates count once.
|
|
6030
|
+
* Root uses saved root IDs. A zero-group selection returns FailedPrecondition.
|
|
6031
|
+
*
|
|
6032
|
+
* @generated from field: repeated int32 layers = 2;
|
|
6033
|
+
*/
|
|
6034
|
+
layers: number[];
|
|
6035
|
+
|
|
6036
|
+
/**
|
|
6037
|
+
* Optional. en or ja; empty uses the user's language. Other values are invalid.
|
|
6038
|
+
* Does not change the selection or token-bound options.
|
|
6039
|
+
*
|
|
6040
|
+
* @generated from field: string language = 3;
|
|
6041
|
+
*/
|
|
6042
|
+
language: string;
|
|
6043
|
+
};
|
|
6044
|
+
|
|
6045
|
+
/**
|
|
6046
|
+
* Describes the message blueapi.billing.v1.ExportPreviewedBillingGroupCsvRequest.
|
|
6047
|
+
* Use `create(ExportPreviewedBillingGroupCsvRequestSchema)` to create a new message.
|
|
6048
|
+
*/
|
|
6049
|
+
export const ExportPreviewedBillingGroupCsvRequestSchema: GenMessage<ExportPreviewedBillingGroupCsvRequest> = /*@__PURE__*/
|
|
6050
|
+
messageDesc(file_billing_v1_billing, 151);
|
|
6051
|
+
|
|
6052
|
+
/**
|
|
6053
|
+
* @generated from message blueapi.billing.v1.ExportPreviewedBillingGroupCsvResponse
|
|
6054
|
+
*/
|
|
6055
|
+
export type ExportPreviewedBillingGroupCsvResponse = Message<"blueapi.billing.v1.ExportPreviewedBillingGroupCsvResponse"> & {
|
|
6056
|
+
/**
|
|
6057
|
+
* Signed CSV link after successful artifact creation and durable consumption.
|
|
6058
|
+
* Includes the localized Layer column, even for Root only. The saved selection
|
|
6059
|
+
* is deleted; another export needs a new preview. Link expiry is independent.
|
|
6060
|
+
*
|
|
6061
|
+
* @generated from field: string download_link = 1;
|
|
6062
|
+
*/
|
|
6063
|
+
downloadLink: string;
|
|
6064
|
+
};
|
|
6065
|
+
|
|
6066
|
+
/**
|
|
6067
|
+
* Describes the message blueapi.billing.v1.ExportPreviewedBillingGroupCsvResponse.
|
|
6068
|
+
* Use `create(ExportPreviewedBillingGroupCsvResponseSchema)` to create a new message.
|
|
6069
|
+
*/
|
|
6070
|
+
export const ExportPreviewedBillingGroupCsvResponseSchema: GenMessage<ExportPreviewedBillingGroupCsvResponse> = /*@__PURE__*/
|
|
6071
|
+
messageDesc(file_billing_v1_billing, 152);
|
|
6072
|
+
|
|
5873
6073
|
/**
|
|
5874
6074
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsRequest
|
|
5875
6075
|
*/
|
|
@@ -5885,7 +6085,7 @@ export type GetBillingGroupInvoiceServiceDiscountsRequest = Message<"blueapi.bil
|
|
|
5885
6085
|
* Use `create(GetBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
5886
6086
|
*/
|
|
5887
6087
|
export const GetBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<GetBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
5888
|
-
messageDesc(file_billing_v1_billing,
|
|
6088
|
+
messageDesc(file_billing_v1_billing, 153);
|
|
5889
6089
|
|
|
5890
6090
|
/**
|
|
5891
6091
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceServiceDiscountsResponse
|
|
@@ -5904,7 +6104,7 @@ export type GetBillingGroupInvoiceServiceDiscountsResponse = Message<"blueapi.bi
|
|
|
5904
6104
|
* Use `create(GetBillingGroupInvoiceServiceDiscountsResponseSchema)` to create a new message.
|
|
5905
6105
|
*/
|
|
5906
6106
|
export const GetBillingGroupInvoiceServiceDiscountsResponseSchema: GenMessage<GetBillingGroupInvoiceServiceDiscountsResponse> = /*@__PURE__*/
|
|
5907
|
-
messageDesc(file_billing_v1_billing,
|
|
6107
|
+
messageDesc(file_billing_v1_billing, 154);
|
|
5908
6108
|
|
|
5909
6109
|
/**
|
|
5910
6110
|
* @generated from message blueapi.billing.v1.AddBillingGroupCustomFieldRequest
|
|
@@ -5930,7 +6130,7 @@ export type AddBillingGroupCustomFieldRequest = Message<"blueapi.billing.v1.AddB
|
|
|
5930
6130
|
* Use `create(AddBillingGroupCustomFieldRequestSchema)` to create a new message.
|
|
5931
6131
|
*/
|
|
5932
6132
|
export const AddBillingGroupCustomFieldRequestSchema: GenMessage<AddBillingGroupCustomFieldRequest> = /*@__PURE__*/
|
|
5933
|
-
messageDesc(file_billing_v1_billing,
|
|
6133
|
+
messageDesc(file_billing_v1_billing, 155);
|
|
5934
6134
|
|
|
5935
6135
|
/**
|
|
5936
6136
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupCustomFieldRequest
|
|
@@ -5956,7 +6156,7 @@ export type DeleteBillingGroupCustomFieldRequest = Message<"blueapi.billing.v1.D
|
|
|
5956
6156
|
* Use `create(DeleteBillingGroupCustomFieldRequestSchema)` to create a new message.
|
|
5957
6157
|
*/
|
|
5958
6158
|
export const DeleteBillingGroupCustomFieldRequestSchema: GenMessage<DeleteBillingGroupCustomFieldRequest> = /*@__PURE__*/
|
|
5959
|
-
messageDesc(file_billing_v1_billing,
|
|
6159
|
+
messageDesc(file_billing_v1_billing, 156);
|
|
5960
6160
|
|
|
5961
6161
|
/**
|
|
5962
6162
|
* @generated from message blueapi.billing.v1.AddAccountToBillingGroupRequest
|
|
@@ -5989,7 +6189,7 @@ export type AddAccountToBillingGroupRequest = Message<"blueapi.billing.v1.AddAcc
|
|
|
5989
6189
|
* Use `create(AddAccountToBillingGroupRequestSchema)` to create a new message.
|
|
5990
6190
|
*/
|
|
5991
6191
|
export const AddAccountToBillingGroupRequestSchema: GenMessage<AddAccountToBillingGroupRequest> = /*@__PURE__*/
|
|
5992
|
-
messageDesc(file_billing_v1_billing,
|
|
6192
|
+
messageDesc(file_billing_v1_billing, 157);
|
|
5993
6193
|
|
|
5994
6194
|
/**
|
|
5995
6195
|
* New message for account details
|
|
@@ -6031,7 +6231,7 @@ export type AccountToAdd = Message<"blueapi.billing.v1.AccountToAdd"> & {
|
|
|
6031
6231
|
* Use `create(AccountToAddSchema)` to create a new message.
|
|
6032
6232
|
*/
|
|
6033
6233
|
export const AccountToAddSchema: GenMessage<AccountToAdd> = /*@__PURE__*/
|
|
6034
|
-
messageDesc(file_billing_v1_billing,
|
|
6234
|
+
messageDesc(file_billing_v1_billing, 158);
|
|
6035
6235
|
|
|
6036
6236
|
/**
|
|
6037
6237
|
* @generated from message blueapi.billing.v1.AddTagsToBillingGroupRequest
|
|
@@ -6071,7 +6271,7 @@ export type AddTagsToBillingGroupRequest = Message<"blueapi.billing.v1.AddTagsTo
|
|
|
6071
6271
|
* Use `create(AddTagsToBillingGroupRequestSchema)` to create a new message.
|
|
6072
6272
|
*/
|
|
6073
6273
|
export const AddTagsToBillingGroupRequestSchema: GenMessage<AddTagsToBillingGroupRequest> = /*@__PURE__*/
|
|
6074
|
-
messageDesc(file_billing_v1_billing,
|
|
6274
|
+
messageDesc(file_billing_v1_billing, 159);
|
|
6075
6275
|
|
|
6076
6276
|
/**
|
|
6077
6277
|
* Settings for a specific customer account for AddTagsToBillingGroup
|
|
@@ -6099,7 +6299,7 @@ export type TagSetting = Message<"blueapi.billing.v1.TagSetting"> & {
|
|
|
6099
6299
|
* Use `create(TagSettingSchema)` to create a new message.
|
|
6100
6300
|
*/
|
|
6101
6301
|
export const TagSettingSchema: GenMessage<TagSetting> = /*@__PURE__*/
|
|
6102
|
-
messageDesc(file_billing_v1_billing,
|
|
6302
|
+
messageDesc(file_billing_v1_billing, 160);
|
|
6103
6303
|
|
|
6104
6304
|
/**
|
|
6105
6305
|
* Individual tag definition for AddTagsToBillingGroup
|
|
@@ -6134,7 +6334,7 @@ export type Tag = Message<"blueapi.billing.v1.Tag"> & {
|
|
|
6134
6334
|
* Use `create(TagSchema)` to create a new message.
|
|
6135
6335
|
*/
|
|
6136
6336
|
export const TagSchema: GenMessage<Tag> = /*@__PURE__*/
|
|
6137
|
-
messageDesc(file_billing_v1_billing,
|
|
6337
|
+
messageDesc(file_billing_v1_billing, 161);
|
|
6138
6338
|
|
|
6139
6339
|
/**
|
|
6140
6340
|
* Non-tag settings for a billing group for AddTagsToBillingGroup
|
|
@@ -6169,7 +6369,7 @@ export type NonTagSetting = Message<"blueapi.billing.v1.NonTagSetting"> & {
|
|
|
6169
6369
|
* Use `create(NonTagSettingSchema)` to create a new message.
|
|
6170
6370
|
*/
|
|
6171
6371
|
export const NonTagSettingSchema: GenMessage<NonTagSetting> = /*@__PURE__*/
|
|
6172
|
-
messageDesc(file_billing_v1_billing,
|
|
6372
|
+
messageDesc(file_billing_v1_billing, 162);
|
|
6173
6373
|
|
|
6174
6374
|
/**
|
|
6175
6375
|
* Response message for tag invoice setting operation for AddTagsToBillingGroup
|
|
@@ -6197,7 +6397,7 @@ export type SaveTagInvoiceSettingResponse = Message<"blueapi.billing.v1.SaveTagI
|
|
|
6197
6397
|
* Use `create(SaveTagInvoiceSettingResponseSchema)` to create a new message.
|
|
6198
6398
|
*/
|
|
6199
6399
|
export const SaveTagInvoiceSettingResponseSchema: GenMessage<SaveTagInvoiceSettingResponse> = /*@__PURE__*/
|
|
6200
|
-
messageDesc(file_billing_v1_billing,
|
|
6400
|
+
messageDesc(file_billing_v1_billing, 163);
|
|
6201
6401
|
|
|
6202
6402
|
/**
|
|
6203
6403
|
* Request message for updating non-tag group settings for a billing group for UpdateNonTagGroupToBillingGroup
|
|
@@ -6232,7 +6432,7 @@ export type UpdateNonTagGroupToBillingGroupRequest = Message<"blueapi.billing.v1
|
|
|
6232
6432
|
* Use `create(UpdateNonTagGroupToBillingGroupRequestSchema)` to create a new message.
|
|
6233
6433
|
*/
|
|
6234
6434
|
export const UpdateNonTagGroupToBillingGroupRequestSchema: GenMessage<UpdateNonTagGroupToBillingGroupRequest> = /*@__PURE__*/
|
|
6235
|
-
messageDesc(file_billing_v1_billing,
|
|
6435
|
+
messageDesc(file_billing_v1_billing, 164);
|
|
6236
6436
|
|
|
6237
6437
|
/**
|
|
6238
6438
|
* Individual non-tag group setting for UpdateNonTagGroupToBillingGroup
|
|
@@ -6267,7 +6467,7 @@ export type NonTagGroupSetting = Message<"blueapi.billing.v1.NonTagGroupSetting"
|
|
|
6267
6467
|
* Use `create(NonTagGroupSettingSchema)` to create a new message.
|
|
6268
6468
|
*/
|
|
6269
6469
|
export const NonTagGroupSettingSchema: GenMessage<NonTagGroupSetting> = /*@__PURE__*/
|
|
6270
|
-
messageDesc(file_billing_v1_billing,
|
|
6470
|
+
messageDesc(file_billing_v1_billing, 165);
|
|
6271
6471
|
|
|
6272
6472
|
/**
|
|
6273
6473
|
* @generated from message blueapi.billing.v1.SaveInvoiceSettingsRequest
|
|
@@ -6317,7 +6517,7 @@ export type SaveInvoiceSettingsRequest = Message<"blueapi.billing.v1.SaveInvoice
|
|
|
6317
6517
|
* Use `create(SaveInvoiceSettingsRequestSchema)` to create a new message.
|
|
6318
6518
|
*/
|
|
6319
6519
|
export const SaveInvoiceSettingsRequestSchema: GenMessage<SaveInvoiceSettingsRequest> = /*@__PURE__*/
|
|
6320
|
-
messageDesc(file_billing_v1_billing,
|
|
6520
|
+
messageDesc(file_billing_v1_billing, 166);
|
|
6321
6521
|
|
|
6322
6522
|
/**
|
|
6323
6523
|
* @generated from message blueapi.billing.v1.InvoiceSettings
|
|
@@ -6457,7 +6657,7 @@ export type InvoiceSettings = Message<"blueapi.billing.v1.InvoiceSettings"> & {
|
|
|
6457
6657
|
* Use `create(InvoiceSettingsSchema)` to create a new message.
|
|
6458
6658
|
*/
|
|
6459
6659
|
export const InvoiceSettingsSchema: GenMessage<InvoiceSettings> = /*@__PURE__*/
|
|
6460
|
-
messageDesc(file_billing_v1_billing,
|
|
6660
|
+
messageDesc(file_billing_v1_billing, 167);
|
|
6461
6661
|
|
|
6462
6662
|
/**
|
|
6463
6663
|
* @generated from message blueapi.billing.v1.BasicInformation
|
|
@@ -6529,7 +6729,7 @@ export type BasicInformation = Message<"blueapi.billing.v1.BasicInformation"> &
|
|
|
6529
6729
|
* Use `create(BasicInformationSchema)` to create a new message.
|
|
6530
6730
|
*/
|
|
6531
6731
|
export const BasicInformationSchema: GenMessage<BasicInformation> = /*@__PURE__*/
|
|
6532
|
-
messageDesc(file_billing_v1_billing,
|
|
6732
|
+
messageDesc(file_billing_v1_billing, 168);
|
|
6533
6733
|
|
|
6534
6734
|
/**
|
|
6535
6735
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupBasicInformationRequest
|
|
@@ -6551,7 +6751,7 @@ export type UpdateBillingGroupBasicInformationRequest = Message<"blueapi.billing
|
|
|
6551
6751
|
* Use `create(UpdateBillingGroupBasicInformationRequestSchema)` to create a new message.
|
|
6552
6752
|
*/
|
|
6553
6753
|
export const UpdateBillingGroupBasicInformationRequestSchema: GenMessage<UpdateBillingGroupBasicInformationRequest> = /*@__PURE__*/
|
|
6554
|
-
messageDesc(file_billing_v1_billing,
|
|
6754
|
+
messageDesc(file_billing_v1_billing, 169);
|
|
6555
6755
|
|
|
6556
6756
|
/**
|
|
6557
6757
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupCustomFieldsRequest
|
|
@@ -6573,7 +6773,7 @@ export type UpdateBillingGroupCustomFieldsRequest = Message<"blueapi.billing.v1.
|
|
|
6573
6773
|
* Use `create(UpdateBillingGroupCustomFieldsRequestSchema)` to create a new message.
|
|
6574
6774
|
*/
|
|
6575
6775
|
export const UpdateBillingGroupCustomFieldsRequestSchema: GenMessage<UpdateBillingGroupCustomFieldsRequest> = /*@__PURE__*/
|
|
6576
|
-
messageDesc(file_billing_v1_billing,
|
|
6776
|
+
messageDesc(file_billing_v1_billing, 170);
|
|
6577
6777
|
|
|
6578
6778
|
/**
|
|
6579
6779
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupFreeFormatRequest
|
|
@@ -6600,7 +6800,7 @@ export type UpdateBillingGroupFreeFormatRequest = Message<"blueapi.billing.v1.Up
|
|
|
6600
6800
|
* Use `create(UpdateBillingGroupFreeFormatRequestSchema)` to create a new message.
|
|
6601
6801
|
*/
|
|
6602
6802
|
export const UpdateBillingGroupFreeFormatRequestSchema: GenMessage<UpdateBillingGroupFreeFormatRequest> = /*@__PURE__*/
|
|
6603
|
-
messageDesc(file_billing_v1_billing,
|
|
6803
|
+
messageDesc(file_billing_v1_billing, 171);
|
|
6604
6804
|
|
|
6605
6805
|
/**
|
|
6606
6806
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupLinkedResourcesRequest
|
|
@@ -6653,7 +6853,7 @@ export type UpdateBillingGroupLinkedResourcesRequest = Message<"blueapi.billing.
|
|
|
6653
6853
|
* Use `create(UpdateBillingGroupLinkedResourcesRequestSchema)` to create a new message.
|
|
6654
6854
|
*/
|
|
6655
6855
|
export const UpdateBillingGroupLinkedResourcesRequestSchema: GenMessage<UpdateBillingGroupLinkedResourcesRequest> = /*@__PURE__*/
|
|
6656
|
-
messageDesc(file_billing_v1_billing,
|
|
6856
|
+
messageDesc(file_billing_v1_billing, 172);
|
|
6657
6857
|
|
|
6658
6858
|
/**
|
|
6659
6859
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupInvoiceSettingsRequest
|
|
@@ -6692,7 +6892,7 @@ export type UpdateBillingGroupInvoiceSettingsRequest = Message<"blueapi.billing.
|
|
|
6692
6892
|
* Use `create(UpdateBillingGroupInvoiceSettingsRequestSchema)` to create a new message.
|
|
6693
6893
|
*/
|
|
6694
6894
|
export const UpdateBillingGroupInvoiceSettingsRequestSchema: GenMessage<UpdateBillingGroupInvoiceSettingsRequest> = /*@__PURE__*/
|
|
6695
|
-
messageDesc(file_billing_v1_billing,
|
|
6895
|
+
messageDesc(file_billing_v1_billing, 173);
|
|
6696
6896
|
|
|
6697
6897
|
/**
|
|
6698
6898
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupResellerChargesRequest
|
|
@@ -6719,7 +6919,7 @@ export type UpdateBillingGroupResellerChargesRequest = Message<"blueapi.billing.
|
|
|
6719
6919
|
* Use `create(UpdateBillingGroupResellerChargesRequestSchema)` to create a new message.
|
|
6720
6920
|
*/
|
|
6721
6921
|
export const UpdateBillingGroupResellerChargesRequestSchema: GenMessage<UpdateBillingGroupResellerChargesRequest> = /*@__PURE__*/
|
|
6722
|
-
messageDesc(file_billing_v1_billing,
|
|
6922
|
+
messageDesc(file_billing_v1_billing, 174);
|
|
6723
6923
|
|
|
6724
6924
|
/**
|
|
6725
6925
|
* @generated from message blueapi.billing.v1.UpdateBillingGroupAdditionalChargesRequest
|
|
@@ -6753,7 +6953,7 @@ export type UpdateBillingGroupAdditionalChargesRequest = Message<"blueapi.billin
|
|
|
6753
6953
|
* Use `create(UpdateBillingGroupAdditionalChargesRequestSchema)` to create a new message.
|
|
6754
6954
|
*/
|
|
6755
6955
|
export const UpdateBillingGroupAdditionalChargesRequestSchema: GenMessage<UpdateBillingGroupAdditionalChargesRequest> = /*@__PURE__*/
|
|
6756
|
-
messageDesc(file_billing_v1_billing,
|
|
6956
|
+
messageDesc(file_billing_v1_billing, 175);
|
|
6757
6957
|
|
|
6758
6958
|
/**
|
|
6759
6959
|
* CustomizedBillingServiceBillingSetting
|
|
@@ -6790,7 +6990,7 @@ export type UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceB
|
|
|
6790
6990
|
* Use `create(UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSettingSchema)` to create a new message.
|
|
6791
6991
|
*/
|
|
6792
6992
|
export const UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSettingSchema: GenMessage<UpdateBillingGroupAdditionalChargesRequest_CustomizedBillingServiceBillingSetting> = /*@__PURE__*/
|
|
6793
|
-
messageDesc(file_billing_v1_billing,
|
|
6993
|
+
messageDesc(file_billing_v1_billing, 175, 0);
|
|
6794
6994
|
|
|
6795
6995
|
/**
|
|
6796
6996
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupRequest
|
|
@@ -6807,7 +7007,7 @@ export type DeleteBillingGroupRequest = Message<"blueapi.billing.v1.DeleteBillin
|
|
|
6807
7007
|
* Use `create(DeleteBillingGroupRequestSchema)` to create a new message.
|
|
6808
7008
|
*/
|
|
6809
7009
|
export const DeleteBillingGroupRequestSchema: GenMessage<DeleteBillingGroupRequest> = /*@__PURE__*/
|
|
6810
|
-
messageDesc(file_billing_v1_billing,
|
|
7010
|
+
messageDesc(file_billing_v1_billing, 176);
|
|
6811
7011
|
|
|
6812
7012
|
/**
|
|
6813
7013
|
* Request message for the GetBillingGroupAccountSupportPlan rpc.
|
|
@@ -6835,7 +7035,7 @@ export type GetBillingGroupAccountSupportPlanRequest = Message<"blueapi.billing.
|
|
|
6835
7035
|
* Use `create(GetBillingGroupAccountSupportPlanRequestSchema)` to create a new message.
|
|
6836
7036
|
*/
|
|
6837
7037
|
export const GetBillingGroupAccountSupportPlanRequestSchema: GenMessage<GetBillingGroupAccountSupportPlanRequest> = /*@__PURE__*/
|
|
6838
|
-
messageDesc(file_billing_v1_billing,
|
|
7038
|
+
messageDesc(file_billing_v1_billing, 177);
|
|
6839
7039
|
|
|
6840
7040
|
/**
|
|
6841
7041
|
* Response message for the GetBillingGroupAccountSupportPlan rpc.
|
|
@@ -6877,7 +7077,7 @@ export type GetBillingGroupAccountSupportPlanResponse = Message<"blueapi.billing
|
|
|
6877
7077
|
* Use `create(GetBillingGroupAccountSupportPlanResponseSchema)` to create a new message.
|
|
6878
7078
|
*/
|
|
6879
7079
|
export const GetBillingGroupAccountSupportPlanResponseSchema: GenMessage<GetBillingGroupAccountSupportPlanResponse> = /*@__PURE__*/
|
|
6880
|
-
messageDesc(file_billing_v1_billing,
|
|
7080
|
+
messageDesc(file_billing_v1_billing, 178);
|
|
6881
7081
|
|
|
6882
7082
|
/**
|
|
6883
7083
|
* Request message for the UpdateBillingGroupAccountSupportPlan rpc.
|
|
@@ -6927,7 +7127,7 @@ export type UpdateBillingGroupAccountSupportPlanRequest = Message<"blueapi.billi
|
|
|
6927
7127
|
* Use `create(UpdateBillingGroupAccountSupportPlanRequestSchema)` to create a new message.
|
|
6928
7128
|
*/
|
|
6929
7129
|
export const UpdateBillingGroupAccountSupportPlanRequestSchema: GenMessage<UpdateBillingGroupAccountSupportPlanRequest> = /*@__PURE__*/
|
|
6930
|
-
messageDesc(file_billing_v1_billing,
|
|
7130
|
+
messageDesc(file_billing_v1_billing, 179);
|
|
6931
7131
|
|
|
6932
7132
|
/**
|
|
6933
7133
|
* @generated from message blueapi.billing.v1.GetAnnouncementsRequest
|
|
@@ -6946,7 +7146,7 @@ export type GetAnnouncementsRequest = Message<"blueapi.billing.v1.GetAnnouncemen
|
|
|
6946
7146
|
* Use `create(GetAnnouncementsRequestSchema)` to create a new message.
|
|
6947
7147
|
*/
|
|
6948
7148
|
export const GetAnnouncementsRequestSchema: GenMessage<GetAnnouncementsRequest> = /*@__PURE__*/
|
|
6949
|
-
messageDesc(file_billing_v1_billing,
|
|
7149
|
+
messageDesc(file_billing_v1_billing, 180);
|
|
6950
7150
|
|
|
6951
7151
|
/**
|
|
6952
7152
|
* @generated from message blueapi.billing.v1.CreateAnnouncementRequest
|
|
@@ -7014,7 +7214,7 @@ export type CreateAnnouncementRequest = Message<"blueapi.billing.v1.CreateAnnoun
|
|
|
7014
7214
|
* Use `create(CreateAnnouncementRequestSchema)` to create a new message.
|
|
7015
7215
|
*/
|
|
7016
7216
|
export const CreateAnnouncementRequestSchema: GenMessage<CreateAnnouncementRequest> = /*@__PURE__*/
|
|
7017
|
-
messageDesc(file_billing_v1_billing,
|
|
7217
|
+
messageDesc(file_billing_v1_billing, 181);
|
|
7018
7218
|
|
|
7019
7219
|
/**
|
|
7020
7220
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementRequest
|
|
@@ -7038,7 +7238,7 @@ export type UpdateAnnouncementRequest = Message<"blueapi.billing.v1.UpdateAnnoun
|
|
|
7038
7238
|
* Use `create(UpdateAnnouncementRequestSchema)` to create a new message.
|
|
7039
7239
|
*/
|
|
7040
7240
|
export const UpdateAnnouncementRequestSchema: GenMessage<UpdateAnnouncementRequest> = /*@__PURE__*/
|
|
7041
|
-
messageDesc(file_billing_v1_billing,
|
|
7241
|
+
messageDesc(file_billing_v1_billing, 182);
|
|
7042
7242
|
|
|
7043
7243
|
/**
|
|
7044
7244
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementsStatusRequest
|
|
@@ -7060,7 +7260,7 @@ export type UpdateAnnouncementsStatusRequest = Message<"blueapi.billing.v1.Updat
|
|
|
7060
7260
|
* Use `create(UpdateAnnouncementsStatusRequestSchema)` to create a new message.
|
|
7061
7261
|
*/
|
|
7062
7262
|
export const UpdateAnnouncementsStatusRequestSchema: GenMessage<UpdateAnnouncementsStatusRequest> = /*@__PURE__*/
|
|
7063
|
-
messageDesc(file_billing_v1_billing,
|
|
7263
|
+
messageDesc(file_billing_v1_billing, 183);
|
|
7064
7264
|
|
|
7065
7265
|
/**
|
|
7066
7266
|
* @generated from message blueapi.billing.v1.UpdateAnnouncementDateRequest
|
|
@@ -7084,7 +7284,7 @@ export type UpdateAnnouncementDateRequest = Message<"blueapi.billing.v1.UpdateAn
|
|
|
7084
7284
|
* Use `create(UpdateAnnouncementDateRequestSchema)` to create a new message.
|
|
7085
7285
|
*/
|
|
7086
7286
|
export const UpdateAnnouncementDateRequestSchema: GenMessage<UpdateAnnouncementDateRequest> = /*@__PURE__*/
|
|
7087
|
-
messageDesc(file_billing_v1_billing,
|
|
7287
|
+
messageDesc(file_billing_v1_billing, 184);
|
|
7088
7288
|
|
|
7089
7289
|
/**
|
|
7090
7290
|
* @generated from message blueapi.billing.v1.DeleteAnnouncementRequest
|
|
@@ -7103,7 +7303,7 @@ export type DeleteAnnouncementRequest = Message<"blueapi.billing.v1.DeleteAnnoun
|
|
|
7103
7303
|
* Use `create(DeleteAnnouncementRequestSchema)` to create a new message.
|
|
7104
7304
|
*/
|
|
7105
7305
|
export const DeleteAnnouncementRequestSchema: GenMessage<DeleteAnnouncementRequest> = /*@__PURE__*/
|
|
7106
|
-
messageDesc(file_billing_v1_billing,
|
|
7306
|
+
messageDesc(file_billing_v1_billing, 185);
|
|
7107
7307
|
|
|
7108
7308
|
/**
|
|
7109
7309
|
* @generated from message blueapi.billing.v1.Announcement
|
|
@@ -7180,7 +7380,7 @@ export type Announcement = Message<"blueapi.billing.v1.Announcement"> & {
|
|
|
7180
7380
|
* Use `create(AnnouncementSchema)` to create a new message.
|
|
7181
7381
|
*/
|
|
7182
7382
|
export const AnnouncementSchema: GenMessage<Announcement> = /*@__PURE__*/
|
|
7183
|
-
messageDesc(file_billing_v1_billing,
|
|
7383
|
+
messageDesc(file_billing_v1_billing, 186);
|
|
7184
7384
|
|
|
7185
7385
|
/**
|
|
7186
7386
|
* @generated from message blueapi.billing.v1.GetBillingGroupAnnouncementsRequest
|
|
@@ -7199,7 +7399,7 @@ export type GetBillingGroupAnnouncementsRequest = Message<"blueapi.billing.v1.Ge
|
|
|
7199
7399
|
* Use `create(GetBillingGroupAnnouncementsRequestSchema)` to create a new message.
|
|
7200
7400
|
*/
|
|
7201
7401
|
export const GetBillingGroupAnnouncementsRequestSchema: GenMessage<GetBillingGroupAnnouncementsRequest> = /*@__PURE__*/
|
|
7202
|
-
messageDesc(file_billing_v1_billing,
|
|
7402
|
+
messageDesc(file_billing_v1_billing, 187);
|
|
7203
7403
|
|
|
7204
7404
|
/**
|
|
7205
7405
|
* @generated from message blueapi.billing.v1.GetBillingGroupAnnouncementsResponse
|
|
@@ -7231,7 +7431,7 @@ export type GetBillingGroupAnnouncementsResponse = Message<"blueapi.billing.v1.G
|
|
|
7231
7431
|
* Use `create(GetBillingGroupAnnouncementsResponseSchema)` to create a new message.
|
|
7232
7432
|
*/
|
|
7233
7433
|
export const GetBillingGroupAnnouncementsResponseSchema: GenMessage<GetBillingGroupAnnouncementsResponse> = /*@__PURE__*/
|
|
7234
|
-
messageDesc(file_billing_v1_billing,
|
|
7434
|
+
messageDesc(file_billing_v1_billing, 188);
|
|
7235
7435
|
|
|
7236
7436
|
/**
|
|
7237
7437
|
* @generated from message blueapi.billing.v1.GetCreditsRequest
|
|
@@ -7244,7 +7444,7 @@ export type GetCreditsRequest = Message<"blueapi.billing.v1.GetCreditsRequest">
|
|
|
7244
7444
|
* Use `create(GetCreditsRequestSchema)` to create a new message.
|
|
7245
7445
|
*/
|
|
7246
7446
|
export const GetCreditsRequestSchema: GenMessage<GetCreditsRequest> = /*@__PURE__*/
|
|
7247
|
-
messageDesc(file_billing_v1_billing,
|
|
7447
|
+
messageDesc(file_billing_v1_billing, 189);
|
|
7248
7448
|
|
|
7249
7449
|
/**
|
|
7250
7450
|
* @generated from message blueapi.billing.v1.Credit
|
|
@@ -7306,7 +7506,7 @@ export type Credit = Message<"blueapi.billing.v1.Credit"> & {
|
|
|
7306
7506
|
* Use `create(CreditSchema)` to create a new message.
|
|
7307
7507
|
*/
|
|
7308
7508
|
export const CreditSchema: GenMessage<Credit> = /*@__PURE__*/
|
|
7309
|
-
messageDesc(file_billing_v1_billing,
|
|
7509
|
+
messageDesc(file_billing_v1_billing, 190);
|
|
7310
7510
|
|
|
7311
7511
|
/**
|
|
7312
7512
|
* @generated from message blueapi.billing.v1.GetCsvSettingsRequest
|
|
@@ -7319,7 +7519,7 @@ export type GetCsvSettingsRequest = Message<"blueapi.billing.v1.GetCsvSettingsRe
|
|
|
7319
7519
|
* Use `create(GetCsvSettingsRequestSchema)` to create a new message.
|
|
7320
7520
|
*/
|
|
7321
7521
|
export const GetCsvSettingsRequestSchema: GenMessage<GetCsvSettingsRequest> = /*@__PURE__*/
|
|
7322
|
-
messageDesc(file_billing_v1_billing,
|
|
7522
|
+
messageDesc(file_billing_v1_billing, 191);
|
|
7323
7523
|
|
|
7324
7524
|
/**
|
|
7325
7525
|
* @generated from message blueapi.billing.v1.CsvSetting
|
|
@@ -7346,7 +7546,7 @@ export type CsvSetting = Message<"blueapi.billing.v1.CsvSetting"> & {
|
|
|
7346
7546
|
* Use `create(CsvSettingSchema)` to create a new message.
|
|
7347
7547
|
*/
|
|
7348
7548
|
export const CsvSettingSchema: GenMessage<CsvSetting> = /*@__PURE__*/
|
|
7349
|
-
messageDesc(file_billing_v1_billing,
|
|
7549
|
+
messageDesc(file_billing_v1_billing, 192);
|
|
7350
7550
|
|
|
7351
7551
|
/**
|
|
7352
7552
|
* @generated from message blueapi.billing.v1.CsvSetting.Column
|
|
@@ -7378,7 +7578,7 @@ export type CsvSetting_Column = Message<"blueapi.billing.v1.CsvSetting.Column">
|
|
|
7378
7578
|
* Use `create(CsvSetting_ColumnSchema)` to create a new message.
|
|
7379
7579
|
*/
|
|
7380
7580
|
export const CsvSetting_ColumnSchema: GenMessage<CsvSetting_Column> = /*@__PURE__*/
|
|
7381
|
-
messageDesc(file_billing_v1_billing,
|
|
7581
|
+
messageDesc(file_billing_v1_billing, 192, 0);
|
|
7382
7582
|
|
|
7383
7583
|
/**
|
|
7384
7584
|
* @generated from message blueapi.billing.v1.UpdateInvoiceExchangeRateRequest
|
|
@@ -7419,7 +7619,7 @@ export type UpdateInvoiceExchangeRateRequest = Message<"blueapi.billing.v1.Updat
|
|
|
7419
7619
|
* Use `create(UpdateInvoiceExchangeRateRequestSchema)` to create a new message.
|
|
7420
7620
|
*/
|
|
7421
7621
|
export const UpdateInvoiceExchangeRateRequestSchema: GenMessage<UpdateInvoiceExchangeRateRequest> = /*@__PURE__*/
|
|
7422
|
-
messageDesc(file_billing_v1_billing,
|
|
7622
|
+
messageDesc(file_billing_v1_billing, 193);
|
|
7423
7623
|
|
|
7424
7624
|
/**
|
|
7425
7625
|
* @generated from message blueapi.billing.v1.ConvertInvoiceToPdfRequest
|
|
@@ -7484,7 +7684,7 @@ export type ConvertInvoiceToPdfRequest = Message<"blueapi.billing.v1.ConvertInvo
|
|
|
7484
7684
|
* Use `create(ConvertInvoiceToPdfRequestSchema)` to create a new message.
|
|
7485
7685
|
*/
|
|
7486
7686
|
export const ConvertInvoiceToPdfRequestSchema: GenMessage<ConvertInvoiceToPdfRequest> = /*@__PURE__*/
|
|
7487
|
-
messageDesc(file_billing_v1_billing,
|
|
7687
|
+
messageDesc(file_billing_v1_billing, 194);
|
|
7488
7688
|
|
|
7489
7689
|
/**
|
|
7490
7690
|
* @generated from message blueapi.billing.v1.ConvertInvoiceToPdfResponse
|
|
@@ -7521,7 +7721,7 @@ export type ConvertInvoiceToPdfResponse = Message<"blueapi.billing.v1.ConvertInv
|
|
|
7521
7721
|
* Use `create(ConvertInvoiceToPdfResponseSchema)` to create a new message.
|
|
7522
7722
|
*/
|
|
7523
7723
|
export const ConvertInvoiceToPdfResponseSchema: GenMessage<ConvertInvoiceToPdfResponse> = /*@__PURE__*/
|
|
7524
|
-
messageDesc(file_billing_v1_billing,
|
|
7724
|
+
messageDesc(file_billing_v1_billing, 195);
|
|
7525
7725
|
|
|
7526
7726
|
/**
|
|
7527
7727
|
* Request message for the Billing.ListBillingGroupsPaginated rpc.
|
|
@@ -7612,7 +7812,7 @@ export type ListBillingGroupsPaginatedRequest = Message<"blueapi.billing.v1.List
|
|
|
7612
7812
|
* Use `create(ListBillingGroupsPaginatedRequestSchema)` to create a new message.
|
|
7613
7813
|
*/
|
|
7614
7814
|
export const ListBillingGroupsPaginatedRequestSchema: GenMessage<ListBillingGroupsPaginatedRequest> = /*@__PURE__*/
|
|
7615
|
-
messageDesc(file_billing_v1_billing,
|
|
7815
|
+
messageDesc(file_billing_v1_billing, 196);
|
|
7616
7816
|
|
|
7617
7817
|
/**
|
|
7618
7818
|
* Response row for paginated billing groups table.
|
|
@@ -7668,7 +7868,7 @@ export type BillingGroupListItem = Message<"blueapi.billing.v1.BillingGroupListI
|
|
|
7668
7868
|
* Use `create(BillingGroupListItemSchema)` to create a new message.
|
|
7669
7869
|
*/
|
|
7670
7870
|
export const BillingGroupListItemSchema: GenMessage<BillingGroupListItem> = /*@__PURE__*/
|
|
7671
|
-
messageDesc(file_billing_v1_billing,
|
|
7871
|
+
messageDesc(file_billing_v1_billing, 197);
|
|
7672
7872
|
|
|
7673
7873
|
/**
|
|
7674
7874
|
* Vendor availability entries.
|
|
@@ -7696,7 +7896,7 @@ export type BillingGroupListItem_BillingGroupVendor = Message<"blueapi.billing.v
|
|
|
7696
7896
|
* Use `create(BillingGroupListItem_BillingGroupVendorSchema)` to create a new message.
|
|
7697
7897
|
*/
|
|
7698
7898
|
export const BillingGroupListItem_BillingGroupVendorSchema: GenMessage<BillingGroupListItem_BillingGroupVendor> = /*@__PURE__*/
|
|
7699
|
-
messageDesc(file_billing_v1_billing,
|
|
7899
|
+
messageDesc(file_billing_v1_billing, 197, 0);
|
|
7700
7900
|
|
|
7701
7901
|
/**
|
|
7702
7902
|
* Response message for the Billing.ListBillingGroupsPaginated rpc.
|
|
@@ -7745,7 +7945,7 @@ export type ListBillingGroupsPaginatedResponse = Message<"blueapi.billing.v1.Lis
|
|
|
7745
7945
|
* Use `create(ListBillingGroupsPaginatedResponseSchema)` to create a new message.
|
|
7746
7946
|
*/
|
|
7747
7947
|
export const ListBillingGroupsPaginatedResponseSchema: GenMessage<ListBillingGroupsPaginatedResponse> = /*@__PURE__*/
|
|
7748
|
-
messageDesc(file_billing_v1_billing,
|
|
7948
|
+
messageDesc(file_billing_v1_billing, 198);
|
|
7749
7949
|
|
|
7750
7950
|
/**
|
|
7751
7951
|
* @generated from message blueapi.billing.v1.ChildBillingGroupBasicInformation
|
|
@@ -7799,7 +7999,7 @@ export type ChildBillingGroupBasicInformation = Message<"blueapi.billing.v1.Chil
|
|
|
7799
7999
|
* Use `create(ChildBillingGroupBasicInformationSchema)` to create a new message.
|
|
7800
8000
|
*/
|
|
7801
8001
|
export const ChildBillingGroupBasicInformationSchema: GenMessage<ChildBillingGroupBasicInformation> = /*@__PURE__*/
|
|
7802
|
-
messageDesc(file_billing_v1_billing,
|
|
8002
|
+
messageDesc(file_billing_v1_billing, 199);
|
|
7803
8003
|
|
|
7804
8004
|
/**
|
|
7805
8005
|
* @generated from message blueapi.billing.v1.CustomizedBillingServiceBillingGroup
|
|
@@ -7839,7 +8039,7 @@ export type CustomizedBillingServiceBillingGroup = Message<"blueapi.billing.v1.C
|
|
|
7839
8039
|
* Use `create(CustomizedBillingServiceBillingGroupSchema)` to create a new message.
|
|
7840
8040
|
*/
|
|
7841
8041
|
export const CustomizedBillingServiceBillingGroupSchema: GenMessage<CustomizedBillingServiceBillingGroup> = /*@__PURE__*/
|
|
7842
|
-
messageDesc(file_billing_v1_billing,
|
|
8042
|
+
messageDesc(file_billing_v1_billing, 200);
|
|
7843
8043
|
|
|
7844
8044
|
/**
|
|
7845
8045
|
* Contains basic information and invoice settings related data.
|
|
@@ -7883,7 +8083,7 @@ export type ChildBillingGroup = Message<"blueapi.billing.v1.ChildBillingGroup">
|
|
|
7883
8083
|
* Use `create(ChildBillingGroupSchema)` to create a new message.
|
|
7884
8084
|
*/
|
|
7885
8085
|
export const ChildBillingGroupSchema: GenMessage<ChildBillingGroup> = /*@__PURE__*/
|
|
7886
|
-
messageDesc(file_billing_v1_billing,
|
|
8086
|
+
messageDesc(file_billing_v1_billing, 201);
|
|
7887
8087
|
|
|
7888
8088
|
/**
|
|
7889
8089
|
* @generated from message blueapi.billing.v1.ChildBillingGroupInvoiceSettings
|
|
@@ -7921,7 +8121,7 @@ export type ChildBillingGroupInvoiceSettings = Message<"blueapi.billing.v1.Child
|
|
|
7921
8121
|
* Use `create(ChildBillingGroupInvoiceSettingsSchema)` to create a new message.
|
|
7922
8122
|
*/
|
|
7923
8123
|
export const ChildBillingGroupInvoiceSettingsSchema: GenMessage<ChildBillingGroupInvoiceSettings> = /*@__PURE__*/
|
|
7924
|
-
messageDesc(file_billing_v1_billing,
|
|
8124
|
+
messageDesc(file_billing_v1_billing, 202);
|
|
7925
8125
|
|
|
7926
8126
|
/**
|
|
7927
8127
|
* @generated from message blueapi.billing.v1.CreateChildBillingGroupRequest
|
|
@@ -7961,7 +8161,7 @@ export type CreateChildBillingGroupRequest = Message<"blueapi.billing.v1.CreateC
|
|
|
7961
8161
|
* Use `create(CreateChildBillingGroupRequestSchema)` to create a new message.
|
|
7962
8162
|
*/
|
|
7963
8163
|
export const CreateChildBillingGroupRequestSchema: GenMessage<CreateChildBillingGroupRequest> = /*@__PURE__*/
|
|
7964
|
-
messageDesc(file_billing_v1_billing,
|
|
8164
|
+
messageDesc(file_billing_v1_billing, 203);
|
|
7965
8165
|
|
|
7966
8166
|
/**
|
|
7967
8167
|
* @generated from message blueapi.billing.v1.CreateChildBillingGroupResponse
|
|
@@ -7974,7 +8174,7 @@ export type CreateChildBillingGroupResponse = Message<"blueapi.billing.v1.Create
|
|
|
7974
8174
|
* Use `create(CreateChildBillingGroupResponseSchema)` to create a new message.
|
|
7975
8175
|
*/
|
|
7976
8176
|
export const CreateChildBillingGroupResponseSchema: GenMessage<CreateChildBillingGroupResponse> = /*@__PURE__*/
|
|
7977
|
-
messageDesc(file_billing_v1_billing,
|
|
8177
|
+
messageDesc(file_billing_v1_billing, 204);
|
|
7978
8178
|
|
|
7979
8179
|
/**
|
|
7980
8180
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupRequest
|
|
@@ -7993,7 +8193,7 @@ export type GetChildBillingGroupRequest = Message<"blueapi.billing.v1.GetChildBi
|
|
|
7993
8193
|
* Use `create(GetChildBillingGroupRequestSchema)` to create a new message.
|
|
7994
8194
|
*/
|
|
7995
8195
|
export const GetChildBillingGroupRequestSchema: GenMessage<GetChildBillingGroupRequest> = /*@__PURE__*/
|
|
7996
|
-
messageDesc(file_billing_v1_billing,
|
|
8196
|
+
messageDesc(file_billing_v1_billing, 205);
|
|
7997
8197
|
|
|
7998
8198
|
/**
|
|
7999
8199
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupResponse
|
|
@@ -8010,7 +8210,7 @@ export type GetChildBillingGroupResponse = Message<"blueapi.billing.v1.GetChildB
|
|
|
8010
8210
|
* Use `create(GetChildBillingGroupResponseSchema)` to create a new message.
|
|
8011
8211
|
*/
|
|
8012
8212
|
export const GetChildBillingGroupResponseSchema: GenMessage<GetChildBillingGroupResponse> = /*@__PURE__*/
|
|
8013
|
-
messageDesc(file_billing_v1_billing,
|
|
8213
|
+
messageDesc(file_billing_v1_billing, 206);
|
|
8014
8214
|
|
|
8015
8215
|
/**
|
|
8016
8216
|
* @generated from message blueapi.billing.v1.ReadChildBillingGroupsRequest
|
|
@@ -8038,7 +8238,7 @@ export type ReadChildBillingGroupsRequest = Message<"blueapi.billing.v1.ReadChil
|
|
|
8038
8238
|
* Use `create(ReadChildBillingGroupsRequestSchema)` to create a new message.
|
|
8039
8239
|
*/
|
|
8040
8240
|
export const ReadChildBillingGroupsRequestSchema: GenMessage<ReadChildBillingGroupsRequest> = /*@__PURE__*/
|
|
8041
|
-
messageDesc(file_billing_v1_billing,
|
|
8241
|
+
messageDesc(file_billing_v1_billing, 207);
|
|
8042
8242
|
|
|
8043
8243
|
/**
|
|
8044
8244
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupRequest
|
|
@@ -8071,7 +8271,7 @@ export type UpdateChildBillingGroupRequest = Message<"blueapi.billing.v1.UpdateC
|
|
|
8071
8271
|
* Use `create(UpdateChildBillingGroupRequestSchema)` to create a new message.
|
|
8072
8272
|
*/
|
|
8073
8273
|
export const UpdateChildBillingGroupRequestSchema: GenMessage<UpdateChildBillingGroupRequest> = /*@__PURE__*/
|
|
8074
|
-
messageDesc(file_billing_v1_billing,
|
|
8274
|
+
messageDesc(file_billing_v1_billing, 208);
|
|
8075
8275
|
|
|
8076
8276
|
/**
|
|
8077
8277
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupResponse
|
|
@@ -8084,7 +8284,7 @@ export type UpdateChildBillingGroupResponse = Message<"blueapi.billing.v1.Update
|
|
|
8084
8284
|
* Use `create(UpdateChildBillingGroupResponseSchema)` to create a new message.
|
|
8085
8285
|
*/
|
|
8086
8286
|
export const UpdateChildBillingGroupResponseSchema: GenMessage<UpdateChildBillingGroupResponse> = /*@__PURE__*/
|
|
8087
|
-
messageDesc(file_billing_v1_billing,
|
|
8287
|
+
messageDesc(file_billing_v1_billing, 209);
|
|
8088
8288
|
|
|
8089
8289
|
/**
|
|
8090
8290
|
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupRequest
|
|
@@ -8103,7 +8303,7 @@ export type DeleteChildBillingGroupRequest = Message<"blueapi.billing.v1.DeleteC
|
|
|
8103
8303
|
* Use `create(DeleteChildBillingGroupRequestSchema)` to create a new message.
|
|
8104
8304
|
*/
|
|
8105
8305
|
export const DeleteChildBillingGroupRequestSchema: GenMessage<DeleteChildBillingGroupRequest> = /*@__PURE__*/
|
|
8106
|
-
messageDesc(file_billing_v1_billing,
|
|
8306
|
+
messageDesc(file_billing_v1_billing, 210);
|
|
8107
8307
|
|
|
8108
8308
|
/**
|
|
8109
8309
|
* @generated from message blueapi.billing.v1.DeleteChildBillingGroupResponse
|
|
@@ -8116,7 +8316,7 @@ export type DeleteChildBillingGroupResponse = Message<"blueapi.billing.v1.Delete
|
|
|
8116
8316
|
* Use `create(DeleteChildBillingGroupResponseSchema)` to create a new message.
|
|
8117
8317
|
*/
|
|
8118
8318
|
export const DeleteChildBillingGroupResponseSchema: GenMessage<DeleteChildBillingGroupResponse> = /*@__PURE__*/
|
|
8119
|
-
messageDesc(file_billing_v1_billing,
|
|
8319
|
+
messageDesc(file_billing_v1_billing, 211);
|
|
8120
8320
|
|
|
8121
8321
|
/**
|
|
8122
8322
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsRequest
|
|
@@ -8149,7 +8349,7 @@ export type UpdateChildBillingGroupInvoiceSettingsRequest = Message<"blueapi.bil
|
|
|
8149
8349
|
* Use `create(UpdateChildBillingGroupInvoiceSettingsRequestSchema)` to create a new message.
|
|
8150
8350
|
*/
|
|
8151
8351
|
export const UpdateChildBillingGroupInvoiceSettingsRequestSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsRequest> = /*@__PURE__*/
|
|
8152
|
-
messageDesc(file_billing_v1_billing,
|
|
8352
|
+
messageDesc(file_billing_v1_billing, 212);
|
|
8153
8353
|
|
|
8154
8354
|
/**
|
|
8155
8355
|
* @generated from message blueapi.billing.v1.UpdateChildBillingGroupInvoiceSettingsResponse
|
|
@@ -8162,7 +8362,7 @@ export type UpdateChildBillingGroupInvoiceSettingsResponse = Message<"blueapi.bi
|
|
|
8162
8362
|
* Use `create(UpdateChildBillingGroupInvoiceSettingsResponseSchema)` to create a new message.
|
|
8163
8363
|
*/
|
|
8164
8364
|
export const UpdateChildBillingGroupInvoiceSettingsResponseSchema: GenMessage<UpdateChildBillingGroupInvoiceSettingsResponse> = /*@__PURE__*/
|
|
8165
|
-
messageDesc(file_billing_v1_billing,
|
|
8365
|
+
messageDesc(file_billing_v1_billing, 213);
|
|
8166
8366
|
|
|
8167
8367
|
/**
|
|
8168
8368
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupCustomizedBillingServiceRequest
|
|
@@ -8202,7 +8402,7 @@ export type SetChildBillingGroupCustomizedBillingServiceRequest = Message<"bluea
|
|
|
8202
8402
|
* Use `create(SetChildBillingGroupCustomizedBillingServiceRequestSchema)` to create a new message.
|
|
8203
8403
|
*/
|
|
8204
8404
|
export const SetChildBillingGroupCustomizedBillingServiceRequestSchema: GenMessage<SetChildBillingGroupCustomizedBillingServiceRequest> = /*@__PURE__*/
|
|
8205
|
-
messageDesc(file_billing_v1_billing,
|
|
8405
|
+
messageDesc(file_billing_v1_billing, 214);
|
|
8206
8406
|
|
|
8207
8407
|
/**
|
|
8208
8408
|
* CustomizedBillingServiceBillingSetting
|
|
@@ -8239,7 +8439,7 @@ export type SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillin
|
|
|
8239
8439
|
* Use `create(SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSettingSchema)` to create a new message.
|
|
8240
8440
|
*/
|
|
8241
8441
|
export const SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSettingSchema: GenMessage<SetChildBillingGroupCustomizedBillingServiceRequest_CustomizedBillingServiceBillingSetting> = /*@__PURE__*/
|
|
8242
|
-
messageDesc(file_billing_v1_billing,
|
|
8442
|
+
messageDesc(file_billing_v1_billing, 214, 0);
|
|
8243
8443
|
|
|
8244
8444
|
/**
|
|
8245
8445
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupInvoiceServiceDiscountsRequest
|
|
@@ -8267,7 +8467,7 @@ export type SetChildBillingGroupInvoiceServiceDiscountsRequest = Message<"blueap
|
|
|
8267
8467
|
* Use `create(SetChildBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
8268
8468
|
*/
|
|
8269
8469
|
export const SetChildBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<SetChildBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
8270
|
-
messageDesc(file_billing_v1_billing,
|
|
8470
|
+
messageDesc(file_billing_v1_billing, 215);
|
|
8271
8471
|
|
|
8272
8472
|
/**
|
|
8273
8473
|
* @generated from message blueapi.billing.v1.SetChildBillingGroupAccountInvoiceServiceDiscountsRequest
|
|
@@ -8293,7 +8493,7 @@ export type SetChildBillingGroupAccountInvoiceServiceDiscountsRequest = Message<
|
|
|
8293
8493
|
* Use `create(SetChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
8294
8494
|
*/
|
|
8295
8495
|
export const SetChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema: GenMessage<SetChildBillingGroupAccountInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
8296
|
-
messageDesc(file_billing_v1_billing,
|
|
8496
|
+
messageDesc(file_billing_v1_billing, 216);
|
|
8297
8497
|
|
|
8298
8498
|
/**
|
|
8299
8499
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupCustomizedBillingServiceRequest
|
|
@@ -8319,7 +8519,7 @@ export type GetChildBillingGroupCustomizedBillingServiceRequest = Message<"bluea
|
|
|
8319
8519
|
* Use `create(GetChildBillingGroupCustomizedBillingServiceRequestSchema)` to create a new message.
|
|
8320
8520
|
*/
|
|
8321
8521
|
export const GetChildBillingGroupCustomizedBillingServiceRequestSchema: GenMessage<GetChildBillingGroupCustomizedBillingServiceRequest> = /*@__PURE__*/
|
|
8322
|
-
messageDesc(file_billing_v1_billing,
|
|
8522
|
+
messageDesc(file_billing_v1_billing, 217);
|
|
8323
8523
|
|
|
8324
8524
|
/**
|
|
8325
8525
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupCustomizedBillingServiceResponse
|
|
@@ -8359,7 +8559,7 @@ export type GetChildBillingGroupCustomizedBillingServiceResponse = Message<"blue
|
|
|
8359
8559
|
* Use `create(GetChildBillingGroupCustomizedBillingServiceResponseSchema)` to create a new message.
|
|
8360
8560
|
*/
|
|
8361
8561
|
export const GetChildBillingGroupCustomizedBillingServiceResponseSchema: GenMessage<GetChildBillingGroupCustomizedBillingServiceResponse> = /*@__PURE__*/
|
|
8362
|
-
messageDesc(file_billing_v1_billing,
|
|
8562
|
+
messageDesc(file_billing_v1_billing, 218);
|
|
8363
8563
|
|
|
8364
8564
|
/**
|
|
8365
8565
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupInvoiceServiceDiscountsRequest
|
|
@@ -8378,7 +8578,7 @@ export type GetChildBillingGroupInvoiceServiceDiscountsRequest = Message<"blueap
|
|
|
8378
8578
|
* Use `create(GetChildBillingGroupInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
8379
8579
|
*/
|
|
8380
8580
|
export const GetChildBillingGroupInvoiceServiceDiscountsRequestSchema: GenMessage<GetChildBillingGroupInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
8381
|
-
messageDesc(file_billing_v1_billing,
|
|
8581
|
+
messageDesc(file_billing_v1_billing, 219);
|
|
8382
8582
|
|
|
8383
8583
|
/**
|
|
8384
8584
|
* @generated from message blueapi.billing.v1.GetChildBillingGroupInvoiceServiceDiscountsResponse
|
|
@@ -8397,7 +8597,7 @@ export type GetChildBillingGroupInvoiceServiceDiscountsResponse = Message<"bluea
|
|
|
8397
8597
|
* Use `create(GetChildBillingGroupInvoiceServiceDiscountsResponseSchema)` to create a new message.
|
|
8398
8598
|
*/
|
|
8399
8599
|
export const GetChildBillingGroupInvoiceServiceDiscountsResponseSchema: GenMessage<GetChildBillingGroupInvoiceServiceDiscountsResponse> = /*@__PURE__*/
|
|
8400
|
-
messageDesc(file_billing_v1_billing,
|
|
8600
|
+
messageDesc(file_billing_v1_billing, 220);
|
|
8401
8601
|
|
|
8402
8602
|
/**
|
|
8403
8603
|
* @generated from message blueapi.billing.v1.ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest
|
|
@@ -8416,7 +8616,7 @@ export type ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest = Message
|
|
|
8416
8616
|
* Use `create(ReadChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema)` to create a new message.
|
|
8417
8617
|
*/
|
|
8418
8618
|
export const ReadChildBillingGroupAccountInvoiceServiceDiscountsRequestSchema: GenMessage<ReadChildBillingGroupAccountInvoiceServiceDiscountsRequest> = /*@__PURE__*/
|
|
8419
|
-
messageDesc(file_billing_v1_billing,
|
|
8619
|
+
messageDesc(file_billing_v1_billing, 221);
|
|
8420
8620
|
|
|
8421
8621
|
/**
|
|
8422
8622
|
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupRequest
|
|
@@ -8465,7 +8665,7 @@ export type BulkCreateBillingGroupRequest = Message<"blueapi.billing.v1.BulkCrea
|
|
|
8465
8665
|
* Use `create(BulkCreateBillingGroupRequestSchema)` to create a new message.
|
|
8466
8666
|
*/
|
|
8467
8667
|
export const BulkCreateBillingGroupRequestSchema: GenMessage<BulkCreateBillingGroupRequest> = /*@__PURE__*/
|
|
8468
|
-
messageDesc(file_billing_v1_billing,
|
|
8668
|
+
messageDesc(file_billing_v1_billing, 222);
|
|
8469
8669
|
|
|
8470
8670
|
/**
|
|
8471
8671
|
* @generated from message blueapi.billing.v1.BulkCreateBillingGroupError
|
|
@@ -8498,7 +8698,7 @@ export type BulkCreateBillingGroupError = Message<"blueapi.billing.v1.BulkCreate
|
|
|
8498
8698
|
* Use `create(BulkCreateBillingGroupErrorSchema)` to create a new message.
|
|
8499
8699
|
*/
|
|
8500
8700
|
export const BulkCreateBillingGroupErrorSchema: GenMessage<BulkCreateBillingGroupError> = /*@__PURE__*/
|
|
8501
|
-
messageDesc(file_billing_v1_billing,
|
|
8701
|
+
messageDesc(file_billing_v1_billing, 223);
|
|
8502
8702
|
|
|
8503
8703
|
/**
|
|
8504
8704
|
* Metadata for the BulkCreateBillingGroup long-running operation.
|
|
@@ -8578,7 +8778,7 @@ export type BulkCreateBillingGroupMetadata = Message<"blueapi.billing.v1.BulkCre
|
|
|
8578
8778
|
* Use `create(BulkCreateBillingGroupMetadataSchema)` to create a new message.
|
|
8579
8779
|
*/
|
|
8580
8780
|
export const BulkCreateBillingGroupMetadataSchema: GenMessage<BulkCreateBillingGroupMetadata> = /*@__PURE__*/
|
|
8581
|
-
messageDesc(file_billing_v1_billing,
|
|
8781
|
+
messageDesc(file_billing_v1_billing, 224);
|
|
8582
8782
|
|
|
8583
8783
|
/**
|
|
8584
8784
|
* A single Invoice Settings field's normalized value together with where that value came from.
|
|
@@ -8612,7 +8812,7 @@ export type NormalizedInvoiceSettingField = Message<"blueapi.billing.v1.Normaliz
|
|
|
8612
8812
|
* Use `create(NormalizedInvoiceSettingFieldSchema)` to create a new message.
|
|
8613
8813
|
*/
|
|
8614
8814
|
export const NormalizedInvoiceSettingFieldSchema: GenMessage<NormalizedInvoiceSettingField> = /*@__PURE__*/
|
|
8615
|
-
messageDesc(file_billing_v1_billing,
|
|
8815
|
+
messageDesc(file_billing_v1_billing, 225);
|
|
8616
8816
|
|
|
8617
8817
|
/**
|
|
8618
8818
|
* Server-normalized Invoice Settings for a single bulk row, as they will be (Dry-run) or were
|
|
@@ -8740,7 +8940,7 @@ export type NormalizedInvoiceSettings = Message<"blueapi.billing.v1.NormalizedIn
|
|
|
8740
8940
|
* Use `create(NormalizedInvoiceSettingsSchema)` to create a new message.
|
|
8741
8941
|
*/
|
|
8742
8942
|
export const NormalizedInvoiceSettingsSchema: GenMessage<NormalizedInvoiceSettings> = /*@__PURE__*/
|
|
8743
|
-
messageDesc(file_billing_v1_billing,
|
|
8943
|
+
messageDesc(file_billing_v1_billing, 226);
|
|
8744
8944
|
|
|
8745
8945
|
/**
|
|
8746
8946
|
* Per-row result for a bulk Create or Update Invoice Settings operation.
|
|
@@ -8817,7 +9017,7 @@ export type BulkBillingGroupInvoiceSettingsRow = Message<"blueapi.billing.v1.Bul
|
|
|
8817
9017
|
* Use `create(BulkBillingGroupInvoiceSettingsRowSchema)` to create a new message.
|
|
8818
9018
|
*/
|
|
8819
9019
|
export const BulkBillingGroupInvoiceSettingsRowSchema: GenMessage<BulkBillingGroupInvoiceSettingsRow> = /*@__PURE__*/
|
|
8820
|
-
messageDesc(file_billing_v1_billing,
|
|
9020
|
+
messageDesc(file_billing_v1_billing, 227);
|
|
8821
9021
|
|
|
8822
9022
|
/**
|
|
8823
9023
|
* @generated from message blueapi.billing.v1.BulkUpdateBillingGroupRequest
|
|
@@ -8872,7 +9072,7 @@ export type BulkUpdateBillingGroupRequest = Message<"blueapi.billing.v1.BulkUpda
|
|
|
8872
9072
|
* Use `create(BulkUpdateBillingGroupRequestSchema)` to create a new message.
|
|
8873
9073
|
*/
|
|
8874
9074
|
export const BulkUpdateBillingGroupRequestSchema: GenMessage<BulkUpdateBillingGroupRequest> = /*@__PURE__*/
|
|
8875
|
-
messageDesc(file_billing_v1_billing,
|
|
9075
|
+
messageDesc(file_billing_v1_billing, 228);
|
|
8876
9076
|
|
|
8877
9077
|
/**
|
|
8878
9078
|
* @generated from message blueapi.billing.v1.BulkUpdateBillingGroupError
|
|
@@ -8919,7 +9119,7 @@ export type BulkUpdateBillingGroupError = Message<"blueapi.billing.v1.BulkUpdate
|
|
|
8919
9119
|
* Use `create(BulkUpdateBillingGroupErrorSchema)` to create a new message.
|
|
8920
9120
|
*/
|
|
8921
9121
|
export const BulkUpdateBillingGroupErrorSchema: GenMessage<BulkUpdateBillingGroupError> = /*@__PURE__*/
|
|
8922
|
-
messageDesc(file_billing_v1_billing,
|
|
9122
|
+
messageDesc(file_billing_v1_billing, 229);
|
|
8923
9123
|
|
|
8924
9124
|
/**
|
|
8925
9125
|
* Metadata for the BulkUpdateBillingGroup long-running operation.
|
|
@@ -8998,7 +9198,7 @@ export type BulkUpdateBillingGroupMetadata = Message<"blueapi.billing.v1.BulkUpd
|
|
|
8998
9198
|
* Use `create(BulkUpdateBillingGroupMetadataSchema)` to create a new message.
|
|
8999
9199
|
*/
|
|
9000
9200
|
export const BulkUpdateBillingGroupMetadataSchema: GenMessage<BulkUpdateBillingGroupMetadata> = /*@__PURE__*/
|
|
9001
|
-
messageDesc(file_billing_v1_billing,
|
|
9201
|
+
messageDesc(file_billing_v1_billing, 230);
|
|
9002
9202
|
|
|
9003
9203
|
/**
|
|
9004
9204
|
* @generated from message blueapi.billing.v1.ExcludeServiceEntry
|
|
@@ -9073,7 +9273,7 @@ export type ExcludeServiceEntry = Message<"blueapi.billing.v1.ExcludeServiceEntr
|
|
|
9073
9273
|
* Use `create(ExcludeServiceEntrySchema)` to create a new message.
|
|
9074
9274
|
*/
|
|
9075
9275
|
export const ExcludeServiceEntrySchema: GenMessage<ExcludeServiceEntry> = /*@__PURE__*/
|
|
9076
|
-
messageDesc(file_billing_v1_billing,
|
|
9276
|
+
messageDesc(file_billing_v1_billing, 231);
|
|
9077
9277
|
|
|
9078
9278
|
/**
|
|
9079
9279
|
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryRequest
|
|
@@ -9127,7 +9327,7 @@ export type CreateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Creat
|
|
|
9127
9327
|
* Use `create(CreateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
9128
9328
|
*/
|
|
9129
9329
|
export const CreateExcludeServiceEntryRequestSchema: GenMessage<CreateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
9130
|
-
messageDesc(file_billing_v1_billing,
|
|
9330
|
+
messageDesc(file_billing_v1_billing, 232);
|
|
9131
9331
|
|
|
9132
9332
|
/**
|
|
9133
9333
|
* @generated from message blueapi.billing.v1.CreateExcludeServiceEntryResponse
|
|
@@ -9146,7 +9346,7 @@ export type CreateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Crea
|
|
|
9146
9346
|
* Use `create(CreateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
9147
9347
|
*/
|
|
9148
9348
|
export const CreateExcludeServiceEntryResponseSchema: GenMessage<CreateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
9149
|
-
messageDesc(file_billing_v1_billing,
|
|
9349
|
+
messageDesc(file_billing_v1_billing, 233);
|
|
9150
9350
|
|
|
9151
9351
|
/**
|
|
9152
9352
|
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryRequest
|
|
@@ -9200,7 +9400,7 @@ export type UpdateExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Updat
|
|
|
9200
9400
|
* Use `create(UpdateExcludeServiceEntryRequestSchema)` to create a new message.
|
|
9201
9401
|
*/
|
|
9202
9402
|
export const UpdateExcludeServiceEntryRequestSchema: GenMessage<UpdateExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
9203
|
-
messageDesc(file_billing_v1_billing,
|
|
9403
|
+
messageDesc(file_billing_v1_billing, 234);
|
|
9204
9404
|
|
|
9205
9405
|
/**
|
|
9206
9406
|
* @generated from message blueapi.billing.v1.UpdateExcludeServiceEntryResponse
|
|
@@ -9219,7 +9419,7 @@ export type UpdateExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Upda
|
|
|
9219
9419
|
* Use `create(UpdateExcludeServiceEntryResponseSchema)` to create a new message.
|
|
9220
9420
|
*/
|
|
9221
9421
|
export const UpdateExcludeServiceEntryResponseSchema: GenMessage<UpdateExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
9222
|
-
messageDesc(file_billing_v1_billing,
|
|
9422
|
+
messageDesc(file_billing_v1_billing, 235);
|
|
9223
9423
|
|
|
9224
9424
|
/**
|
|
9225
9425
|
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryRequest
|
|
@@ -9266,7 +9466,7 @@ export type DeleteExcludeServiceEntryRequest = Message<"blueapi.billing.v1.Delet
|
|
|
9266
9466
|
* Use `create(DeleteExcludeServiceEntryRequestSchema)` to create a new message.
|
|
9267
9467
|
*/
|
|
9268
9468
|
export const DeleteExcludeServiceEntryRequestSchema: GenMessage<DeleteExcludeServiceEntryRequest> = /*@__PURE__*/
|
|
9269
|
-
messageDesc(file_billing_v1_billing,
|
|
9469
|
+
messageDesc(file_billing_v1_billing, 236);
|
|
9270
9470
|
|
|
9271
9471
|
/**
|
|
9272
9472
|
* @generated from message blueapi.billing.v1.DeleteExcludeServiceEntryResponse
|
|
@@ -9285,7 +9485,7 @@ export type DeleteExcludeServiceEntryResponse = Message<"blueapi.billing.v1.Dele
|
|
|
9285
9485
|
* Use `create(DeleteExcludeServiceEntryResponseSchema)` to create a new message.
|
|
9286
9486
|
*/
|
|
9287
9487
|
export const DeleteExcludeServiceEntryResponseSchema: GenMessage<DeleteExcludeServiceEntryResponse> = /*@__PURE__*/
|
|
9288
|
-
messageDesc(file_billing_v1_billing,
|
|
9488
|
+
messageDesc(file_billing_v1_billing, 237);
|
|
9289
9489
|
|
|
9290
9490
|
/**
|
|
9291
9491
|
* @generated from message blueapi.billing.v1.ListExcludeServicesRequest
|
|
@@ -9311,7 +9511,7 @@ export type ListExcludeServicesRequest = Message<"blueapi.billing.v1.ListExclude
|
|
|
9311
9511
|
* Use `create(ListExcludeServicesRequestSchema)` to create a new message.
|
|
9312
9512
|
*/
|
|
9313
9513
|
export const ListExcludeServicesRequestSchema: GenMessage<ListExcludeServicesRequest> = /*@__PURE__*/
|
|
9314
|
-
messageDesc(file_billing_v1_billing,
|
|
9514
|
+
messageDesc(file_billing_v1_billing, 238);
|
|
9315
9515
|
|
|
9316
9516
|
/**
|
|
9317
9517
|
* @generated from message blueapi.billing.v1.ListExcludeServicesResponse
|
|
@@ -9330,7 +9530,7 @@ export type ListExcludeServicesResponse = Message<"blueapi.billing.v1.ListExclud
|
|
|
9330
9530
|
* Use `create(ListExcludeServicesResponseSchema)` to create a new message.
|
|
9331
9531
|
*/
|
|
9332
9532
|
export const ListExcludeServicesResponseSchema: GenMessage<ListExcludeServicesResponse> = /*@__PURE__*/
|
|
9333
|
-
messageDesc(file_billing_v1_billing,
|
|
9533
|
+
messageDesc(file_billing_v1_billing, 239);
|
|
9334
9534
|
|
|
9335
9535
|
/**
|
|
9336
9536
|
* Represents a single service with its associated names and SKUs.
|
|
@@ -9372,7 +9572,7 @@ export type ServiceItem = Message<"blueapi.billing.v1.ServiceItem"> & {
|
|
|
9372
9572
|
* Use `create(ServiceItemSchema)` to create a new message.
|
|
9373
9573
|
*/
|
|
9374
9574
|
export const ServiceItemSchema: GenMessage<ServiceItem> = /*@__PURE__*/
|
|
9375
|
-
messageDesc(file_billing_v1_billing,
|
|
9575
|
+
messageDesc(file_billing_v1_billing, 240);
|
|
9376
9576
|
|
|
9377
9577
|
/**
|
|
9378
9578
|
* @generated from message blueapi.billing.v1.ListServicesRequest
|
|
@@ -9401,7 +9601,7 @@ export type ListServicesRequest = Message<"blueapi.billing.v1.ListServicesReques
|
|
|
9401
9601
|
* Use `create(ListServicesRequestSchema)` to create a new message.
|
|
9402
9602
|
*/
|
|
9403
9603
|
export const ListServicesRequestSchema: GenMessage<ListServicesRequest> = /*@__PURE__*/
|
|
9404
|
-
messageDesc(file_billing_v1_billing,
|
|
9604
|
+
messageDesc(file_billing_v1_billing, 241);
|
|
9405
9605
|
|
|
9406
9606
|
/**
|
|
9407
9607
|
* @generated from message blueapi.billing.v1.ListServicesResponse
|
|
@@ -9420,7 +9620,7 @@ export type ListServicesResponse = Message<"blueapi.billing.v1.ListServicesRespo
|
|
|
9420
9620
|
* Use `create(ListServicesResponseSchema)` to create a new message.
|
|
9421
9621
|
*/
|
|
9422
9622
|
export const ListServicesResponseSchema: GenMessage<ListServicesResponse> = /*@__PURE__*/
|
|
9423
|
-
messageDesc(file_billing_v1_billing,
|
|
9623
|
+
messageDesc(file_billing_v1_billing, 242);
|
|
9424
9624
|
|
|
9425
9625
|
/**
|
|
9426
9626
|
* @generated from message blueapi.billing.v1.BulkLinkAccountRequest
|
|
@@ -9469,7 +9669,7 @@ export type BulkLinkAccountRequest = Message<"blueapi.billing.v1.BulkLinkAccount
|
|
|
9469
9669
|
* Use `create(BulkLinkAccountRequestSchema)` to create a new message.
|
|
9470
9670
|
*/
|
|
9471
9671
|
export const BulkLinkAccountRequestSchema: GenMessage<BulkLinkAccountRequest> = /*@__PURE__*/
|
|
9472
|
-
messageDesc(file_billing_v1_billing,
|
|
9672
|
+
messageDesc(file_billing_v1_billing, 243);
|
|
9473
9673
|
|
|
9474
9674
|
/**
|
|
9475
9675
|
* @generated from message blueapi.billing.v1.BulkLinkAccountError
|
|
@@ -9509,7 +9709,7 @@ export type BulkLinkAccountError = Message<"blueapi.billing.v1.BulkLinkAccountEr
|
|
|
9509
9709
|
* Use `create(BulkLinkAccountErrorSchema)` to create a new message.
|
|
9510
9710
|
*/
|
|
9511
9711
|
export const BulkLinkAccountErrorSchema: GenMessage<BulkLinkAccountError> = /*@__PURE__*/
|
|
9512
|
-
messageDesc(file_billing_v1_billing,
|
|
9712
|
+
messageDesc(file_billing_v1_billing, 244);
|
|
9513
9713
|
|
|
9514
9714
|
/**
|
|
9515
9715
|
* Metadata for the BulkLinkAccount long-running operation.
|
|
@@ -9580,7 +9780,7 @@ export type BulkLinkAccountMetadata = Message<"blueapi.billing.v1.BulkLinkAccoun
|
|
|
9580
9780
|
* Use `create(BulkLinkAccountMetadataSchema)` to create a new message.
|
|
9581
9781
|
*/
|
|
9582
9782
|
export const BulkLinkAccountMetadataSchema: GenMessage<BulkLinkAccountMetadata> = /*@__PURE__*/
|
|
9583
|
-
messageDesc(file_billing_v1_billing,
|
|
9783
|
+
messageDesc(file_billing_v1_billing, 245);
|
|
9584
9784
|
|
|
9585
9785
|
/**
|
|
9586
9786
|
* Request for BulkTagBillingGroup.
|
|
@@ -9610,7 +9810,7 @@ export type BulkTagBillingGroupRequest = Message<"blueapi.billing.v1.BulkTagBill
|
|
|
9610
9810
|
* Use `create(BulkTagBillingGroupRequestSchema)` to create a new message.
|
|
9611
9811
|
*/
|
|
9612
9812
|
export const BulkTagBillingGroupRequestSchema: GenMessage<BulkTagBillingGroupRequest> = /*@__PURE__*/
|
|
9613
|
-
messageDesc(file_billing_v1_billing,
|
|
9813
|
+
messageDesc(file_billing_v1_billing, 246);
|
|
9614
9814
|
|
|
9615
9815
|
/**
|
|
9616
9816
|
* Describes a single failed row in a BulkTagBillingGroup operation.
|
|
@@ -9666,7 +9866,7 @@ export type BulkTagBillingGroupError = Message<"blueapi.billing.v1.BulkTagBillin
|
|
|
9666
9866
|
* Use `create(BulkTagBillingGroupErrorSchema)` to create a new message.
|
|
9667
9867
|
*/
|
|
9668
9868
|
export const BulkTagBillingGroupErrorSchema: GenMessage<BulkTagBillingGroupError> = /*@__PURE__*/
|
|
9669
|
-
messageDesc(file_billing_v1_billing,
|
|
9869
|
+
messageDesc(file_billing_v1_billing, 247);
|
|
9670
9870
|
|
|
9671
9871
|
/**
|
|
9672
9872
|
* Metadata for the BulkTagBillingGroup long-running operation.
|
|
@@ -9737,7 +9937,7 @@ export type BulkTagBillingGroupMetadata = Message<"blueapi.billing.v1.BulkTagBil
|
|
|
9737
9937
|
* Use `create(BulkTagBillingGroupMetadataSchema)` to create a new message.
|
|
9738
9938
|
*/
|
|
9739
9939
|
export const BulkTagBillingGroupMetadataSchema: GenMessage<BulkTagBillingGroupMetadata> = /*@__PURE__*/
|
|
9740
|
-
messageDesc(file_billing_v1_billing,
|
|
9940
|
+
messageDesc(file_billing_v1_billing, 248);
|
|
9741
9941
|
|
|
9742
9942
|
/**
|
|
9743
9943
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -9756,7 +9956,7 @@ export type GetBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.billing
|
|
|
9756
9956
|
* Use `create(GetBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9757
9957
|
*/
|
|
9758
9958
|
export const GetBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<GetBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9759
|
-
messageDesc(file_billing_v1_billing,
|
|
9959
|
+
messageDesc(file_billing_v1_billing, 249);
|
|
9760
9960
|
|
|
9761
9961
|
/**
|
|
9762
9962
|
* @generated from message blueapi.billing.v1.GetBillingGroupInvoiceLayoutConfigResponse
|
|
@@ -9787,7 +9987,7 @@ export type GetBillingGroupInvoiceLayoutConfigResponse = Message<"blueapi.billin
|
|
|
9787
9987
|
* Use `create(GetBillingGroupInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
9788
9988
|
*/
|
|
9789
9989
|
export const GetBillingGroupInvoiceLayoutConfigResponseSchema: GenMessage<GetBillingGroupInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
9790
|
-
messageDesc(file_billing_v1_billing,
|
|
9990
|
+
messageDesc(file_billing_v1_billing, 250);
|
|
9791
9991
|
|
|
9792
9992
|
/**
|
|
9793
9993
|
* @generated from message blueapi.billing.v1.SetBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -9813,7 +10013,7 @@ export type SetBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.billing
|
|
|
9813
10013
|
* Use `create(SetBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9814
10014
|
*/
|
|
9815
10015
|
export const SetBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<SetBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9816
|
-
messageDesc(file_billing_v1_billing,
|
|
10016
|
+
messageDesc(file_billing_v1_billing, 251);
|
|
9817
10017
|
|
|
9818
10018
|
/**
|
|
9819
10019
|
* @generated from message blueapi.billing.v1.CreateInvoiceLayoutConfigRequest
|
|
@@ -9839,7 +10039,7 @@ export type CreateInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Creat
|
|
|
9839
10039
|
* Use `create(CreateInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9840
10040
|
*/
|
|
9841
10041
|
export const CreateInvoiceLayoutConfigRequestSchema: GenMessage<CreateInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9842
|
-
messageDesc(file_billing_v1_billing,
|
|
10042
|
+
messageDesc(file_billing_v1_billing, 252);
|
|
9843
10043
|
|
|
9844
10044
|
/**
|
|
9845
10045
|
* @generated from message blueapi.billing.v1.CreateInvoiceLayoutConfigResponse
|
|
@@ -9858,7 +10058,7 @@ export type CreateInvoiceLayoutConfigResponse = Message<"blueapi.billing.v1.Crea
|
|
|
9858
10058
|
* Use `create(CreateInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
9859
10059
|
*/
|
|
9860
10060
|
export const CreateInvoiceLayoutConfigResponseSchema: GenMessage<CreateInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
9861
|
-
messageDesc(file_billing_v1_billing,
|
|
10061
|
+
messageDesc(file_billing_v1_billing, 253);
|
|
9862
10062
|
|
|
9863
10063
|
/**
|
|
9864
10064
|
* @generated from message blueapi.billing.v1.UpdateInvoiceLayoutConfigRequest
|
|
@@ -9891,7 +10091,7 @@ export type UpdateInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Updat
|
|
|
9891
10091
|
* Use `create(UpdateInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9892
10092
|
*/
|
|
9893
10093
|
export const UpdateInvoiceLayoutConfigRequestSchema: GenMessage<UpdateInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9894
|
-
messageDesc(file_billing_v1_billing,
|
|
10094
|
+
messageDesc(file_billing_v1_billing, 254);
|
|
9895
10095
|
|
|
9896
10096
|
/**
|
|
9897
10097
|
* @generated from message blueapi.billing.v1.ReadInvoiceLayoutConfigRequest
|
|
@@ -9904,7 +10104,7 @@ export type ReadInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.ReadInv
|
|
|
9904
10104
|
* Use `create(ReadInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9905
10105
|
*/
|
|
9906
10106
|
export const ReadInvoiceLayoutConfigRequestSchema: GenMessage<ReadInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9907
|
-
messageDesc(file_billing_v1_billing,
|
|
10107
|
+
messageDesc(file_billing_v1_billing, 255);
|
|
9908
10108
|
|
|
9909
10109
|
/**
|
|
9910
10110
|
* @generated from message blueapi.billing.v1.ReadInvoiceLayoutConfigResponse
|
|
@@ -9935,7 +10135,7 @@ export type ReadInvoiceLayoutConfigResponse = Message<"blueapi.billing.v1.ReadIn
|
|
|
9935
10135
|
* Use `create(ReadInvoiceLayoutConfigResponseSchema)` to create a new message.
|
|
9936
10136
|
*/
|
|
9937
10137
|
export const ReadInvoiceLayoutConfigResponseSchema: GenMessage<ReadInvoiceLayoutConfigResponse> = /*@__PURE__*/
|
|
9938
|
-
messageDesc(file_billing_v1_billing,
|
|
10138
|
+
messageDesc(file_billing_v1_billing, 256);
|
|
9939
10139
|
|
|
9940
10140
|
/**
|
|
9941
10141
|
* @generated from message blueapi.billing.v1.DeleteBillingGroupInvoiceLayoutConfigRequest
|
|
@@ -9954,7 +10154,7 @@ export type DeleteBillingGroupInvoiceLayoutConfigRequest = Message<"blueapi.bill
|
|
|
9954
10154
|
* Use `create(DeleteBillingGroupInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9955
10155
|
*/
|
|
9956
10156
|
export const DeleteBillingGroupInvoiceLayoutConfigRequestSchema: GenMessage<DeleteBillingGroupInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9957
|
-
messageDesc(file_billing_v1_billing,
|
|
10157
|
+
messageDesc(file_billing_v1_billing, 257);
|
|
9958
10158
|
|
|
9959
10159
|
/**
|
|
9960
10160
|
* @generated from message blueapi.billing.v1.DeleteInvoiceLayoutConfigRequest
|
|
@@ -9973,7 +10173,7 @@ export type DeleteInvoiceLayoutConfigRequest = Message<"blueapi.billing.v1.Delet
|
|
|
9973
10173
|
* Use `create(DeleteInvoiceLayoutConfigRequestSchema)` to create a new message.
|
|
9974
10174
|
*/
|
|
9975
10175
|
export const DeleteInvoiceLayoutConfigRequestSchema: GenMessage<DeleteInvoiceLayoutConfigRequest> = /*@__PURE__*/
|
|
9976
|
-
messageDesc(file_billing_v1_billing,
|
|
10176
|
+
messageDesc(file_billing_v1_billing, 258);
|
|
9977
10177
|
|
|
9978
10178
|
/**
|
|
9979
10179
|
* @generated from message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsRequest
|
|
@@ -9992,7 +10192,7 @@ export type ListInvoiceLayoutConfigBillingGroupsRequest = Message<"blueapi.billi
|
|
|
9992
10192
|
* Use `create(ListInvoiceLayoutConfigBillingGroupsRequestSchema)` to create a new message.
|
|
9993
10193
|
*/
|
|
9994
10194
|
export const ListInvoiceLayoutConfigBillingGroupsRequestSchema: GenMessage<ListInvoiceLayoutConfigBillingGroupsRequest> = /*@__PURE__*/
|
|
9995
|
-
messageDesc(file_billing_v1_billing,
|
|
10195
|
+
messageDesc(file_billing_v1_billing, 259);
|
|
9996
10196
|
|
|
9997
10197
|
/**
|
|
9998
10198
|
* @generated from message blueapi.billing.v1.ListInvoiceLayoutConfigBillingGroupsResponse
|
|
@@ -10011,7 +10211,7 @@ export type ListInvoiceLayoutConfigBillingGroupsResponse = Message<"blueapi.bill
|
|
|
10011
10211
|
* Use `create(ListInvoiceLayoutConfigBillingGroupsResponseSchema)` to create a new message.
|
|
10012
10212
|
*/
|
|
10013
10213
|
export const ListInvoiceLayoutConfigBillingGroupsResponseSchema: GenMessage<ListInvoiceLayoutConfigBillingGroupsResponse> = /*@__PURE__*/
|
|
10014
|
-
messageDesc(file_billing_v1_billing,
|
|
10214
|
+
messageDesc(file_billing_v1_billing, 260);
|
|
10015
10215
|
|
|
10016
10216
|
/**
|
|
10017
10217
|
* Billing service definition.
|
|
@@ -11094,6 +11294,29 @@ export const Billing: GenService<{
|
|
|
11094
11294
|
input: typeof ExportInvoiceSettingCsvRequestSchema;
|
|
11095
11295
|
output: typeof ExportInvoiceSettingCsvResponseSchema;
|
|
11096
11296
|
},
|
|
11297
|
+
/**
|
|
11298
|
+
* (BETA) Previews eligible billing group counts for a layer-scoped CSV export.
|
|
11299
|
+
* Stores a short-lived selection; does not generate CSVs or download links.
|
|
11300
|
+
*
|
|
11301
|
+
* @generated from rpc blueapi.billing.v1.Billing.PreviewBillingGroupCsvExport
|
|
11302
|
+
*/
|
|
11303
|
+
previewBillingGroupCsvExport: {
|
|
11304
|
+
methodKind: "unary";
|
|
11305
|
+
input: typeof PreviewBillingGroupCsvExportRequestSchema;
|
|
11306
|
+
output: typeof PreviewBillingGroupCsvExportResponseSchema;
|
|
11307
|
+
},
|
|
11308
|
+
/**
|
|
11309
|
+
* (BETA) Exports a previously previewed billing group selection.
|
|
11310
|
+
* Uses the saved root/child IDs and layer assignments without rediscovering
|
|
11311
|
+
* hierarchy membership. All export types return a signed CSV download link.
|
|
11312
|
+
*
|
|
11313
|
+
* @generated from rpc blueapi.billing.v1.Billing.ExportPreviewedBillingGroupCsv
|
|
11314
|
+
*/
|
|
11315
|
+
exportPreviewedBillingGroupCsv: {
|
|
11316
|
+
methodKind: "unary";
|
|
11317
|
+
input: typeof ExportPreviewedBillingGroupCsvRequestSchema;
|
|
11318
|
+
output: typeof ExportPreviewedBillingGroupCsvResponseSchema;
|
|
11319
|
+
},
|
|
11097
11320
|
/**
|
|
11098
11321
|
* Update billing group basic information
|
|
11099
11322
|
*
|