@slipway-systems/sdk 0.4.0 → 0.6.0

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.
@@ -846,6 +846,13 @@ export type Runner = Message<"slipway.v1.Runner"> & {
846
846
  * @generated from field: string update_problem = 16;
847
847
  */
848
848
  updateProblem: string;
849
+ /**
850
+ * The labels the runner process reports (its configuration, replaced on every connect). The rest of `labels` were
851
+ * added through UpdateRunner and survive restarts; a reported label can only be removed in the runner's configuration.
852
+ *
853
+ * @generated from field: repeated string reported_labels = 17;
854
+ */
855
+ reportedLabels: string[];
849
856
  };
850
857
  /**
851
858
  * Describes the message slipway.v1.Runner.
@@ -1964,6 +1971,13 @@ export type CreateRegistrationTokenResponse = Message<"slipway.v1.CreateRegistra
1964
1971
  * @generated from field: string secret = 2;
1965
1972
  */
1966
1973
  secret: string;
1974
+ /**
1975
+ * The runner container image for this control plane's version (ghcr.io/slipway-systems/slipway-runner:<version>,
1976
+ * `latest` on development builds), for the install commands shown with the token.
1977
+ *
1978
+ * @generated from field: string runner_image = 3;
1979
+ */
1980
+ runnerImage: string;
1967
1981
  };
1968
1982
  /**
1969
1983
  * Describes the message slipway.v1.CreateRegistrationTokenResponse.
@@ -7,7 +7,7 @@ import { file_slipway_v1_common } from "./common_pb.js";
7
7
  /**
8
8
  * Describes the file slipway/v1/runs.proto.
9
9
  */
10
- export const file_slipway_v1_runs = /*@__PURE__*/ fileDesc("ChVzbGlwd2F5L3YxL3J1bnMucHJvdG8SCnNsaXB3YXkudjEiVAoKUnVuVHJpZ2dlchIMCgRraW5kGAEgASgJEg4KBnNvdXJjZRgCIAEoCRIoCgdwYXlsb2FkGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCL2BQoDUnVuEgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEwoLcGlwZWxpbmVfaWQYAyABKAkSFQoNcGlwZWxpbmVfbmFtZRgEIAEoCRIOCgZudW1iZXIYBSABKAMSJQoGc3RhdHVzGAYgASgOMhUuc2xpcHdheS52MS5SdW5TdGF0dXMSJwoHdHJpZ2dlchgHIAEoCzIWLnNsaXB3YXkudjEuUnVuVHJpZ2dlchIgCgVhY3RvchgIIAEoCzIRLnNsaXB3YXkudjEuQWN0b3ISHwoDZ2l0GAkgASgLMhIuc2xpcHdheS52MS5HaXRSZWYSJwoGaW5wdXRzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdhdHRlbXB0GAsgASgFEhkKEWNvbmN1cnJlbmN5X2dyb3VwGAwgASgJEhkKEWNvbmN1cnJlbmN5X3N0YXRlGA0gASgJEhUKDWVycm9yX21lc3NhZ2UYDiABKAkSEAoIcmVydW5fb2YYDyABKAkSLgoKY3JlYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLZmluaXNoZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKCGR1cmF0aW9uGBMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhgKEGNhbmNlbF9yZXF1ZXN0ZWQYFCABKAgSEgoKam9ic190b3RhbBgVIAEoBRIWCg5qb2JzX3N1Y2NlZWRlZBgWIAEoBRITCgtqb2JzX2ZhaWxlZBgXIAEoBRIUCgxqb2JzX3J1bm5pbmcYGCABKAUSIAoEam9icxgZIAMoCzISLnNsaXB3YXkudjEuUnVuSm9iEhYKDndhaXRpbmdfcmVhc29uGBogASgJIocGCgZSdW5Kb2ISCgoCaWQYASABKAkSDgoGcnVuX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEg0KBXN0YWdlGAUgASgJEigKBnN0YXR1cxgGIAEoDjIYLnNsaXB3YXkudjEuUnVuSm9iU3RhdHVzEg8KB3J1bnNfb24YByADKAkSDwoHcG9vbF9pZBgIIAEoCRIRCglydW5uZXJfaWQYCSABKAkSEwoLcnVubmVyX25hbWUYCiABKAkSDwoHYXR0ZW1wdBgLIAEoBRIUCgxtYXhfYXR0ZW1wdHMYDCABKAUSDQoFbmVlZHMYDSADKAkSJwoGbWF0cml4GA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgdvdXRwdXRzGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIWCg5lbnZpcm9ubWVudF9pZBgQIAEoCRIYChBlbnZpcm9ubWVudF9uYW1lGBEgASgJEhUKDWRlcGxveW1lbnRfaWQYEiABKAkSFQoNYWxsb3dfZmFpbHVyZRgTIAEoCBIWCg5mYWlsdXJlX3JlYXNvbhgUIAEoCRItCglxdWV1ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2ZpbmlzaGVkX2F0GBcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCghkdXJhdGlvbhgYIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIqCgd0aW1lb3V0GBkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiIKBXN0ZXBzGBogAygLMhMuc2xpcHdheS52MS5SdW5TdGVwEhQKDG1hdHJpeF9ncm91cBgbIAEoCRIWCg53YWl0aW5nX3JlYXNvbhgcIAEoCSLpAgoHUnVuU3RlcBIKCgJpZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSDwoHYXR0ZW1wdBgDIAEoBRINCgVpbmRleBgEIAEoBRIMCgRuYW1lGAUgASgJEgwKBGtpbmQYBiABKAkSKQoGc3RhdHVzGAcgASgOMhkuc2xpcHdheS52MS5SdW5TdGVwU3RhdHVzEg8KB291dGNvbWUYCCABKAkSEQoJZXhpdF9jb2RlGAkgASgFEi4KCnN0YXJ0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2ZpbmlzaGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCghkdXJhdGlvbhgMIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIWCg5sb2dfbGluZV9jb3VudBgNIAEoAxIRCglsb2dfYnl0ZXMYDiABKAMimgIKC1J1bkFydGlmYWN0EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIOCgZqb2JfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRIMCgRzaXplGAUgASgDEg4KBnNoYTI1NhgGIAEoCRIUCgxjb250ZW50X3R5cGUYByABKAkSMwoPcmV0ZW50aW9uX3VudGlsGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdleHBpcmVkGAogASgIEhMKC3BpcGVsaW5lX2lkGAsgASgJEhIKCnByb2plY3RfaWQYDCABKAki2gEKCkNhY2hlRW50cnkSCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRILCgNrZXkYAyABKAkSDQoFc2NvcGUYBCABKAkSDAoEc2l6ZRgFIAEoAxIOCgZzaGEyNTYYBiABKAkSEQoJaGl0X2NvdW50GAcgASgDEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2xhc3RfaGl0X2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKzAgoNUnVuVGVzdFJlcG9ydBIKCgJpZBgBIAEoCRIOCgZydW5faWQYAiABKAkSDgoGam9iX2lkGAMgASgJEg8KB2F0dGVtcHQYBCABKAUSKAoGZm9ybWF0GAUgASgOMhguc2xpcHdheS52MS5SZXBvcnRGb3JtYXQSDAoEbmFtZRgGIAEoCRINCgV0ZXN0cxgHIAEoBRIOCgZwYXNzZWQYCCABKAUSEAoIZmFpbHVyZXMYCSABKAUSDgoGZXJyb3JzGAogASgFEg8KB3NraXBwZWQYCyABKAUSKwoIZHVyYXRpb24YDCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi4QEKC1J1blRlc3RDYXNlEgoKAmlkGAEgASgJEhEKCXJlcG9ydF9pZBgCIAEoCRINCgVzdWl0ZRgDIAEoCRIRCgljbGFzc25hbWUYBCABKAkSDAoEbmFtZRgFIAEoCRImCgZzdGF0dXMYBiABKA4yFi5zbGlwd2F5LnYxLlRlc3RTdGF0dXMSKwoIZHVyYXRpb24YByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SDwoHbWVzc2FnZRgIIAEoCRIPCgdkZXRhaWxzGAkgASgJEgwKBGZpbGUYCiABKAkinwIKC1J1bkNvdmVyYWdlEgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIOCgZqb2JfaWQYAyABKAkSKAoGZm9ybWF0GAQgASgOMhguc2xpcHdheS52MS5SZXBvcnRGb3JtYXQSEwoLbGluZXNfdG90YWwYBSABKAMSFQoNbGluZXNfY292ZXJlZBgGIAEoAxIUCgxsaW5lX3BlcmNlbnQYByABKAESFgoOYnJhbmNoZXNfdG90YWwYCCABKAMSGAoQYnJhbmNoZXNfY292ZXJlZBgJIAEoAxIWCg5icmFuY2hfcGVyY2VudBgKIAEoARIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoNUnVuQW5ub3RhdGlvbhIKCgJpZBgBIAEoCRIOCgZydW5faWQYAiABKAkSDgoGam9iX2lkGAMgASgJEhIKCnN0ZXBfaW5kZXgYBCABKAUSKgoFbGV2ZWwYBSABKA4yGy5zbGlwd2F5LnYxLkFubm90YXRpb25MZXZlbBIMCgRmaWxlGAYgASgJEgwKBGxpbmUYByABKAUSEAoIZW5kX2xpbmUYCCABKAUSDQoFdGl0bGUYCSABKAkSDwoHbWVzc2FnZRgKIAEoCRIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLxAgoKUnVubmVyUG9vbBIKCgJpZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSKAoEa2luZBgEIAEoDjIaLnNsaXB3YXkudjEuUnVubmVyUG9vbEtpbmQSLAoIZXhlY3V0b3IYBSABKA4yGi5zbGlwd2F5LnYxLlJ1bm5lckV4ZWN1dG9yEg4KBmxhYmVscxgGIAMoCRITCgttYXhfcnVubmVycxgHIAEoBRIZChFjb25jdXJyZW5jeV9saW1pdBgIIAEoBRITCgtkZXNjcmlwdGlvbhgJIAEoCRIWCg5ydW5uZXJzX29ubGluZRgKIAEoBRIVCg1ydW5uZXJzX3RvdGFsGAsgASgFEhMKC2pvYnNfcXVldWVkGAwgASgFEhQKDGpvYnNfcnVubmluZxgNIAEoBRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLxAgoGUnVubmVyEgoKAmlkGAEgASgJEg8KB3Bvb2xfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZsYWJlbHMYBCADKAkSCgoCb3MYBSABKAkSDAoEYXJjaBgGIAEoCRIPCgd2ZXJzaW9uGAcgASgJEigKBnN0YXR1cxgIIAEoDjIYLnNsaXB3YXkudjEuUnVubmVyU3RhdHVzEhAKCGNhcGFjaXR5GAkgASgFEhMKC2FjdGl2ZV9qb2JzGAogASgFEgoKAmlwGAsgASgJEjAKDGxhc3Rfc2Vlbl9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY29tcGF0aWJsZRgOIAEoCBIWCg5zZXJ2ZXJfdmVyc2lvbhgPIAEoCRIWCg51cGRhdGVfcHJvYmxlbRgQIAEoCSLmAQoRUmVnaXN0cmF0aW9uVG9rZW4SCgoCaWQYASABKAkSDwoHcG9vbF9pZBgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRIOCgZwcmVmaXgYBCABKAkSEAoIbWF4X3VzZXMYBSABKAUSDAoEdXNlcxgGIAEoBRIPCgdyZXZva2VkGAcgASgIEi4KCmV4cGlyZXNfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkwKD0xpc3RSdW5zUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEiUKBHBhZ2UYAiABKAsyFy5zbGlwd2F5LnYxLlBhZ2VSZXF1ZXN0IloKEExpc3RSdW5zUmVzcG9uc2USHgoFaXRlbXMYASADKAsyDy5zbGlwd2F5LnYxLlJ1bhImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiGwoNR2V0UnVuUmVxdWVzdBIKCgJpZBgBIAEoCSIuCg5HZXRSdW5SZXNwb25zZRIcCgNydW4YASABKAsyDy5zbGlwd2F5LnYxLlJ1biIzCg9XYXRjaFJ1blJlcXVlc3QSCgoCaWQYASABKAkSFAoMcmVzdW1lX3Rva2VuGAIgASgJInsKEFdhdGNoUnVuUmVzcG9uc2USIwoIc25hcHNob3QYASABKAsyDy5zbGlwd2F5LnYxLlJ1bkgAEiMKBGRpZmYYAiABKAsyEy5zbGlwd2F5LnYxLlJ1bkRpZmZIABIUCgxyZXN1bWVfdG9rZW4YAyABKAlCBwoFZXZlbnQipwEKB1J1bkRpZmYSHAoDcnVuGAEgASgLMg8uc2xpcHdheS52MS5SdW4SIAoEam9icxgCIAMoCzISLnNsaXB3YXkudjEuUnVuSm9iEiIKBXN0ZXBzGAMgAygLMhMuc2xpcHdheS52MS5SdW5TdGVwEhAKCHRlcm1pbmFsGAQgASgIEiYKAmF0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCImCghSdW5JbnB1dBILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkilQEKEVRyaWdnZXJSdW5SZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSEwoLcGlwZWxpbmVfaWQYAiABKAkSCwoDcmVmGAMgASgJEgsKA3NoYRgEIAEoCRIkCgZpbnB1dHMYBSADKAsyFC5zbGlwd2F5LnYxLlJ1bklucHV0EhcKD2lkZW1wb3RlbmN5X2tleRgGIAEoCSIyChJUcmlnZ2VyUnVuUmVzcG9uc2USHAoDcnVuGAEgASgLMg8uc2xpcHdheS52MS5SdW4iLgoQQ2FuY2VsUnVuUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiMQoRQ2FuY2VsUnVuUmVzcG9uc2USHAoDcnVuGAEgASgLMg8uc2xpcHdheS52MS5SdW4iUgoPUmVydW5SdW5SZXF1ZXN0EgoKAmlkGAEgASgJEiMKBG1vZGUYAiABKA4yFS5zbGlwd2F5LnYxLlJlcnVuTW9kZRIOCgZqb2JfaWQYAyABKAkiMAoQUmVydW5SdW5SZXNwb25zZRIcCgNydW4YASABKAsyDy5zbGlwd2F5LnYxLlJ1biIuChBDYW5jZWxKb2JSZXF1ZXN0EgoKAmlkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSI0ChFDYW5jZWxKb2JSZXNwb25zZRIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLlJ1bkpvYiJICg9MaXN0Sm9ic1JlcXVlc3QSDgoGcnVuX2lkGAEgASgJEiUKBHBhZ2UYAiABKAsyFy5zbGlwd2F5LnYxLlBhZ2VSZXF1ZXN0Il0KEExpc3RKb2JzUmVzcG9uc2USIQoFaXRlbXMYASADKAsyEi5zbGlwd2F5LnYxLlJ1bkpvYhImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiLAoNR2V0Sm9iUmVxdWVzdBIKCgJpZBgBIAEoCRIPCgdhdHRlbXB0GAIgASgFIjEKDkdldEpvYlJlc3BvbnNlEh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuUnVuSm9iIjgKFkxpc3RUZXN0UmVwb3J0c1JlcXVlc3QSDgoGcnVuX2lkGAEgASgJEg4KBmpvYl9pZBgCIAEoCSJDChdMaXN0VGVzdFJlcG9ydHNSZXNwb25zZRIoCgVpdGVtcxgBIAMoCzIZLnNsaXB3YXkudjEuUnVuVGVzdFJlcG9ydCJQChRMaXN0VGVzdENhc2VzUmVxdWVzdBIRCglyZXBvcnRfaWQYASABKAkSJQoEcGFnZRgCIAEoCzIXLnNsaXB3YXkudjEuUGFnZVJlcXVlc3QiZwoVTGlzdFRlc3RDYXNlc1Jlc3BvbnNlEiYKBWl0ZW1zGAEgAygLMhcuc2xpcHdheS52MS5SdW5UZXN0Q2FzZRImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiNQoTTGlzdENvdmVyYWdlUmVxdWVzdBIOCgZydW5faWQYASABKAkSDgoGam9iX2lkGAIgASgJIj4KFExpc3RDb3ZlcmFnZVJlc3BvbnNlEiYKBWl0ZW1zGAEgAygLMhcuc2xpcHdheS52MS5SdW5Db3ZlcmFnZSJfChZMaXN0QW5ub3RhdGlvbnNSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSJQoEcGFnZRgDIAEoCzIXLnNsaXB3YXkudjEuUGFnZVJlcXVlc3QiawoXTGlzdEFubm90YXRpb25zUmVzcG9uc2USKAoFaXRlbXMYASADKAsyGS5zbGlwd2F5LnYxLlJ1bkFubm90YXRpb24SJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIkoKD0dldEJhZGdlUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3BpcGVsaW5lX2lkGAIgASgJEg4KBmJyYW5jaBgDIAEoCSLVAQoQR2V0QmFkZ2VSZXNwb25zZRIlCgZzdGF0dXMYASABKA4yFS5zbGlwd2F5LnYxLlJ1blN0YXR1cxIOCgZydW5faWQYAiABKAkSEgoKcnVuX251bWJlchgDIAEoAxIvCgtmaW5pc2hlZF9hdBgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKwoIZHVyYXRpb24YBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SGAoQc3VjY2Vzc19yYXRlXzMwZBgGIAEoASJVChlHZXRTdGVwVGltaW5nU3RhdHNSZXF1ZXN0EhMKC3BpcGVsaW5lX2lkGAEgASgJEg4KBmJyYW5jaBgCIAEoCRITCgt3aW5kb3dfcnVucxgDIAEoBSKrAgoOU3RlcFRpbWluZ1N0YXQSEAoIam9iX25hbWUYASABKAkSEgoKc3RlcF9pbmRleBgCIAEoBRIRCglzdGVwX25hbWUYAyABKAkSDwoHc2FtcGxlcxgEIAEoBRImCgNwNTAYBSABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SJgoDcDk1GAYgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEicKBG1lYW4YByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SKQoGbGF0ZXN0GAggASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhgKEHJlZ3Jlc3Npb25fcmF0aW8YCSABKAESEQoJcmVncmVzc2VkGAogASgIImAKGkdldFN0ZXBUaW1pbmdTdGF0c1Jlc3BvbnNlEikKBWl0ZW1zGAEgAygLMhouc2xpcHdheS52MS5TdGVwVGltaW5nU3RhdBIXCg9ydW5zX2NvbnNpZGVyZWQYAiABKAUiegoQSG9zdGVkU3VzcGVuc2lvbhIOCgZvcmdfaWQYASABKAkSDgoGcmVhc29uGAIgASgJEhQKDHN1c3BlbmRlZF9ieRgDIAEoCRIwCgxzdXNwZW5kZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIiwKGkdldEhvc3RlZFN1c3BlbnNpb25SZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCSJPChtHZXRIb3N0ZWRTdXNwZW5zaW9uUmVzcG9uc2USMAoKc3VzcGVuc2lvbhgBIAEoCzIcLnNsaXB3YXkudjEuSG9zdGVkU3VzcGVuc2lvbiI9ChtTdXNwZW5kSG9zdGVkUnVubmVyc1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCSJoChxTdXNwZW5kSG9zdGVkUnVubmVyc1Jlc3BvbnNlEjAKCnN1c3BlbnNpb24YASABKAsyHC5zbGlwd2F5LnYxLkhvc3RlZFN1c3BlbnNpb24SFgoOY2FuY2VsbGVkX3J1bnMYAiABKAUiLAoaUmVzdW1lSG9zdGVkUnVubmVyc1JlcXVlc3QSDgoGb3JnX2lkGAEgASgJIjQKG1Jlc3VtZUhvc3RlZFJ1bm5lcnNSZXNwb25zZRIVCg13YXNfc3VzcGVuZGVkGAEgASgIIlMKFkxpc3RSdW5uZXJQb29sc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIlCgRwYWdlGAIgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJoChdMaXN0UnVubmVyUG9vbHNSZXNwb25zZRIlCgVpdGVtcxgBIAMoCzIWLnNsaXB3YXkudjEuUnVubmVyUG9vbBImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiIgoUR2V0UnVubmVyUG9vbFJlcXVlc3QSCgoCaWQYASABKAkiPQoVR2V0UnVubmVyUG9vbFJlc3BvbnNlEiQKBHBvb2wYASABKAsyFi5zbGlwd2F5LnYxLlJ1bm5lclBvb2wi6AEKF0NyZWF0ZVJ1bm5lclBvb2xSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSDAoEbmFtZRgCIAEoCRIoCgRraW5kGAMgASgOMhouc2xpcHdheS52MS5SdW5uZXJQb29sS2luZBIsCghleGVjdXRvchgEIAEoDjIaLnNsaXB3YXkudjEuUnVubmVyRXhlY3V0b3ISDgoGbGFiZWxzGAUgAygJEhMKC21heF9ydW5uZXJzGAYgASgFEhkKEWNvbmN1cnJlbmN5X2xpbWl0GAcgASgFEhMKC2Rlc2NyaXB0aW9uGAggASgJIkAKGENyZWF0ZVJ1bm5lclBvb2xSZXNwb25zZRIkCgRwb29sGAEgASgLMhYuc2xpcHdheS52MS5SdW5uZXJQb29sIvMBChdVcGRhdGVSdW5uZXJQb29sUmVxdWVzdBIKCgJpZBgBIAEoCRIRCgRuYW1lGAIgASgJSACIAQESDgoGbGFiZWxzGAMgAygJEhYKDnJlcGxhY2VfbGFiZWxzGAQgASgIEhgKC21heF9ydW5uZXJzGAUgASgFSAGIAQESHgoRY29uY3VycmVuY3lfbGltaXQYBiABKAVIAogBARIYCgtkZXNjcmlwdGlvbhgHIAEoCUgDiAEBQgcKBV9uYW1lQg4KDF9tYXhfcnVubmVyc0IUChJfY29uY3VycmVuY3lfbGltaXRCDgoMX2Rlc2NyaXB0aW9uIkAKGFVwZGF0ZVJ1bm5lclBvb2xSZXNwb25zZRIkCgRwb29sGAEgASgLMhYuc2xpcHdheS52MS5SdW5uZXJQb29sIiUKF0RlbGV0ZVJ1bm5lclBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZVJ1bm5lclBvb2xSZXNwb25zZSKAAQoeQ3JlYXRlUmVnaXN0cmF0aW9uVG9rZW5SZXF1ZXN0Eg8KB3Bvb2xfaWQYASABKAkSEwoLZGVzY3JpcHRpb24YAiABKAkSJgoDdHRsGAMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhAKCG1heF91c2VzGAQgASgFIl8KH0NyZWF0ZVJlZ2lzdHJhdGlvblRva2VuUmVzcG9uc2USLAoFdG9rZW4YASABKAsyHS5zbGlwd2F5LnYxLlJlZ2lzdHJhdGlvblRva2VuEg4KBnNlY3JldBgCIAEoCSIwCh1MaXN0UmVnaXN0cmF0aW9uVG9rZW5zUmVxdWVzdBIPCgdwb29sX2lkGAEgASgJIk4KHkxpc3RSZWdpc3RyYXRpb25Ub2tlbnNSZXNwb25zZRIsCgVpdGVtcxgBIAMoCzIdLnNsaXB3YXkudjEuUmVnaXN0cmF0aW9uVG9rZW4iLAoeUmV2b2tlUmVnaXN0cmF0aW9uVG9rZW5SZXF1ZXN0EgoKAmlkGAEgASgJIiEKH1Jldm9rZVJlZ2lzdHJhdGlvblRva2VuUmVzcG9uc2UiTAoSTGlzdFJ1bm5lcnNSZXF1ZXN0Eg8KB3Bvb2xfaWQYASABKAkSJQoEcGFnZRgCIAEoCzIXLnNsaXB3YXkudjEuUGFnZVJlcXVlc3QiYAoTTGlzdFJ1bm5lcnNSZXNwb25zZRIhCgVpdGVtcxgBIAMoCzISLnNsaXB3YXkudjEuUnVubmVyEiYKBHBhZ2UYAiABKAsyGC5zbGlwd2F5LnYxLlBhZ2VSZXNwb25zZSIeChBHZXRSdW5uZXJSZXF1ZXN0EgoKAmlkGAEgASgJImAKEUdldFJ1bm5lclJlc3BvbnNlEiIKBnJ1bm5lchgBIAEoCzISLnNsaXB3YXkudjEuUnVubmVyEicKC2FjdGl2ZV9qb2JzGAIgAygLMhIuc2xpcHdheS52MS5SdW5Kb2IigwEKE1VwZGF0ZVJ1bm5lclJlcXVlc3QSCgoCaWQYASABKAkSEgoFZHJhaW4YAiABKAhIAIgBARIOCgZsYWJlbHMYAyADKAkSFgoOcmVwbGFjZV9sYWJlbHMYBCABKAgSEQoEbmFtZRgFIAEoCUgBiAEBQggKBl9kcmFpbkIHCgVfbmFtZSI6ChRVcGRhdGVSdW5uZXJSZXNwb25zZRIiCgZydW5uZXIYASABKAsyEi5zbGlwd2F5LnYxLlJ1bm5lciIhChNEZWxldGVSdW5uZXJSZXF1ZXN0EgoKAmlkGAEgASgJIhYKFERlbGV0ZVJ1bm5lclJlc3BvbnNlInQKB0xvZ0xpbmUSJgoCdHMYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiUKBnN0cmVhbRgCIAEoDjIVLnNsaXB3YXkudjEuTG9nU3RyZWFtEgwKBHRleHQYAyABKAkSDAoEbGluZRgEIAEoAyJ/CghMb2dDaHVuaxIOCgZqb2JfaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBRISCgpzdGVwX2luZGV4GAMgASgFEgsKA3NlcRgEIAEoAxIiCgVsaW5lcxgFIAMoCzITLnNsaXB3YXkudjEuTG9nTGluZRINCgVmaW5hbBgGIAEoCCJlCgtUYWlsUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBRISCgpzdGVwX2luZGV4GAMgASgFEhEKCWZyb21fbGluZRgEIAEoAxIOCgZmb2xsb3cYBSABKAgibQoMVGFpbFJlc3BvbnNlEhIKCnN0ZXBfaW5kZXgYASABKAUSIgoFbGluZXMYAiADKAsyEy5zbGlwd2F5LnYxLkxvZ0xpbmUSEgoKZW5kX29mX2pvYhgDIAEoCBIRCglyZXBsYXlpbmcYBCABKAgiaQoOR2V0TG9nc1JlcXVlc3QSDgoGam9iX2lkGAEgASgJEg8KB2F0dGVtcHQYAiABKAUSEgoKc3RlcF9pbmRleBgDIAEoBRITCgtvZmZzZXRfbGluZRgEIAEoAxINCgVsaW1pdBgFIAEoBSJcCg9HZXRMb2dzUmVzcG9uc2USIgoFbGluZXMYASADKAsyEy5zbGlwd2F5LnYxLkxvZ0xpbmUSEwoLdG90YWxfbGluZXMYAiABKAMSEAoIaGFzX21vcmUYAyABKAgifQoRU2VhcmNoTG9nc1JlcXVlc3QSDgoGam9iX2lkGAEgASgJEg8KB2F0dGVtcHQYAiABKAUSEgoKc3RlcF9pbmRleBgDIAEoBRINCgVxdWVyeRgEIAEoCRINCgVsaW1pdBgFIAEoBRIVCg1jb250ZXh0X2xpbmVzGAYgASgFIooBCghMb2dNYXRjaBISCgpzdGVwX2luZGV4GAEgASgFEiEKBGxpbmUYAiABKAsyEy5zbGlwd2F5LnYxLkxvZ0xpbmUSIwoGYmVmb3JlGAMgAygLMhMuc2xpcHdheS52MS5Mb2dMaW5lEiIKBWFmdGVyGAQgAygLMhMuc2xpcHdheS52MS5Mb2dMaW5lIk4KElNlYXJjaExvZ3NSZXNwb25zZRIlCgdtYXRjaGVzGAEgAygLMhQuc2xpcHdheS52MS5Mb2dNYXRjaBIRCgl0cnVuY2F0ZWQYAiABKAgiOAoVR2V0TG9nRG93bmxvYWRSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCRIPCgdhdHRlbXB0GAIgASgFIlUKFkdldExvZ0Rvd25sb2FkUmVzcG9uc2USCwoDdXJsGAEgASgJEi4KCmV4cGlyZXNfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInIKFExpc3RBcnRpZmFjdHNSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSEwoLcGlwZWxpbmVfaWQYAyABKAkSJQoEcGFnZRgEIAEoCzIXLnNsaXB3YXkudjEuUGFnZVJlcXVlc3QiZwoVTGlzdEFydGlmYWN0c1Jlc3BvbnNlEiYKBWl0ZW1zGAEgAygLMhcuc2xpcHdheS52MS5SdW5BcnRpZmFjdBImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiIAoSR2V0QXJ0aWZhY3RSZXF1ZXN0EgoKAmlkGAEgASgJIkAKE0dldEFydGlmYWN0UmVzcG9uc2USKQoIYXJ0aWZhY3QYASABKAsyFy5zbGlwd2F5LnYxLlJ1bkFydGlmYWN0IisKHUdldEFydGlmYWN0RG93bmxvYWRVcmxSZXF1ZXN0EgoKAmlkGAEgASgJIl0KHkdldEFydGlmYWN0RG93bmxvYWRVcmxSZXNwb25zZRILCgN1cmwYASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiIwoVRGVsZXRlQXJ0aWZhY3RSZXF1ZXN0EgoKAmlkGAEgASgJIhgKFkRlbGV0ZUFydGlmYWN0UmVzcG9uc2UiVAoXTGlzdENhY2hlRW50cmllc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIlCgRwYWdlGAIgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJpChhMaXN0Q2FjaGVFbnRyaWVzUmVzcG9uc2USJQoFaXRlbXMYASADKAsyFi5zbGlwd2F5LnYxLkNhY2hlRW50cnkSJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIiUKF0RlbGV0ZUNhY2hlRW50cnlSZXF1ZXN0EgoKAmlkGAEgASgJIhoKGERlbGV0ZUNhY2hlRW50cnlSZXNwb25zZSI0ChhHZXRSdW5uZXJEb3dubG9hZFJlcXVlc3QSCgoCb3MYASABKAkSDAoEYXJjaBgCIAEoCSJlChlHZXRSdW5uZXJEb3dubG9hZFJlc3BvbnNlEg8KB3ZlcnNpb24YASABKAkSCwoDdXJsGAIgASgJEg4KBnNoYTI1NhgDIAEoCRIaChJ1bmF2YWlsYWJsZV9yZWFzb24YBCABKAkitgEKD1JlZ2lzdGVyUmVxdWVzdBIaChJyZWdpc3RyYXRpb25fdG9rZW4YASABKAkSDAoEbmFtZRgCIAEoCRIOCgZsYWJlbHMYAyADKAkSCgoCb3MYBCABKAkSDAoEYXJjaBgFIAEoCRIPCgd2ZXJzaW9uGAYgASgJEhAKCGNhcGFjaXR5GAcgASgFEiwKCGV4ZWN1dG9yGAggASgOMhouc2xpcHdheS52MS5SdW5uZXJFeGVjdXRvciKxAQoQUmVnaXN0ZXJSZXNwb25zZRIRCglydW5uZXJfaWQYASABKAkSFAoMcnVubmVyX3Rva2VuGAIgASgJEg8KB3Bvb2xfaWQYAyABKAkSNQoSaGVhcnRiZWF0X2ludGVydmFsGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiwKCWxlYXNlX3R0bBgFIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiIpCgZKb2JSZWYSDgoGam9iX2lkGAEgASgJEg8KB2F0dGVtcHQYAiABKAUixAIKDkNvbm5lY3RSZXF1ZXN0EiIKBWhlbGxvGAEgASgLMhEuc2xpcHdheS52MS5IZWxsb0gAEioKCWhlYXJ0YmVhdBgCIAEoCzIVLnNsaXB3YXkudjEuSGVhcnRiZWF0SAASKwoIYWNjZXB0ZWQYAyABKAsyFy5zbGlwd2F5LnYxLkpvYkFjY2VwdGVkSAASLQoLc3RlcF91cGRhdGUYBCABKAsyFi5zbGlwd2F5LnYxLlN0ZXBVcGRhdGVIABIpCglsb2dfY2h1bmsYBSABKAsyFC5zbGlwd2F5LnYxLkxvZ0NodW5rSAASJwoGcmVzdWx0GAYgASgLMhUuc2xpcHdheS52MS5Kb2JSZXN1bHRIABIrCghyZWplY3RlZBgHIAEoCzIXLnNsaXB3YXkudjEuSm9iUmVqZWN0ZWRIAEIFCgNtc2ciPgoLSm9iUmVqZWN0ZWQSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSDgoGcmVhc29uGAIgASgJIocBCgVIZWxsbxIUCgxydW5uZXJfdG9rZW4YASABKAkSEAoIY2FwYWNpdHkYAiABKAUSDgoGbGFiZWxzGAMgAygJEg8KB3ZlcnNpb24YBCABKAkSIwoHcnVubmluZxgFIAMoCzISLnNsaXB3YXkudjEuSm9iUmVmEhAKCGRyYWluaW5nGAYgASgIImMKCUhlYXJ0YmVhdBIjCgdydW5uaW5nGAEgAygLMhIuc2xpcHdheS52MS5Kb2JSZWYSEAoIY2FwYWNpdHkYAiABKAUSEAoIZHJhaW5pbmcYAyABKAgSDQoFbm9uY2UYBCABKAkiLgoLSm9iQWNjZXB0ZWQSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYimwIKClN0ZXBVcGRhdGUSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSEgoKc3RlcF9pbmRleBgCIAEoBRIpCgZzdGF0dXMYAyABKA4yGS5zbGlwd2F5LnYxLlJ1blN0ZXBTdGF0dXMSDwoHb3V0Y29tZRgEIAEoCRIRCglleGl0X2NvZGUYBSABKAUSLgoKc3RhcnRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLZmluaXNoZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEigKB291dHB1dHMYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0IpgBCglKb2JSZXN1bHQSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSKAoGc3RhdHVzGAIgASgOMhguc2xpcHdheS52MS5SdW5Kb2JTdGF0dXMSFgoOZmFpbHVyZV9yZWFzb24YAyABKAkSKAoHb3V0cHV0cxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3Qi2AIKD0Nvbm5lY3RSZXNwb25zZRImCgd3ZWxjb21lGAEgASgLMhMuc2xpcHdheS52MS5XZWxjb21lSAASLwoKYXNzaWdubWVudBgCIAEoCzIZLnNsaXB3YXkudjEuSm9iQXNzaWdubWVudEgAEicKBmNhbmNlbBgDIAEoCzIVLnNsaXB3YXkudjEuQ2FuY2VsSm9iSAASJQoHbG9nX2FjaxgEIAEoCzISLnNsaXB3YXkudjEuTG9nQWNrSAASKAoFZXJyb3IYBSABKAsyFy5zbGlwd2F5LnYxLlNlcnZlckVycm9ySAASIgoFZHJhaW4YBiABKAsyES5zbGlwd2F5LnYxLkRyYWluSAASJQoHam9iX2FjaxgHIAEoCzISLnNsaXB3YXkudjEuSm9iQWNrSAASIAoEcG9uZxgIIAEoCzIQLnNsaXB3YXkudjEuUG9uZ0gAQgUKA21zZyKYAgoHV2VsY29tZRIRCglydW5uZXJfaWQYASABKAkSDwoHcG9vbF9pZBgCIAEoCRI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLAoJbGVhc2VfdHRsGAQgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEi8KC3NlcnZlcl90aW1lGAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIjCgdyZXZva2VkGAYgAygLMhIuc2xpcHdheS52MS5Kb2JSZWYSFgoOc2VydmVyX3ZlcnNpb24YByABKAkSFgoOam9iX2xvZ3NfYWNrZWQYCCABKAgixAcKDUpvYkFzc2lnbm1lbnQSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSEAoIbGVhc2VfaWQYAiABKAkSNAoQbGVhc2VfZXhwaXJlc19hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDgoGb3JnX2lkGAQgASgJEhIKCnByb2plY3RfaWQYBSABKAkSDgoGcnVuX2lkGAYgASgJEhIKCnJ1bl9udW1iZXIYByABKAMSEwoLcGlwZWxpbmVfaWQYCCABKAkSFQoNcGlwZWxpbmVfbmFtZRgJIAEoCRIQCghqb2JfbmFtZRgKIAEoCRIUCgxkaXNwbGF5X25hbWUYCyABKAkSDQoFc3RhZ2UYDCABKAkSHwoDZ2l0GA0gASgLMhIuc2xpcHdheS52MS5HaXRSZWYSJgoFZXZlbnQYDiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBmlucHV0cxgPIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGbWF0cml4GBAgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgVuZWVkcxgRIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJQoEc3BlYxgSIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSLwoDZW52GBMgAygLMiIuc2xpcHdheS52MS5Kb2JBc3NpZ25tZW50LkVudkVudHJ5EjcKB3NlY3JldHMYFCADKAsyJi5zbGlwd2F5LnYxLkpvYkFzc2lnbm1lbnQuU2VjcmV0c0VudHJ5EhMKC21hc2tfdmFsdWVzGBUgAygJEhAKCGlkX3Rva2VuGBYgASgJEioKB3RpbWVvdXQYFyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SGAoQZW52aXJvbm1lbnRfbmFtZRgYIAEoCRIWCg5lbnZpcm9ubWVudF9pZBgZIAEoCRIVCg1kZXBsb3ltZW50X2lkGBogASgJEg8KB2FwaV91cmwYGyABKAkSLQoMZXZhbF9jb250ZXh0GBwgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBITCgtydW5fYXR0ZW1wdBgdIAEoBRoqCghFbnZFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBGi4KDFNlY3JldHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIn0KCUNhbmNlbEpvYhIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIOCgZyZWFzb24YAiABKAkSKAoFZ3JhY2UYAyABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SFQoNYXR0ZW1wdF9lbmRlZBgEIAEoCCJQCgZMb2dBY2sSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSEgoKc3RlcF9pbmRleBgCIAEoBRIRCgl1cF90b19zZXEYAyABKAMifQoLU2VydmVyRXJyb3ISDAoEY29kZRgBIAEoCRIPCgdtZXNzYWdlGAIgASgJEg0KBWZhdGFsGAMgASgIEhEKCXJldHJ5YWJsZRgEIAEoCBIfCgNqb2IYBSABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIMCgRraW5kGAYgASgJIgcKBURyYWluInsKBkpvYkFjaxIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIMCgRraW5kGAIgASgJEhIKCnN0ZXBfaW5kZXgYAyABKAUSLgoLc3RlcF9zdGF0dXMYBCABKA4yGS5zbGlwd2F5LnYxLlJ1blN0ZXBTdGF0dXMiPQoEUG9uZxINCgVub25jZRgBIAEoCRImCgJhdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAimAEKFUNyZWF0ZUFydGlmYWN0UmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIMCgRuYW1lGAIgASgJEgwKBHNpemUYAyABKAMSFAoMY29udGVudF90eXBlGAQgASgJEiwKCXJldGVudGlvbhgFIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbiL2AQoWQ3JlYXRlQXJ0aWZhY3RSZXNwb25zZRITCgthcnRpZmFjdF9pZBgBIAEoCRISCgp1cGxvYWRfdXJsGAIgASgJEk0KDnVwbG9hZF9oZWFkZXJzGAMgAygLMjUuc2xpcHdheS52MS5DcmVhdGVBcnRpZmFjdFJlc3BvbnNlLlVwbG9hZEhlYWRlcnNFbnRyeRIuCgpleHBpcmVzX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBo0ChJVcGxvYWRIZWFkZXJzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASJtChdGaW5hbGl6ZUFydGlmYWN0UmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhITCgthcnRpZmFjdF9pZBgCIAEoCRIOCgZzaGEyNTYYAyABKAkSDAoEc2l6ZRgEIAEoAyJFChhGaW5hbGl6ZUFydGlmYWN0UmVzcG9uc2USKQoIYXJ0aWZhY3QYASABKAsyFy5zbGlwd2F5LnYxLlJ1bkFydGlmYWN0Im0KGkdldEFydGlmYWN0RG93bmxvYWRSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEg4KBnJ1bl9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEhAKCGZyb21fam9iGAQgASgJIpYBChtHZXRBcnRpZmFjdERvd25sb2FkUmVzcG9uc2USEwoLYXJ0aWZhY3RfaWQYASABKAkSFAoMZG93bmxvYWRfdXJsGAIgASgJEgwKBHNpemUYAyABKAMSDgoGc2hhMjU2GAQgASgJEi4KCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIngKEkxvb2t1cENhY2hlUmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhILCgNrZXkYAiABKAkSFAoMcmVzdG9yZV9rZXlzGAMgAygJEg0KBXNjb3BlGAQgASgJEg8KB3ZlcnNpb24YBSABKAkiegoTTG9va3VwQ2FjaGVSZXNwb25zZRILCgNoaXQYASABKAgSDQoFZXhhY3QYAiABKAgSEwoLbWF0Y2hlZF9rZXkYAyABKAkSFAoMZG93bmxvYWRfdXJsGAQgASgJEgwKBHNpemUYBSABKAMSDgoGc2hhMjU2GAYgASgJInEKE1Jlc2VydmVDYWNoZVJlcXVlc3QSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSCwoDa2V5GAIgASgJEg0KBXNjb3BlGAMgASgJEg8KB3ZlcnNpb24YBCABKAkSDAoEc2l6ZRgFIAEoAyKNAgoUUmVzZXJ2ZUNhY2hlUmVzcG9uc2USFgoOYWxyZWFkeV9leGlzdHMYASABKAgSFgoOcmVzZXJ2YXRpb25faWQYAiABKAkSEgoKdXBsb2FkX3VybBgDIAEoCRJLCg51cGxvYWRfaGVhZGVycxgEIAMoCzIzLnNsaXB3YXkudjEuUmVzZXJ2ZUNhY2hlUmVzcG9uc2UuVXBsb2FkSGVhZGVyc0VudHJ5Ei4KCmV4cGlyZXNfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGjQKElVwbG9hZEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBImsKEkNvbW1pdENhY2hlUmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIWCg5yZXNlcnZhdGlvbl9pZBgCIAEoCRIOCgZzaGEyNTYYAyABKAkSDAoEc2l6ZRgEIAEoAyI8ChNDb21taXRDYWNoZVJlc3BvbnNlEiUKBWVudHJ5GAEgASgLMhYuc2xpcHdheS52MS5DYWNoZUVudHJ5IoMBChdVcGxvYWRUZXN0UmVwb3J0UmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIoCgZmb3JtYXQYAiABKA4yGC5zbGlwd2F5LnYxLlJlcG9ydEZvcm1hdBIMCgRuYW1lGAMgASgJEg8KB2NvbnRlbnQYBCABKAwicAoYVXBsb2FkVGVzdFJlcG9ydFJlc3BvbnNlEikKBnJlcG9ydBgBIAEoCzIZLnNsaXB3YXkudjEuUnVuVGVzdFJlcG9ydBIpCghjb3ZlcmFnZRgCIAEoCzIXLnNsaXB3YXkudjEuUnVuQ292ZXJhZ2UinwEKD0Fubm90YXRpb25JbnB1dBISCgpzdGVwX2luZGV4GAEgASgFEioKBWxldmVsGAIgASgOMhsuc2xpcHdheS52MS5Bbm5vdGF0aW9uTGV2ZWwSDAoEZmlsZRgDIAEoCRIMCgRsaW5lGAQgASgFEhAKCGVuZF9saW5lGAUgASgFEg0KBXRpdGxlGAYgASgJEg8KB21lc3NhZ2UYByABKAkiagoVQWRkQW5ub3RhdGlvbnNSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEjAKC2Fubm90YXRpb25zGAIgAygLMhsuc2xpcHdheS52MS5Bbm5vdGF0aW9uSW5wdXQiKgoWQWRkQW5ub3RhdGlvbnNSZXNwb25zZRIQCghhY2NlcHRlZBgBIAEoBSJJChRJc3N1ZUpvYlRva2VuUmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIQCghhdWRpZW5jZRgCIAEoCSJWChVJc3N1ZUpvYlRva2VuUmVzcG9uc2USDQoFdG9rZW4YASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAq0QEKCVJ1blN0YXR1cxIaChZSVU5fU1RBVFVTX1VOU1BFQ0lGSUVEEAASFQoRUlVOX1NUQVRVU19RVUVVRUQQARIWChJSVU5fU1RBVFVTX1JVTk5JTkcQAhIYChRSVU5fU1RBVFVTX1NVQ0NFRURFRBADEhUKEVJVTl9TVEFUVVNfRkFJTEVEEAQSGAoUUlVOX1NUQVRVU19DQU5DRUxMRUQQBRIWChJSVU5fU1RBVFVTX1NLSVBQRUQQBhIWChJSVU5fU1RBVFVTX0VSUk9SRUQQByr0AgoMUnVuSm9iU3RhdHVzEh4KGlJVTl9KT0JfU1RBVFVTX1VOU1BFQ0lGSUVEEAASGgoWUlVOX0pPQl9TVEFUVVNfUEVORElORxABEiMKH1JVTl9KT0JfU1RBVFVTX1dBSVRJTkdfQVBQUk9WQUwQAhIZChVSVU5fSk9CX1NUQVRVU19RVUVVRUQQAxIbChdSVU5fSk9CX1NUQVRVU19BU1NJR05FRBAEEhoKFlJVTl9KT0JfU1RBVFVTX1JVTk5JTkcQBRIcChhSVU5fSk9CX1NUQVRVU19TVUNDRUVERUQQBhIZChVSVU5fSk9CX1NUQVRVU19GQUlMRUQQBxIcChhSVU5fSk9CX1NUQVRVU19DQU5DRUxMRUQQCBIaChZSVU5fSk9CX1NUQVRVU19TS0lQUEVEEAkSHAoYUlVOX0pPQl9TVEFUVVNfVElNRURfT1VUEAoSHgoaUlVOX0pPQl9TVEFUVVNfUlVOTkVSX0xPU1QQCyrhAQoNUnVuU3RlcFN0YXR1cxIfChtSVU5fU1RFUF9TVEFUVVNfVU5TUEVDSUZJRUQQABIbChdSVU5fU1RFUF9TVEFUVVNfUEVORElORxABEhsKF1JVTl9TVEVQX1NUQVRVU19SVU5OSU5HEAISHQoZUlVOX1NURVBfU1RBVFVTX1NVQ0NFRURFRBADEhoKFlJVTl9TVEVQX1NUQVRVU19GQUlMRUQQBBIbChdSVU5fU1RFUF9TVEFUVVNfU0tJUFBFRBAFEh0KGVJVTl9TVEVQX1NUQVRVU19DQU5DRUxMRUQQBiqWAQoMUnVubmVyU3RhdHVzEh0KGVJVTk5FUl9TVEFUVVNfVU5TUEVDSUZJRUQQABIYChRSVU5ORVJfU1RBVFVTX09OTElORRABEhkKFVJVTk5FUl9TVEFUVVNfT0ZGTElORRACEhYKElJVTk5FUl9TVEFUVVNfQlVTWRADEhoKFlJVTk5FUl9TVEFUVVNfRFJBSU5JTkcQBCpxCg5SdW5uZXJQb29sS2luZBIgChxSVU5ORVJfUE9PTF9LSU5EX1VOU1BFQ0lGSUVEEAASIAocUlVOTkVSX1BPT0xfS0lORF9TRUxGX0hPU1RFRBABEhsKF1JVTk5FUl9QT09MX0tJTkRfSE9TVEVEEAIqiAEKDlJ1bm5lckV4ZWN1dG9yEh8KG1JVTk5FUl9FWEVDVVRPUl9VTlNQRUNJRklFRBAAEhkKFVJVTk5FUl9FWEVDVVRPUl9TSEVMTBABEhoKFlJVTk5FUl9FWEVDVVRPUl9ET0NLRVIQAhIeChpSVU5ORVJfRVhFQ1VUT1JfS1VCRVJORVRFUxADKmwKCUxvZ1N0cmVhbRIaChZMT0dfU1RSRUFNX1VOU1BFQ0lGSUVEEAASFQoRTE9HX1NUUkVBTV9TVERPVVQQARIVChFMT0dfU1RSRUFNX1NUREVSUhACEhUKEUxPR19TVFJFQU1fU1lTVEVNEAMqiwEKClRlc3RTdGF0dXMSGwoXVEVTVF9TVEFUVVNfVU5TUEVDSUZJRUQQABIWChJURVNUX1NUQVRVU19QQVNTRUQQARIWChJURVNUX1NUQVRVU19GQUlMRUQQAhIXChNURVNUX1NUQVRVU19FUlJPUkVEEAMSFwoTVEVTVF9TVEFUVVNfU0tJUFBFRBAEKpsBCgxSZXBvcnRGb3JtYXQSHQoZUkVQT1JUX0ZPUk1BVF9VTlNQRUNJRklFRBAAEhcKE1JFUE9SVF9GT1JNQVRfSlVOSVQQARIeChpSRVBPUlRfRk9STUFUX0dPX1RFU1RfSlNPThACEhYKElJFUE9SVF9GT1JNQVRfTENPVhADEhsKF1JFUE9SVF9GT1JNQVRfQ09CRVJUVVJBEAQqigEKD0Fubm90YXRpb25MZXZlbBIgChxBTk5PVEFUSU9OX0xFVkVMX1VOU1BFQ0lGSUVEEAASGwoXQU5OT1RBVElPTl9MRVZFTF9OT1RJQ0UQARIcChhBTk5PVEFUSU9OX0xFVkVMX1dBUk5JTkcQAhIaChZBTk5PVEFUSU9OX0xFVkVMX0VSUk9SEAMqawoJUmVydW5Nb2RlEhoKFlJFUlVOX01PREVfVU5TUEVDSUZJRUQQABISCg5SRVJVTl9NT0RFX0FMTBABEhUKEVJFUlVOX01PREVfRkFJTEVEEAISFwoTUkVSVU5fTU9ERV9GUk9NX0pPQhADMpoJCgpSdW5TZXJ2aWNlEkUKCExpc3RSdW5zEhsuc2xpcHdheS52MS5MaXN0UnVuc1JlcXVlc3QaHC5zbGlwd2F5LnYxLkxpc3RSdW5zUmVzcG9uc2USPwoGR2V0UnVuEhkuc2xpcHdheS52MS5HZXRSdW5SZXF1ZXN0Ghouc2xpcHdheS52MS5HZXRSdW5SZXNwb25zZRJHCghXYXRjaFJ1bhIbLnNsaXB3YXkudjEuV2F0Y2hSdW5SZXF1ZXN0Ghwuc2xpcHdheS52MS5XYXRjaFJ1blJlc3BvbnNlMAESSwoKVHJpZ2dlclJ1bhIdLnNsaXB3YXkudjEuVHJpZ2dlclJ1blJlcXVlc3QaHi5zbGlwd2F5LnYxLlRyaWdnZXJSdW5SZXNwb25zZRJICglDYW5jZWxSdW4SHC5zbGlwd2F5LnYxLkNhbmNlbFJ1blJlcXVlc3QaHS5zbGlwd2F5LnYxLkNhbmNlbFJ1blJlc3BvbnNlEkUKCFJlcnVuUnVuEhsuc2xpcHdheS52MS5SZXJ1blJ1blJlcXVlc3QaHC5zbGlwd2F5LnYxLlJlcnVuUnVuUmVzcG9uc2USSAoJQ2FuY2VsSm9iEhwuc2xpcHdheS52MS5DYW5jZWxKb2JSZXF1ZXN0Gh0uc2xpcHdheS52MS5DYW5jZWxKb2JSZXNwb25zZRJFCghMaXN0Sm9icxIbLnNsaXB3YXkudjEuTGlzdEpvYnNSZXF1ZXN0Ghwuc2xpcHdheS52MS5MaXN0Sm9ic1Jlc3BvbnNlEj8KBkdldEpvYhIZLnNsaXB3YXkudjEuR2V0Sm9iUmVxdWVzdBoaLnNsaXB3YXkudjEuR2V0Sm9iUmVzcG9uc2USWgoPTGlzdFRlc3RSZXBvcnRzEiIuc2xpcHdheS52MS5MaXN0VGVzdFJlcG9ydHNSZXF1ZXN0GiMuc2xpcHdheS52MS5MaXN0VGVzdFJlcG9ydHNSZXNwb25zZRJUCg1MaXN0VGVzdENhc2VzEiAuc2xpcHdheS52MS5MaXN0VGVzdENhc2VzUmVxdWVzdBohLnNsaXB3YXkudjEuTGlzdFRlc3RDYXNlc1Jlc3BvbnNlElEKDExpc3RDb3ZlcmFnZRIfLnNsaXB3YXkudjEuTGlzdENvdmVyYWdlUmVxdWVzdBogLnNsaXB3YXkudjEuTGlzdENvdmVyYWdlUmVzcG9uc2USWgoPTGlzdEFubm90YXRpb25zEiIuc2xpcHdheS52MS5MaXN0QW5ub3RhdGlvbnNSZXF1ZXN0GiMuc2xpcHdheS52MS5MaXN0QW5ub3RhdGlvbnNSZXNwb25zZRJFCghHZXRCYWRnZRIbLnNsaXB3YXkudjEuR2V0QmFkZ2VSZXF1ZXN0Ghwuc2xpcHdheS52MS5HZXRCYWRnZVJlc3BvbnNlEmMKEkdldFN0ZXBUaW1pbmdTdGF0cxIlLnNsaXB3YXkudjEuR2V0U3RlcFRpbWluZ1N0YXRzUmVxdWVzdBomLnNsaXB3YXkudjEuR2V0U3RlcFRpbWluZ1N0YXRzUmVzcG9uc2UytgsKEVJ1bm5lclBvb2xTZXJ2aWNlEloKD0xpc3RSdW5uZXJQb29scxIiLnNsaXB3YXkudjEuTGlzdFJ1bm5lclBvb2xzUmVxdWVzdBojLnNsaXB3YXkudjEuTGlzdFJ1bm5lclBvb2xzUmVzcG9uc2USVAoNR2V0UnVubmVyUG9vbBIgLnNsaXB3YXkudjEuR2V0UnVubmVyUG9vbFJlcXVlc3QaIS5zbGlwd2F5LnYxLkdldFJ1bm5lclBvb2xSZXNwb25zZRJdChBDcmVhdGVSdW5uZXJQb29sEiMuc2xpcHdheS52MS5DcmVhdGVSdW5uZXJQb29sUmVxdWVzdBokLnNsaXB3YXkudjEuQ3JlYXRlUnVubmVyUG9vbFJlc3BvbnNlEl0KEFVwZGF0ZVJ1bm5lclBvb2wSIy5zbGlwd2F5LnYxLlVwZGF0ZVJ1bm5lclBvb2xSZXF1ZXN0GiQuc2xpcHdheS52MS5VcGRhdGVSdW5uZXJQb29sUmVzcG9uc2USXQoQRGVsZXRlUnVubmVyUG9vbBIjLnNsaXB3YXkudjEuRGVsZXRlUnVubmVyUG9vbFJlcXVlc3QaJC5zbGlwd2F5LnYxLkRlbGV0ZVJ1bm5lclBvb2xSZXNwb25zZRJyChdDcmVhdGVSZWdpc3RyYXRpb25Ub2tlbhIqLnNsaXB3YXkudjEuQ3JlYXRlUmVnaXN0cmF0aW9uVG9rZW5SZXF1ZXN0Gisuc2xpcHdheS52MS5DcmVhdGVSZWdpc3RyYXRpb25Ub2tlblJlc3BvbnNlEm8KFkxpc3RSZWdpc3RyYXRpb25Ub2tlbnMSKS5zbGlwd2F5LnYxLkxpc3RSZWdpc3RyYXRpb25Ub2tlbnNSZXF1ZXN0Giouc2xpcHdheS52MS5MaXN0UmVnaXN0cmF0aW9uVG9rZW5zUmVzcG9uc2UScgoXUmV2b2tlUmVnaXN0cmF0aW9uVG9rZW4SKi5zbGlwd2F5LnYxLlJldm9rZVJlZ2lzdHJhdGlvblRva2VuUmVxdWVzdBorLnNsaXB3YXkudjEuUmV2b2tlUmVnaXN0cmF0aW9uVG9rZW5SZXNwb25zZRJOCgtMaXN0UnVubmVycxIeLnNsaXB3YXkudjEuTGlzdFJ1bm5lcnNSZXF1ZXN0Gh8uc2xpcHdheS52MS5MaXN0UnVubmVyc1Jlc3BvbnNlEkgKCUdldFJ1bm5lchIcLnNsaXB3YXkudjEuR2V0UnVubmVyUmVxdWVzdBodLnNsaXB3YXkudjEuR2V0UnVubmVyUmVzcG9uc2USUQoMVXBkYXRlUnVubmVyEh8uc2xpcHdheS52MS5VcGRhdGVSdW5uZXJSZXF1ZXN0GiAuc2xpcHdheS52MS5VcGRhdGVSdW5uZXJSZXNwb25zZRJRCgxEZWxldGVSdW5uZXISHy5zbGlwd2F5LnYxLkRlbGV0ZVJ1bm5lclJlcXVlc3QaIC5zbGlwd2F5LnYxLkRlbGV0ZVJ1bm5lclJlc3BvbnNlEmYKE0dldEhvc3RlZFN1c3BlbnNpb24SJi5zbGlwd2F5LnYxLkdldEhvc3RlZFN1c3BlbnNpb25SZXF1ZXN0Gicuc2xpcHdheS52MS5HZXRIb3N0ZWRTdXNwZW5zaW9uUmVzcG9uc2USaQoUU3VzcGVuZEhvc3RlZFJ1bm5lcnMSJy5zbGlwd2F5LnYxLlN1c3BlbmRIb3N0ZWRSdW5uZXJzUmVxdWVzdBooLnNsaXB3YXkudjEuU3VzcGVuZEhvc3RlZFJ1bm5lcnNSZXNwb25zZRJmChNSZXN1bWVIb3N0ZWRSdW5uZXJzEiYuc2xpcHdheS52MS5SZXN1bWVIb3N0ZWRSdW5uZXJzUmVxdWVzdBonLnNsaXB3YXkudjEuUmVzdW1lSG9zdGVkUnVubmVyc1Jlc3BvbnNlMrMCCgpMb2dTZXJ2aWNlEjsKBFRhaWwSFy5zbGlwd2F5LnYxLlRhaWxSZXF1ZXN0Ghguc2xpcHdheS52MS5UYWlsUmVzcG9uc2UwARJCCgdHZXRMb2dzEhouc2xpcHdheS52MS5HZXRMb2dzUmVxdWVzdBobLnNsaXB3YXkudjEuR2V0TG9nc1Jlc3BvbnNlEksKClNlYXJjaExvZ3MSHS5zbGlwd2F5LnYxLlNlYXJjaExvZ3NSZXF1ZXN0Gh4uc2xpcHdheS52MS5TZWFyY2hMb2dzUmVzcG9uc2USVwoOR2V0TG9nRG93bmxvYWQSIS5zbGlwd2F5LnYxLkdldExvZ0Rvd25sb2FkUmVxdWVzdBoiLnNsaXB3YXkudjEuR2V0TG9nRG93bmxvYWRSZXNwb25zZTK/BAoPQXJ0aWZhY3RTZXJ2aWNlElQKDUxpc3RBcnRpZmFjdHMSIC5zbGlwd2F5LnYxLkxpc3RBcnRpZmFjdHNSZXF1ZXN0GiEuc2xpcHdheS52MS5MaXN0QXJ0aWZhY3RzUmVzcG9uc2USTgoLR2V0QXJ0aWZhY3QSHi5zbGlwd2F5LnYxLkdldEFydGlmYWN0UmVxdWVzdBofLnNsaXB3YXkudjEuR2V0QXJ0aWZhY3RSZXNwb25zZRJvChZHZXRBcnRpZmFjdERvd25sb2FkVXJsEikuc2xpcHdheS52MS5HZXRBcnRpZmFjdERvd25sb2FkVXJsUmVxdWVzdBoqLnNsaXB3YXkudjEuR2V0QXJ0aWZhY3REb3dubG9hZFVybFJlc3BvbnNlElcKDkRlbGV0ZUFydGlmYWN0EiEuc2xpcHdheS52MS5EZWxldGVBcnRpZmFjdFJlcXVlc3QaIi5zbGlwd2F5LnYxLkRlbGV0ZUFydGlmYWN0UmVzcG9uc2USXQoQTGlzdENhY2hlRW50cmllcxIjLnNsaXB3YXkudjEuTGlzdENhY2hlRW50cmllc1JlcXVlc3QaJC5zbGlwd2F5LnYxLkxpc3RDYWNoZUVudHJpZXNSZXNwb25zZRJdChBEZWxldGVDYWNoZUVudHJ5EiMuc2xpcHdheS52MS5EZWxldGVDYWNoZUVudHJ5UmVxdWVzdBokLnNsaXB3YXkudjEuRGVsZXRlQ2FjaGVFbnRyeVJlc3BvbnNlMqEICg1SdW5uZXJTZXJ2aWNlEkUKCFJlZ2lzdGVyEhsuc2xpcHdheS52MS5SZWdpc3RlclJlcXVlc3QaHC5zbGlwd2F5LnYxLlJlZ2lzdGVyUmVzcG9uc2USRgoHQ29ubmVjdBIaLnNsaXB3YXkudjEuQ29ubmVjdFJlcXVlc3QaGy5zbGlwd2F5LnYxLkNvbm5lY3RSZXNwb25zZSgBMAESVwoOQ3JlYXRlQXJ0aWZhY3QSIS5zbGlwd2F5LnYxLkNyZWF0ZUFydGlmYWN0UmVxdWVzdBoiLnNsaXB3YXkudjEuQ3JlYXRlQXJ0aWZhY3RSZXNwb25zZRJdChBGaW5hbGl6ZUFydGlmYWN0EiMuc2xpcHdheS52MS5GaW5hbGl6ZUFydGlmYWN0UmVxdWVzdBokLnNsaXB3YXkudjEuRmluYWxpemVBcnRpZmFjdFJlc3BvbnNlEmYKE0dldEFydGlmYWN0RG93bmxvYWQSJi5zbGlwd2F5LnYxLkdldEFydGlmYWN0RG93bmxvYWRSZXF1ZXN0Gicuc2xpcHdheS52MS5HZXRBcnRpZmFjdERvd25sb2FkUmVzcG9uc2USTgoLTG9va3VwQ2FjaGUSHi5zbGlwd2F5LnYxLkxvb2t1cENhY2hlUmVxdWVzdBofLnNsaXB3YXkudjEuTG9va3VwQ2FjaGVSZXNwb25zZRJRCgxSZXNlcnZlQ2FjaGUSHy5zbGlwd2F5LnYxLlJlc2VydmVDYWNoZVJlcXVlc3QaIC5zbGlwd2F5LnYxLlJlc2VydmVDYWNoZVJlc3BvbnNlEk4KC0NvbW1pdENhY2hlEh4uc2xpcHdheS52MS5Db21taXRDYWNoZVJlcXVlc3QaHy5zbGlwd2F5LnYxLkNvbW1pdENhY2hlUmVzcG9uc2USXQoQVXBsb2FkVGVzdFJlcG9ydBIjLnNsaXB3YXkudjEuVXBsb2FkVGVzdFJlcG9ydFJlcXVlc3QaJC5zbGlwd2F5LnYxLlVwbG9hZFRlc3RSZXBvcnRSZXNwb25zZRJXCg5BZGRBbm5vdGF0aW9ucxIhLnNsaXB3YXkudjEuQWRkQW5ub3RhdGlvbnNSZXF1ZXN0GiIuc2xpcHdheS52MS5BZGRBbm5vdGF0aW9uc1Jlc3BvbnNlElQKDUlzc3VlSm9iVG9rZW4SIC5zbGlwd2F5LnYxLklzc3VlSm9iVG9rZW5SZXF1ZXN0GiEuc2xpcHdheS52MS5Jc3N1ZUpvYlRva2VuUmVzcG9uc2USYAoRR2V0UnVubmVyRG93bmxvYWQSJC5zbGlwd2F5LnYxLkdldFJ1bm5lckRvd25sb2FkUmVxdWVzdBolLnNsaXB3YXkudjEuR2V0UnVubmVyRG93bmxvYWRSZXNwb25zZUKkAQoOY29tLnNsaXB3YXkudjFCCVJ1bnNQcm90b1ABWj5naXRodWIuY29tL3NsaXB3YXktc3lzdGVtcy9zbGlwd2F5LXNkay9nby9zbGlwd2F5L3YxO3NsaXB3YXl2MaICA1NYWKoCClNsaXB3YXkuVjHKAgpTbGlwd2F5XFYx4gIWU2xpcHdheVxWMVxHUEJNZXRhZGF0YeoCC1NsaXB3YXk6OlYxYgZwcm90bzM", [file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_slipway_v1_common]);
10
+ export const file_slipway_v1_runs = /*@__PURE__*/ fileDesc("ChVzbGlwd2F5L3YxL3J1bnMucHJvdG8SCnNsaXB3YXkudjEiVAoKUnVuVHJpZ2dlchIMCgRraW5kGAEgASgJEg4KBnNvdXJjZRgCIAEoCRIoCgdwYXlsb2FkGAMgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCL2BQoDUnVuEgoKAmlkGAEgASgJEhIKCnByb2plY3RfaWQYAiABKAkSEwoLcGlwZWxpbmVfaWQYAyABKAkSFQoNcGlwZWxpbmVfbmFtZRgEIAEoCRIOCgZudW1iZXIYBSABKAMSJQoGc3RhdHVzGAYgASgOMhUuc2xpcHdheS52MS5SdW5TdGF0dXMSJwoHdHJpZ2dlchgHIAEoCzIWLnNsaXB3YXkudjEuUnVuVHJpZ2dlchIgCgVhY3RvchgIIAEoCzIRLnNsaXB3YXkudjEuQWN0b3ISHwoDZ2l0GAkgASgLMhIuc2xpcHdheS52MS5HaXRSZWYSJwoGaW5wdXRzGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdhdHRlbXB0GAsgASgFEhkKEWNvbmN1cnJlbmN5X2dyb3VwGAwgASgJEhkKEWNvbmN1cnJlbmN5X3N0YXRlGA0gASgJEhUKDWVycm9yX21lc3NhZ2UYDiABKAkSEAoIcmVydW5fb2YYDyABKAkSLgoKY3JlYXRlZF9hdBgQIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKc3RhcnRlZF9hdBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLwoLZmluaXNoZWRfYXQYEiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKCGR1cmF0aW9uGBMgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhgKEGNhbmNlbF9yZXF1ZXN0ZWQYFCABKAgSEgoKam9ic190b3RhbBgVIAEoBRIWCg5qb2JzX3N1Y2NlZWRlZBgWIAEoBRITCgtqb2JzX2ZhaWxlZBgXIAEoBRIUCgxqb2JzX3J1bm5pbmcYGCABKAUSIAoEam9icxgZIAMoCzISLnNsaXB3YXkudjEuUnVuSm9iEhYKDndhaXRpbmdfcmVhc29uGBogASgJIocGCgZSdW5Kb2ISCgoCaWQYASABKAkSDgoGcnVuX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSFAoMZGlzcGxheV9uYW1lGAQgASgJEg0KBXN0YWdlGAUgASgJEigKBnN0YXR1cxgGIAEoDjIYLnNsaXB3YXkudjEuUnVuSm9iU3RhdHVzEg8KB3J1bnNfb24YByADKAkSDwoHcG9vbF9pZBgIIAEoCRIRCglydW5uZXJfaWQYCSABKAkSEwoLcnVubmVyX25hbWUYCiABKAkSDwoHYXR0ZW1wdBgLIAEoBRIUCgxtYXhfYXR0ZW1wdHMYDCABKAUSDQoFbmVlZHMYDSADKAkSJwoGbWF0cml4GA4gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgdvdXRwdXRzGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIWCg5lbnZpcm9ubWVudF9pZBgQIAEoCRIYChBlbnZpcm9ubWVudF9uYW1lGBEgASgJEhUKDWRlcGxveW1lbnRfaWQYEiABKAkSFQoNYWxsb3dfZmFpbHVyZRgTIAEoCBIWCg5mYWlsdXJlX3JlYXNvbhgUIAEoCRItCglxdWV1ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnN0YXJ0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2ZpbmlzaGVkX2F0GBcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCghkdXJhdGlvbhgYIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIqCgd0aW1lb3V0GBkgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiIKBXN0ZXBzGBogAygLMhMuc2xpcHdheS52MS5SdW5TdGVwEhQKDG1hdHJpeF9ncm91cBgbIAEoCRIWCg53YWl0aW5nX3JlYXNvbhgcIAEoCSLpAgoHUnVuU3RlcBIKCgJpZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkSDwoHYXR0ZW1wdBgDIAEoBRINCgVpbmRleBgEIAEoBRIMCgRuYW1lGAUgASgJEgwKBGtpbmQYBiABKAkSKQoGc3RhdHVzGAcgASgOMhkuc2xpcHdheS52MS5SdW5TdGVwU3RhdHVzEg8KB291dGNvbWUYCCABKAkSEQoJZXhpdF9jb2RlGAkgASgFEi4KCnN0YXJ0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2ZpbmlzaGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIrCghkdXJhdGlvbhgMIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIWCg5sb2dfbGluZV9jb3VudBgNIAEoAxIRCglsb2dfYnl0ZXMYDiABKAMimgIKC1J1bkFydGlmYWN0EgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIOCgZqb2JfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRIMCgRzaXplGAUgASgDEg4KBnNoYTI1NhgGIAEoCRIUCgxjb250ZW50X3R5cGUYByABKAkSMwoPcmV0ZW50aW9uX3VudGlsGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIPCgdleHBpcmVkGAogASgIEhMKC3BpcGVsaW5lX2lkGAsgASgJEhIKCnByb2plY3RfaWQYDCABKAki2gEKCkNhY2hlRW50cnkSCgoCaWQYASABKAkSEgoKcHJvamVjdF9pZBgCIAEoCRILCgNrZXkYAyABKAkSDQoFc2NvcGUYBCABKAkSDAoEc2l6ZRgFIAEoAxIOCgZzaGEyNTYYBiABKAkSEQoJaGl0X2NvdW50GAcgASgDEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi8KC2xhc3RfaGl0X2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKzAgoNUnVuVGVzdFJlcG9ydBIKCgJpZBgBIAEoCRIOCgZydW5faWQYAiABKAkSDgoGam9iX2lkGAMgASgJEg8KB2F0dGVtcHQYBCABKAUSKAoGZm9ybWF0GAUgASgOMhguc2xpcHdheS52MS5SZXBvcnRGb3JtYXQSDAoEbmFtZRgGIAEoCRINCgV0ZXN0cxgHIAEoBRIOCgZwYXNzZWQYCCABKAUSEAoIZmFpbHVyZXMYCSABKAUSDgoGZXJyb3JzGAogASgFEg8KB3NraXBwZWQYCyABKAUSKwoIZHVyYXRpb24YDCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAi4QEKC1J1blRlc3RDYXNlEgoKAmlkGAEgASgJEhEKCXJlcG9ydF9pZBgCIAEoCRINCgVzdWl0ZRgDIAEoCRIRCgljbGFzc25hbWUYBCABKAkSDAoEbmFtZRgFIAEoCRImCgZzdGF0dXMYBiABKA4yFi5zbGlwd2F5LnYxLlRlc3RTdGF0dXMSKwoIZHVyYXRpb24YByABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SDwoHbWVzc2FnZRgIIAEoCRIPCgdkZXRhaWxzGAkgASgJEgwKBGZpbGUYCiABKAkinwIKC1J1bkNvdmVyYWdlEgoKAmlkGAEgASgJEg4KBnJ1bl9pZBgCIAEoCRIOCgZqb2JfaWQYAyABKAkSKAoGZm9ybWF0GAQgASgOMhguc2xpcHdheS52MS5SZXBvcnRGb3JtYXQSEwoLbGluZXNfdG90YWwYBSABKAMSFQoNbGluZXNfY292ZXJlZBgGIAEoAxIUCgxsaW5lX3BlcmNlbnQYByABKAESFgoOYnJhbmNoZXNfdG90YWwYCCABKAMSGAoQYnJhbmNoZXNfY292ZXJlZBgJIAEoAxIWCg5icmFuY2hfcGVyY2VudBgKIAEoARIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCL5AQoNUnVuQW5ub3RhdGlvbhIKCgJpZBgBIAEoCRIOCgZydW5faWQYAiABKAkSDgoGam9iX2lkGAMgASgJEhIKCnN0ZXBfaW5kZXgYBCABKAUSKgoFbGV2ZWwYBSABKA4yGy5zbGlwd2F5LnYxLkFubm90YXRpb25MZXZlbBIMCgRmaWxlGAYgASgJEgwKBGxpbmUYByABKAUSEAoIZW5kX2xpbmUYCCABKAUSDQoFdGl0bGUYCSABKAkSDwoHbWVzc2FnZRgKIAEoCRIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCLxAgoKUnVubmVyUG9vbBIKCgJpZBgBIAEoCRISCgpwcm9qZWN0X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSKAoEa2luZBgEIAEoDjIaLnNsaXB3YXkudjEuUnVubmVyUG9vbEtpbmQSLAoIZXhlY3V0b3IYBSABKA4yGi5zbGlwd2F5LnYxLlJ1bm5lckV4ZWN1dG9yEg4KBmxhYmVscxgGIAMoCRITCgttYXhfcnVubmVycxgHIAEoBRIZChFjb25jdXJyZW5jeV9saW1pdBgIIAEoBRITCgtkZXNjcmlwdGlvbhgJIAEoCRIWCg5ydW5uZXJzX29ubGluZRgKIAEoBRIVCg1ydW5uZXJzX3RvdGFsGAsgASgFEhMKC2pvYnNfcXVldWVkGAwgASgFEhQKDGpvYnNfcnVubmluZxgNIAEoBRIuCgpjcmVhdGVkX2F0GA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKKAwoGUnVubmVyEgoKAmlkGAEgASgJEg8KB3Bvb2xfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZsYWJlbHMYBCADKAkSCgoCb3MYBSABKAkSDAoEYXJjaBgGIAEoCRIPCgd2ZXJzaW9uGAcgASgJEigKBnN0YXR1cxgIIAEoDjIYLnNsaXB3YXkudjEuUnVubmVyU3RhdHVzEhAKCGNhcGFjaXR5GAkgASgFEhMKC2FjdGl2ZV9qb2JzGAogASgFEgoKAmlwGAsgASgJEjAKDGxhc3Rfc2Vlbl9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKY3JlYXRlZF9hdBgNIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASEgoKY29tcGF0aWJsZRgOIAEoCBIWCg5zZXJ2ZXJfdmVyc2lvbhgPIAEoCRIWCg51cGRhdGVfcHJvYmxlbRgQIAEoCRIXCg9yZXBvcnRlZF9sYWJlbHMYESADKAki5gEKEVJlZ2lzdHJhdGlvblRva2VuEgoKAmlkGAEgASgJEg8KB3Bvb2xfaWQYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSDgoGcHJlZml4GAQgASgJEhAKCG1heF91c2VzGAUgASgFEgwKBHVzZXMYBiABKAUSDwoHcmV2b2tlZBgHIAEoCBIuCgpleHBpcmVzX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJMCg9MaXN0UnVuc1JlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRIlCgRwYWdlGAIgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJaChBMaXN0UnVuc1Jlc3BvbnNlEh4KBWl0ZW1zGAEgAygLMg8uc2xpcHdheS52MS5SdW4SJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIhsKDUdldFJ1blJlcXVlc3QSCgoCaWQYASABKAkiLgoOR2V0UnVuUmVzcG9uc2USHAoDcnVuGAEgASgLMg8uc2xpcHdheS52MS5SdW4iMwoPV2F0Y2hSdW5SZXF1ZXN0EgoKAmlkGAEgASgJEhQKDHJlc3VtZV90b2tlbhgCIAEoCSJ7ChBXYXRjaFJ1blJlc3BvbnNlEiMKCHNuYXBzaG90GAEgASgLMg8uc2xpcHdheS52MS5SdW5IABIjCgRkaWZmGAIgASgLMhMuc2xpcHdheS52MS5SdW5EaWZmSAASFAoMcmVzdW1lX3Rva2VuGAMgASgJQgcKBWV2ZW50IqcBCgdSdW5EaWZmEhwKA3J1bhgBIAEoCzIPLnNsaXB3YXkudjEuUnVuEiAKBGpvYnMYAiADKAsyEi5zbGlwd2F5LnYxLlJ1bkpvYhIiCgVzdGVwcxgDIAMoCzITLnNsaXB3YXkudjEuUnVuU3RlcBIQCgh0ZXJtaW5hbBgEIAEoCBImCgJhdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiJgoIUnVuSW5wdXQSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJIpUBChFUcmlnZ2VyUnVuUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEhMKC3BpcGVsaW5lX2lkGAIgASgJEgsKA3JlZhgDIAEoCRILCgNzaGEYBCABKAkSJAoGaW5wdXRzGAUgAygLMhQuc2xpcHdheS52MS5SdW5JbnB1dBIXCg9pZGVtcG90ZW5jeV9rZXkYBiABKAkiMgoSVHJpZ2dlclJ1blJlc3BvbnNlEhwKA3J1bhgBIAEoCzIPLnNsaXB3YXkudjEuUnVuIi4KEENhbmNlbFJ1blJlcXVlc3QSCgoCaWQYASABKAkSDgoGcmVhc29uGAIgASgJIjEKEUNhbmNlbFJ1blJlc3BvbnNlEhwKA3J1bhgBIAEoCzIPLnNsaXB3YXkudjEuUnVuIlIKD1JlcnVuUnVuUmVxdWVzdBIKCgJpZBgBIAEoCRIjCgRtb2RlGAIgASgOMhUuc2xpcHdheS52MS5SZXJ1bk1vZGUSDgoGam9iX2lkGAMgASgJIjAKEFJlcnVuUnVuUmVzcG9uc2USHAoDcnVuGAEgASgLMg8uc2xpcHdheS52MS5SdW4iLgoQQ2FuY2VsSm9iUmVxdWVzdBIKCgJpZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiNAoRQ2FuY2VsSm9iUmVzcG9uc2USHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5SdW5Kb2IiSAoPTGlzdEpvYnNSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIlCgRwYWdlGAIgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJdChBMaXN0Sm9ic1Jlc3BvbnNlEiEKBWl0ZW1zGAEgAygLMhIuc2xpcHdheS52MS5SdW5Kb2ISJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIiwKDUdldEpvYlJlcXVlc3QSCgoCaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBSIxCg5HZXRKb2JSZXNwb25zZRIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLlJ1bkpvYiI4ChZMaXN0VGVzdFJlcG9ydHNSZXF1ZXN0Eg4KBnJ1bl9pZBgBIAEoCRIOCgZqb2JfaWQYAiABKAkiQwoXTGlzdFRlc3RSZXBvcnRzUmVzcG9uc2USKAoFaXRlbXMYASADKAsyGS5zbGlwd2F5LnYxLlJ1blRlc3RSZXBvcnQiUAoUTGlzdFRlc3RDYXNlc1JlcXVlc3QSEQoJcmVwb3J0X2lkGAEgASgJEiUKBHBhZ2UYAiABKAsyFy5zbGlwd2F5LnYxLlBhZ2VSZXF1ZXN0ImcKFUxpc3RUZXN0Q2FzZXNSZXNwb25zZRImCgVpdGVtcxgBIAMoCzIXLnNsaXB3YXkudjEuUnVuVGVzdENhc2USJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIjUKE0xpc3RDb3ZlcmFnZVJlcXVlc3QSDgoGcnVuX2lkGAEgASgJEg4KBmpvYl9pZBgCIAEoCSI+ChRMaXN0Q292ZXJhZ2VSZXNwb25zZRImCgVpdGVtcxgBIAMoCzIXLnNsaXB3YXkudjEuUnVuQ292ZXJhZ2UiXwoWTGlzdEFubm90YXRpb25zUmVxdWVzdBIOCgZydW5faWQYASABKAkSDgoGam9iX2lkGAIgASgJEiUKBHBhZ2UYAyABKAsyFy5zbGlwd2F5LnYxLlBhZ2VSZXF1ZXN0ImsKF0xpc3RBbm5vdGF0aW9uc1Jlc3BvbnNlEigKBWl0ZW1zGAEgAygLMhkuc2xpcHdheS52MS5SdW5Bbm5vdGF0aW9uEiYKBHBhZ2UYAiABKAsyGC5zbGlwd2F5LnYxLlBhZ2VSZXNwb25zZSJKCg9HZXRCYWRnZVJlcXVlc3QSEgoKcHJvamVjdF9pZBgBIAEoCRITCgtwaXBlbGluZV9pZBgCIAEoCRIOCgZicmFuY2gYAyABKAki1QEKEEdldEJhZGdlUmVzcG9uc2USJQoGc3RhdHVzGAEgASgOMhUuc2xpcHdheS52MS5SdW5TdGF0dXMSDgoGcnVuX2lkGAIgASgJEhIKCnJ1bl9udW1iZXIYAyABKAMSLwoLZmluaXNoZWRfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEisKCGR1cmF0aW9uGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEhgKEHN1Y2Nlc3NfcmF0ZV8zMGQYBiABKAEiVQoZR2V0U3RlcFRpbWluZ1N0YXRzUmVxdWVzdBITCgtwaXBlbGluZV9pZBgBIAEoCRIOCgZicmFuY2gYAiABKAkSEwoLd2luZG93X3J1bnMYAyABKAUiqwIKDlN0ZXBUaW1pbmdTdGF0EhAKCGpvYl9uYW1lGAEgASgJEhIKCnN0ZXBfaW5kZXgYAiABKAUSEQoJc3RlcF9uYW1lGAMgASgJEg8KB3NhbXBsZXMYBCABKAUSJgoDcDUwGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEiYKA3A5NRgGIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhInCgRtZWFuGAcgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uEikKBmxhdGVzdBgIIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIYChByZWdyZXNzaW9uX3JhdGlvGAkgASgBEhEKCXJlZ3Jlc3NlZBgKIAEoCCJgChpHZXRTdGVwVGltaW5nU3RhdHNSZXNwb25zZRIpCgVpdGVtcxgBIAMoCzIaLnNsaXB3YXkudjEuU3RlcFRpbWluZ1N0YXQSFwoPcnVuc19jb25zaWRlcmVkGAIgASgFInoKEEhvc3RlZFN1c3BlbnNpb24SDgoGb3JnX2lkGAEgASgJEg4KBnJlYXNvbhgCIAEoCRIUCgxzdXNwZW5kZWRfYnkYAyABKAkSMAoMc3VzcGVuZGVkX2F0GAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIsChpHZXRIb3N0ZWRTdXNwZW5zaW9uUmVxdWVzdBIOCgZvcmdfaWQYASABKAkiTwobR2V0SG9zdGVkU3VzcGVuc2lvblJlc3BvbnNlEjAKCnN1c3BlbnNpb24YASABKAsyHC5zbGlwd2F5LnYxLkhvc3RlZFN1c3BlbnNpb24iPQobU3VzcGVuZEhvc3RlZFJ1bm5lcnNSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCRIOCgZyZWFzb24YAiABKAkiaAocU3VzcGVuZEhvc3RlZFJ1bm5lcnNSZXNwb25zZRIwCgpzdXNwZW5zaW9uGAEgASgLMhwuc2xpcHdheS52MS5Ib3N0ZWRTdXNwZW5zaW9uEhYKDmNhbmNlbGxlZF9ydW5zGAIgASgFIiwKGlJlc3VtZUhvc3RlZFJ1bm5lcnNSZXF1ZXN0Eg4KBm9yZ19pZBgBIAEoCSI0ChtSZXN1bWVIb3N0ZWRSdW5uZXJzUmVzcG9uc2USFQoNd2FzX3N1c3BlbmRlZBgBIAEoCCJTChZMaXN0UnVubmVyUG9vbHNSZXF1ZXN0EhIKCnByb2plY3RfaWQYASABKAkSJQoEcGFnZRgCIAEoCzIXLnNsaXB3YXkudjEuUGFnZVJlcXVlc3QiaAoXTGlzdFJ1bm5lclBvb2xzUmVzcG9uc2USJQoFaXRlbXMYASADKAsyFi5zbGlwd2F5LnYxLlJ1bm5lclBvb2wSJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIiIKFEdldFJ1bm5lclBvb2xSZXF1ZXN0EgoKAmlkGAEgASgJIj0KFUdldFJ1bm5lclBvb2xSZXNwb25zZRIkCgRwb29sGAEgASgLMhYuc2xpcHdheS52MS5SdW5uZXJQb29sIugBChdDcmVhdGVSdW5uZXJQb29sUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEgwKBG5hbWUYAiABKAkSKAoEa2luZBgDIAEoDjIaLnNsaXB3YXkudjEuUnVubmVyUG9vbEtpbmQSLAoIZXhlY3V0b3IYBCABKA4yGi5zbGlwd2F5LnYxLlJ1bm5lckV4ZWN1dG9yEg4KBmxhYmVscxgFIAMoCRITCgttYXhfcnVubmVycxgGIAEoBRIZChFjb25jdXJyZW5jeV9saW1pdBgHIAEoBRITCgtkZXNjcmlwdGlvbhgIIAEoCSJAChhDcmVhdGVSdW5uZXJQb29sUmVzcG9uc2USJAoEcG9vbBgBIAEoCzIWLnNsaXB3YXkudjEuUnVubmVyUG9vbCLzAQoXVXBkYXRlUnVubmVyUG9vbFJlcXVlc3QSCgoCaWQYASABKAkSEQoEbmFtZRgCIAEoCUgAiAEBEg4KBmxhYmVscxgDIAMoCRIWCg5yZXBsYWNlX2xhYmVscxgEIAEoCBIYCgttYXhfcnVubmVycxgFIAEoBUgBiAEBEh4KEWNvbmN1cnJlbmN5X2xpbWl0GAYgASgFSAKIAQESGAoLZGVzY3JpcHRpb24YByABKAlIA4gBAUIHCgVfbmFtZUIOCgxfbWF4X3J1bm5lcnNCFAoSX2NvbmN1cnJlbmN5X2xpbWl0Qg4KDF9kZXNjcmlwdGlvbiJAChhVcGRhdGVSdW5uZXJQb29sUmVzcG9uc2USJAoEcG9vbBgBIAEoCzIWLnNsaXB3YXkudjEuUnVubmVyUG9vbCIlChdEZWxldGVSdW5uZXJQb29sUmVxdWVzdBIKCgJpZBgBIAEoCSIaChhEZWxldGVSdW5uZXJQb29sUmVzcG9uc2UigAEKHkNyZWF0ZVJlZ2lzdHJhdGlvblRva2VuUmVxdWVzdBIPCgdwb29sX2lkGAEgASgJEhMKC2Rlc2NyaXB0aW9uGAIgASgJEiYKA3R0bBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIQCghtYXhfdXNlcxgEIAEoBSJ1Ch9DcmVhdGVSZWdpc3RyYXRpb25Ub2tlblJlc3BvbnNlEiwKBXRva2VuGAEgASgLMh0uc2xpcHdheS52MS5SZWdpc3RyYXRpb25Ub2tlbhIOCgZzZWNyZXQYAiABKAkSFAoMcnVubmVyX2ltYWdlGAMgASgJIjAKHUxpc3RSZWdpc3RyYXRpb25Ub2tlbnNSZXF1ZXN0Eg8KB3Bvb2xfaWQYASABKAkiTgoeTGlzdFJlZ2lzdHJhdGlvblRva2Vuc1Jlc3BvbnNlEiwKBWl0ZW1zGAEgAygLMh0uc2xpcHdheS52MS5SZWdpc3RyYXRpb25Ub2tlbiIsCh5SZXZva2VSZWdpc3RyYXRpb25Ub2tlblJlcXVlc3QSCgoCaWQYASABKAkiIQofUmV2b2tlUmVnaXN0cmF0aW9uVG9rZW5SZXNwb25zZSJMChJMaXN0UnVubmVyc1JlcXVlc3QSDwoHcG9vbF9pZBgBIAEoCRIlCgRwYWdlGAIgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJgChNMaXN0UnVubmVyc1Jlc3BvbnNlEiEKBWl0ZW1zGAEgAygLMhIuc2xpcHdheS52MS5SdW5uZXISJgoEcGFnZRgCIAEoCzIYLnNsaXB3YXkudjEuUGFnZVJlc3BvbnNlIh4KEEdldFJ1bm5lclJlcXVlc3QSCgoCaWQYASABKAkiYAoRR2V0UnVubmVyUmVzcG9uc2USIgoGcnVubmVyGAEgASgLMhIuc2xpcHdheS52MS5SdW5uZXISJwoLYWN0aXZlX2pvYnMYAiADKAsyEi5zbGlwd2F5LnYxLlJ1bkpvYiKDAQoTVXBkYXRlUnVubmVyUmVxdWVzdBIKCgJpZBgBIAEoCRISCgVkcmFpbhgCIAEoCEgAiAEBEg4KBmxhYmVscxgDIAMoCRIWCg5yZXBsYWNlX2xhYmVscxgEIAEoCBIRCgRuYW1lGAUgASgJSAGIAQFCCAoGX2RyYWluQgcKBV9uYW1lIjoKFFVwZGF0ZVJ1bm5lclJlc3BvbnNlEiIKBnJ1bm5lchgBIAEoCzISLnNsaXB3YXkudjEuUnVubmVyIiEKE0RlbGV0ZVJ1bm5lclJlcXVlc3QSCgoCaWQYASABKAkiFgoURGVsZXRlUnVubmVyUmVzcG9uc2UidAoHTG9nTGluZRImCgJ0cxgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJQoGc3RyZWFtGAIgASgOMhUuc2xpcHdheS52MS5Mb2dTdHJlYW0SDAoEdGV4dBgDIAEoCRIMCgRsaW5lGAQgASgDIn8KCExvZ0NodW5rEg4KBmpvYl9pZBgBIAEoCRIPCgdhdHRlbXB0GAIgASgFEhIKCnN0ZXBfaW5kZXgYAyABKAUSCwoDc2VxGAQgASgDEiIKBWxpbmVzGAUgAygLMhMuc2xpcHdheS52MS5Mb2dMaW5lEg0KBWZpbmFsGAYgASgIImUKC1RhaWxSZXF1ZXN0Eg4KBmpvYl9pZBgBIAEoCRIPCgdhdHRlbXB0GAIgASgFEhIKCnN0ZXBfaW5kZXgYAyABKAUSEQoJZnJvbV9saW5lGAQgASgDEg4KBmZvbGxvdxgFIAEoCCJtCgxUYWlsUmVzcG9uc2USEgoKc3RlcF9pbmRleBgBIAEoBRIiCgVsaW5lcxgCIAMoCzITLnNsaXB3YXkudjEuTG9nTGluZRISCgplbmRfb2Zfam9iGAMgASgIEhEKCXJlcGxheWluZxgEIAEoCCJpCg5HZXRMb2dzUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBRISCgpzdGVwX2luZGV4GAMgASgFEhMKC29mZnNldF9saW5lGAQgASgDEg0KBWxpbWl0GAUgASgFIlwKD0dldExvZ3NSZXNwb25zZRIiCgVsaW5lcxgBIAMoCzITLnNsaXB3YXkudjEuTG9nTGluZRITCgt0b3RhbF9saW5lcxgCIAEoAxIQCghoYXNfbW9yZRgDIAEoCCJ9ChFTZWFyY2hMb2dzUmVxdWVzdBIOCgZqb2JfaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBRISCgpzdGVwX2luZGV4GAMgASgFEg0KBXF1ZXJ5GAQgASgJEg0KBWxpbWl0GAUgASgFEhUKDWNvbnRleHRfbGluZXMYBiABKAUiigEKCExvZ01hdGNoEhIKCnN0ZXBfaW5kZXgYASABKAUSIQoEbGluZRgCIAEoCzITLnNsaXB3YXkudjEuTG9nTGluZRIjCgZiZWZvcmUYAyADKAsyEy5zbGlwd2F5LnYxLkxvZ0xpbmUSIgoFYWZ0ZXIYBCADKAsyEy5zbGlwd2F5LnYxLkxvZ0xpbmUiTgoSU2VhcmNoTG9nc1Jlc3BvbnNlEiUKB21hdGNoZXMYASADKAsyFC5zbGlwd2F5LnYxLkxvZ01hdGNoEhEKCXRydW5jYXRlZBgCIAEoCCI4ChVHZXRMb2dEb3dubG9hZFJlcXVlc3QSDgoGam9iX2lkGAEgASgJEg8KB2F0dGVtcHQYAiABKAUiVQoWR2V0TG9nRG93bmxvYWRSZXNwb25zZRILCgN1cmwYASABKAkSLgoKZXhwaXJlc19hdBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAicgoUTGlzdEFydGlmYWN0c1JlcXVlc3QSDgoGcnVuX2lkGAEgASgJEg4KBmpvYl9pZBgCIAEoCRITCgtwaXBlbGluZV9pZBgDIAEoCRIlCgRwYWdlGAQgASgLMhcuc2xpcHdheS52MS5QYWdlUmVxdWVzdCJnChVMaXN0QXJ0aWZhY3RzUmVzcG9uc2USJgoFaXRlbXMYASADKAsyFy5zbGlwd2F5LnYxLlJ1bkFydGlmYWN0EiYKBHBhZ2UYAiABKAsyGC5zbGlwd2F5LnYxLlBhZ2VSZXNwb25zZSIgChJHZXRBcnRpZmFjdFJlcXVlc3QSCgoCaWQYASABKAkiQAoTR2V0QXJ0aWZhY3RSZXNwb25zZRIpCghhcnRpZmFjdBgBIAEoCzIXLnNsaXB3YXkudjEuUnVuQXJ0aWZhY3QiKwodR2V0QXJ0aWZhY3REb3dubG9hZFVybFJlcXVlc3QSCgoCaWQYASABKAkiXQoeR2V0QXJ0aWZhY3REb3dubG9hZFVybFJlc3BvbnNlEgsKA3VybBgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIjChVEZWxldGVBcnRpZmFjdFJlcXVlc3QSCgoCaWQYASABKAkiGAoWRGVsZXRlQXJ0aWZhY3RSZXNwb25zZSJUChdMaXN0Q2FjaGVFbnRyaWVzUmVxdWVzdBISCgpwcm9qZWN0X2lkGAEgASgJEiUKBHBhZ2UYAiABKAsyFy5zbGlwd2F5LnYxLlBhZ2VSZXF1ZXN0ImkKGExpc3RDYWNoZUVudHJpZXNSZXNwb25zZRIlCgVpdGVtcxgBIAMoCzIWLnNsaXB3YXkudjEuQ2FjaGVFbnRyeRImCgRwYWdlGAIgASgLMhguc2xpcHdheS52MS5QYWdlUmVzcG9uc2UiJQoXRGVsZXRlQ2FjaGVFbnRyeVJlcXVlc3QSCgoCaWQYASABKAkiGgoYRGVsZXRlQ2FjaGVFbnRyeVJlc3BvbnNlIjQKGEdldFJ1bm5lckRvd25sb2FkUmVxdWVzdBIKCgJvcxgBIAEoCRIMCgRhcmNoGAIgASgJImUKGUdldFJ1bm5lckRvd25sb2FkUmVzcG9uc2USDwoHdmVyc2lvbhgBIAEoCRILCgN1cmwYAiABKAkSDgoGc2hhMjU2GAMgASgJEhoKEnVuYXZhaWxhYmxlX3JlYXNvbhgEIAEoCSK2AQoPUmVnaXN0ZXJSZXF1ZXN0EhoKEnJlZ2lzdHJhdGlvbl90b2tlbhgBIAEoCRIMCgRuYW1lGAIgASgJEg4KBmxhYmVscxgDIAMoCRIKCgJvcxgEIAEoCRIMCgRhcmNoGAUgASgJEg8KB3ZlcnNpb24YBiABKAkSEAoIY2FwYWNpdHkYByABKAUSLAoIZXhlY3V0b3IYCCABKA4yGi5zbGlwd2F5LnYxLlJ1bm5lckV4ZWN1dG9yIrEBChBSZWdpc3RlclJlc3BvbnNlEhEKCXJ1bm5lcl9pZBgBIAEoCRIUCgxydW5uZXJfdG9rZW4YAiABKAkSDwoHcG9vbF9pZBgDIAEoCRI1ChJoZWFydGJlYXRfaW50ZXJ2YWwYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLAoJbGVhc2VfdHRsGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIikKBkpvYlJlZhIOCgZqb2JfaWQYASABKAkSDwoHYXR0ZW1wdBgCIAEoBSLEAgoOQ29ubmVjdFJlcXVlc3QSIgoFaGVsbG8YASABKAsyES5zbGlwd2F5LnYxLkhlbGxvSAASKgoJaGVhcnRiZWF0GAIgASgLMhUuc2xpcHdheS52MS5IZWFydGJlYXRIABIrCghhY2NlcHRlZBgDIAEoCzIXLnNsaXB3YXkudjEuSm9iQWNjZXB0ZWRIABItCgtzdGVwX3VwZGF0ZRgEIAEoCzIWLnNsaXB3YXkudjEuU3RlcFVwZGF0ZUgAEikKCWxvZ19jaHVuaxgFIAEoCzIULnNsaXB3YXkudjEuTG9nQ2h1bmtIABInCgZyZXN1bHQYBiABKAsyFS5zbGlwd2F5LnYxLkpvYlJlc3VsdEgAEisKCHJlamVjdGVkGAcgASgLMhcuc2xpcHdheS52MS5Kb2JSZWplY3RlZEgAQgUKA21zZyI+CgtKb2JSZWplY3RlZBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIOCgZyZWFzb24YAiABKAkihwEKBUhlbGxvEhQKDHJ1bm5lcl90b2tlbhgBIAEoCRIQCghjYXBhY2l0eRgCIAEoBRIOCgZsYWJlbHMYAyADKAkSDwoHdmVyc2lvbhgEIAEoCRIjCgdydW5uaW5nGAUgAygLMhIuc2xpcHdheS52MS5Kb2JSZWYSEAoIZHJhaW5pbmcYBiABKAgiYwoJSGVhcnRiZWF0EiMKB3J1bm5pbmcYASADKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIQCghjYXBhY2l0eRgCIAEoBRIQCghkcmFpbmluZxgDIAEoCBINCgVub25jZRgEIAEoCSIuCgtKb2JBY2NlcHRlZBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZiKbAgoKU3RlcFVwZGF0ZRIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhISCgpzdGVwX2luZGV4GAIgASgFEikKBnN0YXR1cxgDIAEoDjIZLnNsaXB3YXkudjEuUnVuU3RlcFN0YXR1cxIPCgdvdXRjb21lGAQgASgJEhEKCWV4aXRfY29kZRgFIAEoBRIuCgpzdGFydGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIvCgtmaW5pc2hlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASKAoHb3V0cHV0cxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QimAEKCUpvYlJlc3VsdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIoCgZzdGF0dXMYAiABKA4yGC5zbGlwd2F5LnYxLlJ1bkpvYlN0YXR1cxIWCg5mYWlsdXJlX3JlYXNvbhgDIAEoCRIoCgdvdXRwdXRzGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCLYAgoPQ29ubmVjdFJlc3BvbnNlEiYKB3dlbGNvbWUYASABKAsyEy5zbGlwd2F5LnYxLldlbGNvbWVIABIvCgphc3NpZ25tZW50GAIgASgLMhkuc2xpcHdheS52MS5Kb2JBc3NpZ25tZW50SAASJwoGY2FuY2VsGAMgASgLMhUuc2xpcHdheS52MS5DYW5jZWxKb2JIABIlCgdsb2dfYWNrGAQgASgLMhIuc2xpcHdheS52MS5Mb2dBY2tIABIoCgVlcnJvchgFIAEoCzIXLnNsaXB3YXkudjEuU2VydmVyRXJyb3JIABIiCgVkcmFpbhgGIAEoCzIRLnNsaXB3YXkudjEuRHJhaW5IABIlCgdqb2JfYWNrGAcgASgLMhIuc2xpcHdheS52MS5Kb2JBY2tIABIgCgRwb25nGAggASgLMhAuc2xpcHdheS52MS5Qb25nSABCBQoDbXNnIpgCCgdXZWxjb21lEhEKCXJ1bm5lcl9pZBgBIAEoCRIPCgdwb29sX2lkGAIgASgJEjUKEmhlYXJ0YmVhdF9pbnRlcnZhbBgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIsCglsZWFzZV90dGwYBCABKAsyGS5nb29nbGUucHJvdG9idWYuRHVyYXRpb24SLwoLc2VydmVyX3RpbWUYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEiMKB3Jldm9rZWQYBiADKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIWCg5zZXJ2ZXJfdmVyc2lvbhgHIAEoCRIWCg5qb2JfbG9nc19hY2tlZBgIIAEoCCLEBwoNSm9iQXNzaWdubWVudBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhIQCghsZWFzZV9pZBgCIAEoCRI0ChBsZWFzZV9leHBpcmVzX2F0GAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIOCgZvcmdfaWQYBCABKAkSEgoKcHJvamVjdF9pZBgFIAEoCRIOCgZydW5faWQYBiABKAkSEgoKcnVuX251bWJlchgHIAEoAxITCgtwaXBlbGluZV9pZBgIIAEoCRIVCg1waXBlbGluZV9uYW1lGAkgASgJEhAKCGpvYl9uYW1lGAogASgJEhQKDGRpc3BsYXlfbmFtZRgLIAEoCRINCgVzdGFnZRgMIAEoCRIfCgNnaXQYDSABKAsyEi5zbGlwd2F5LnYxLkdpdFJlZhImCgVldmVudBgOIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGaW5wdXRzGA8gASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgZtYXRyaXgYECABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBW5lZWRzGBEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIlCgRzcGVjGBIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIvCgNlbnYYEyADKAsyIi5zbGlwd2F5LnYxLkpvYkFzc2lnbm1lbnQuRW52RW50cnkSNwoHc2VjcmV0cxgUIAMoCzImLnNsaXB3YXkudjEuSm9iQXNzaWdubWVudC5TZWNyZXRzRW50cnkSEwoLbWFza192YWx1ZXMYFSADKAkSEAoIaWRfdG9rZW4YFiABKAkSKgoHdGltZW91dBgXIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIYChBlbnZpcm9ubWVudF9uYW1lGBggASgJEhYKDmVudmlyb25tZW50X2lkGBkgASgJEhUKDWRlcGxveW1lbnRfaWQYGiABKAkSDwoHYXBpX3VybBgbIAEoCRItCgxldmFsX2NvbnRleHQYHCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EhMKC3J1bl9hdHRlbXB0GB0gASgFGioKCEVudkVudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLgoMU2VjcmV0c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEifQoJQ2FuY2VsSm9iEh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEg4KBnJlYXNvbhgCIAEoCRIoCgVncmFjZRgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbhIVCg1hdHRlbXB0X2VuZGVkGAQgASgIIlAKBkxvZ0FjaxIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhISCgpzdGVwX2luZGV4GAIgASgFEhEKCXVwX3RvX3NlcRgDIAEoAyJ9CgtTZXJ2ZXJFcnJvchIMCgRjb2RlGAEgASgJEg8KB21lc3NhZ2UYAiABKAkSDQoFZmF0YWwYAyABKAgSEQoJcmV0cnlhYmxlGAQgASgIEh8KA2pvYhgFIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEgwKBGtpbmQYBiABKAkiBwoFRHJhaW4iewoGSm9iQWNrEh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEgwKBGtpbmQYAiABKAkSEgoKc3RlcF9pbmRleBgDIAEoBRIuCgtzdGVwX3N0YXR1cxgEIAEoDjIZLnNsaXB3YXkudjEuUnVuU3RlcFN0YXR1cyI9CgRQb25nEg0KBW5vbmNlGAEgASgJEiYKAmF0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKYAQoVQ3JlYXRlQXJ0aWZhY3RSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEgwKBG5hbWUYAiABKAkSDAoEc2l6ZRgDIAEoAxIUCgxjb250ZW50X3R5cGUYBCABKAkSLAoJcmV0ZW50aW9uGAUgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uIvYBChZDcmVhdGVBcnRpZmFjdFJlc3BvbnNlEhMKC2FydGlmYWN0X2lkGAEgASgJEhIKCnVwbG9hZF91cmwYAiABKAkSTQoOdXBsb2FkX2hlYWRlcnMYAyADKAsyNS5zbGlwd2F5LnYxLkNyZWF0ZUFydGlmYWN0UmVzcG9uc2UuVXBsb2FkSGVhZGVyc0VudHJ5Ei4KCmV4cGlyZXNfYXQYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGjQKElVwbG9hZEhlYWRlcnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIm0KF0ZpbmFsaXplQXJ0aWZhY3RSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEhMKC2FydGlmYWN0X2lkGAIgASgJEg4KBnNoYTI1NhgDIAEoCRIMCgRzaXplGAQgASgDIkUKGEZpbmFsaXplQXJ0aWZhY3RSZXNwb25zZRIpCghhcnRpZmFjdBgBIAEoCzIXLnNsaXB3YXkudjEuUnVuQXJ0aWZhY3QibQoaR2V0QXJ0aWZhY3REb3dubG9hZFJlcXVlc3QSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSDgoGcnVuX2lkGAIgASgJEgwKBG5hbWUYAyABKAkSEAoIZnJvbV9qb2IYBCABKAkilgEKG0dldEFydGlmYWN0RG93bmxvYWRSZXNwb25zZRITCgthcnRpZmFjdF9pZBgBIAEoCRIUCgxkb3dubG9hZF91cmwYAiABKAkSDAoEc2l6ZRgDIAEoAxIOCgZzaGEyNTYYBCABKAkSLgoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAieAoSTG9va3VwQ2FjaGVSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEgsKA2tleRgCIAEoCRIUCgxyZXN0b3JlX2tleXMYAyADKAkSDQoFc2NvcGUYBCABKAkSDwoHdmVyc2lvbhgFIAEoCSJ6ChNMb29rdXBDYWNoZVJlc3BvbnNlEgsKA2hpdBgBIAEoCBINCgVleGFjdBgCIAEoCBITCgttYXRjaGVkX2tleRgDIAEoCRIUCgxkb3dubG9hZF91cmwYBCABKAkSDAoEc2l6ZRgFIAEoAxIOCgZzaGEyNTYYBiABKAkicQoTUmVzZXJ2ZUNhY2hlUmVxdWVzdBIfCgNqb2IYASABKAsyEi5zbGlwd2F5LnYxLkpvYlJlZhILCgNrZXkYAiABKAkSDQoFc2NvcGUYAyABKAkSDwoHdmVyc2lvbhgEIAEoCRIMCgRzaXplGAUgASgDIo0CChRSZXNlcnZlQ2FjaGVSZXNwb25zZRIWCg5hbHJlYWR5X2V4aXN0cxgBIAEoCBIWCg5yZXNlcnZhdGlvbl9pZBgCIAEoCRISCgp1cGxvYWRfdXJsGAMgASgJEksKDnVwbG9hZF9oZWFkZXJzGAQgAygLMjMuc2xpcHdheS52MS5SZXNlcnZlQ2FjaGVSZXNwb25zZS5VcGxvYWRIZWFkZXJzRW50cnkSLgoKZXhwaXJlc19hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAaNAoSVXBsb2FkSGVhZGVyc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEiawoSQ29tbWl0Q2FjaGVSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEhYKDnJlc2VydmF0aW9uX2lkGAIgASgJEg4KBnNoYTI1NhgDIAEoCRIMCgRzaXplGAQgASgDIjwKE0NvbW1pdENhY2hlUmVzcG9uc2USJQoFZW50cnkYASABKAsyFi5zbGlwd2F5LnYxLkNhY2hlRW50cnkigwEKF1VwbG9hZFRlc3RSZXBvcnRSZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEigKBmZvcm1hdBgCIAEoDjIYLnNsaXB3YXkudjEuUmVwb3J0Rm9ybWF0EgwKBG5hbWUYAyABKAkSDwoHY29udGVudBgEIAEoDCJwChhVcGxvYWRUZXN0UmVwb3J0UmVzcG9uc2USKQoGcmVwb3J0GAEgASgLMhkuc2xpcHdheS52MS5SdW5UZXN0UmVwb3J0EikKCGNvdmVyYWdlGAIgASgLMhcuc2xpcHdheS52MS5SdW5Db3ZlcmFnZSKfAQoPQW5ub3RhdGlvbklucHV0EhIKCnN0ZXBfaW5kZXgYASABKAUSKgoFbGV2ZWwYAiABKA4yGy5zbGlwd2F5LnYxLkFubm90YXRpb25MZXZlbBIMCgRmaWxlGAMgASgJEgwKBGxpbmUYBCABKAUSEAoIZW5kX2xpbmUYBSABKAUSDQoFdGl0bGUYBiABKAkSDwoHbWVzc2FnZRgHIAEoCSJqChVBZGRBbm5vdGF0aW9uc1JlcXVlc3QSHwoDam9iGAEgASgLMhIuc2xpcHdheS52MS5Kb2JSZWYSMAoLYW5ub3RhdGlvbnMYAiADKAsyGy5zbGlwd2F5LnYxLkFubm90YXRpb25JbnB1dCIqChZBZGRBbm5vdGF0aW9uc1Jlc3BvbnNlEhAKCGFjY2VwdGVkGAEgASgFIkkKFElzc3VlSm9iVG9rZW5SZXF1ZXN0Eh8KA2pvYhgBIAEoCzISLnNsaXB3YXkudjEuSm9iUmVmEhAKCGF1ZGllbmNlGAIgASgJIlYKFUlzc3VlSm9iVG9rZW5SZXNwb25zZRINCgV0b2tlbhgBIAEoCRIuCgpleHBpcmVzX2F0GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCrRAQoJUnVuU3RhdHVzEhoKFlJVTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIVChFSVU5fU1RBVFVTX1FVRVVFRBABEhYKElJVTl9TVEFUVVNfUlVOTklORxACEhgKFFJVTl9TVEFUVVNfU1VDQ0VFREVEEAMSFQoRUlVOX1NUQVRVU19GQUlMRUQQBBIYChRSVU5fU1RBVFVTX0NBTkNFTExFRBAFEhYKElJVTl9TVEFUVVNfU0tJUFBFRBAGEhYKElJVTl9TVEFUVVNfRVJST1JFRBAHKvQCCgxSdW5Kb2JTdGF0dXMSHgoaUlVOX0pPQl9TVEFUVVNfVU5TUEVDSUZJRUQQABIaChZSVU5fSk9CX1NUQVRVU19QRU5ESU5HEAESIwofUlVOX0pPQl9TVEFUVVNfV0FJVElOR19BUFBST1ZBTBACEhkKFVJVTl9KT0JfU1RBVFVTX1FVRVVFRBADEhsKF1JVTl9KT0JfU1RBVFVTX0FTU0lHTkVEEAQSGgoWUlVOX0pPQl9TVEFUVVNfUlVOTklORxAFEhwKGFJVTl9KT0JfU1RBVFVTX1NVQ0NFRURFRBAGEhkKFVJVTl9KT0JfU1RBVFVTX0ZBSUxFRBAHEhwKGFJVTl9KT0JfU1RBVFVTX0NBTkNFTExFRBAIEhoKFlJVTl9KT0JfU1RBVFVTX1NLSVBQRUQQCRIcChhSVU5fSk9CX1NUQVRVU19USU1FRF9PVVQQChIeChpSVU5fSk9CX1NUQVRVU19SVU5ORVJfTE9TVBALKuEBCg1SdW5TdGVwU3RhdHVzEh8KG1JVTl9TVEVQX1NUQVRVU19VTlNQRUNJRklFRBAAEhsKF1JVTl9TVEVQX1NUQVRVU19QRU5ESU5HEAESGwoXUlVOX1NURVBfU1RBVFVTX1JVTk5JTkcQAhIdChlSVU5fU1RFUF9TVEFUVVNfU1VDQ0VFREVEEAMSGgoWUlVOX1NURVBfU1RBVFVTX0ZBSUxFRBAEEhsKF1JVTl9TVEVQX1NUQVRVU19TS0lQUEVEEAUSHQoZUlVOX1NURVBfU1RBVFVTX0NBTkNFTExFRBAGKpYBCgxSdW5uZXJTdGF0dXMSHQoZUlVOTkVSX1NUQVRVU19VTlNQRUNJRklFRBAAEhgKFFJVTk5FUl9TVEFUVVNfT05MSU5FEAESGQoVUlVOTkVSX1NUQVRVU19PRkZMSU5FEAISFgoSUlVOTkVSX1NUQVRVU19CVVNZEAMSGgoWUlVOTkVSX1NUQVRVU19EUkFJTklORxAEKnEKDlJ1bm5lclBvb2xLaW5kEiAKHFJVTk5FUl9QT09MX0tJTkRfVU5TUEVDSUZJRUQQABIgChxSVU5ORVJfUE9PTF9LSU5EX1NFTEZfSE9TVEVEEAESGwoXUlVOTkVSX1BPT0xfS0lORF9IT1NURUQQAiqIAQoOUnVubmVyRXhlY3V0b3ISHwobUlVOTkVSX0VYRUNVVE9SX1VOU1BFQ0lGSUVEEAASGQoVUlVOTkVSX0VYRUNVVE9SX1NIRUxMEAESGgoWUlVOTkVSX0VYRUNVVE9SX0RPQ0tFUhACEh4KGlJVTk5FUl9FWEVDVVRPUl9LVUJFUk5FVEVTEAMqbAoJTG9nU3RyZWFtEhoKFkxPR19TVFJFQU1fVU5TUEVDSUZJRUQQABIVChFMT0dfU1RSRUFNX1NURE9VVBABEhUKEUxPR19TVFJFQU1fU1RERVJSEAISFQoRTE9HX1NUUkVBTV9TWVNURU0QAyqLAQoKVGVzdFN0YXR1cxIbChdURVNUX1NUQVRVU19VTlNQRUNJRklFRBAAEhYKElRFU1RfU1RBVFVTX1BBU1NFRBABEhYKElRFU1RfU1RBVFVTX0ZBSUxFRBACEhcKE1RFU1RfU1RBVFVTX0VSUk9SRUQQAxIXChNURVNUX1NUQVRVU19TS0lQUEVEEAQqmwEKDFJlcG9ydEZvcm1hdBIdChlSRVBPUlRfRk9STUFUX1VOU1BFQ0lGSUVEEAASFwoTUkVQT1JUX0ZPUk1BVF9KVU5JVBABEh4KGlJFUE9SVF9GT1JNQVRfR09fVEVTVF9KU09OEAISFgoSUkVQT1JUX0ZPUk1BVF9MQ09WEAMSGwoXUkVQT1JUX0ZPUk1BVF9DT0JFUlRVUkEQBCqKAQoPQW5ub3RhdGlvbkxldmVsEiAKHEFOTk9UQVRJT05fTEVWRUxfVU5TUEVDSUZJRUQQABIbChdBTk5PVEFUSU9OX0xFVkVMX05PVElDRRABEhwKGEFOTk9UQVRJT05fTEVWRUxfV0FSTklORxACEhoKFkFOTk9UQVRJT05fTEVWRUxfRVJST1IQAyprCglSZXJ1bk1vZGUSGgoWUkVSVU5fTU9ERV9VTlNQRUNJRklFRBAAEhIKDlJFUlVOX01PREVfQUxMEAESFQoRUkVSVU5fTU9ERV9GQUlMRUQQAhIXChNSRVJVTl9NT0RFX0ZST01fSk9CEAMymgkKClJ1blNlcnZpY2USRQoITGlzdFJ1bnMSGy5zbGlwd2F5LnYxLkxpc3RSdW5zUmVxdWVzdBocLnNsaXB3YXkudjEuTGlzdFJ1bnNSZXNwb25zZRI/CgZHZXRSdW4SGS5zbGlwd2F5LnYxLkdldFJ1blJlcXVlc3QaGi5zbGlwd2F5LnYxLkdldFJ1blJlc3BvbnNlEkcKCFdhdGNoUnVuEhsuc2xpcHdheS52MS5XYXRjaFJ1blJlcXVlc3QaHC5zbGlwd2F5LnYxLldhdGNoUnVuUmVzcG9uc2UwARJLCgpUcmlnZ2VyUnVuEh0uc2xpcHdheS52MS5UcmlnZ2VyUnVuUmVxdWVzdBoeLnNsaXB3YXkudjEuVHJpZ2dlclJ1blJlc3BvbnNlEkgKCUNhbmNlbFJ1bhIcLnNsaXB3YXkudjEuQ2FuY2VsUnVuUmVxdWVzdBodLnNsaXB3YXkudjEuQ2FuY2VsUnVuUmVzcG9uc2USRQoIUmVydW5SdW4SGy5zbGlwd2F5LnYxLlJlcnVuUnVuUmVxdWVzdBocLnNsaXB3YXkudjEuUmVydW5SdW5SZXNwb25zZRJICglDYW5jZWxKb2ISHC5zbGlwd2F5LnYxLkNhbmNlbEpvYlJlcXVlc3QaHS5zbGlwd2F5LnYxLkNhbmNlbEpvYlJlc3BvbnNlEkUKCExpc3RKb2JzEhsuc2xpcHdheS52MS5MaXN0Sm9ic1JlcXVlc3QaHC5zbGlwd2F5LnYxLkxpc3RKb2JzUmVzcG9uc2USPwoGR2V0Sm9iEhkuc2xpcHdheS52MS5HZXRKb2JSZXF1ZXN0Ghouc2xpcHdheS52MS5HZXRKb2JSZXNwb25zZRJaCg9MaXN0VGVzdFJlcG9ydHMSIi5zbGlwd2F5LnYxLkxpc3RUZXN0UmVwb3J0c1JlcXVlc3QaIy5zbGlwd2F5LnYxLkxpc3RUZXN0UmVwb3J0c1Jlc3BvbnNlElQKDUxpc3RUZXN0Q2FzZXMSIC5zbGlwd2F5LnYxLkxpc3RUZXN0Q2FzZXNSZXF1ZXN0GiEuc2xpcHdheS52MS5MaXN0VGVzdENhc2VzUmVzcG9uc2USUQoMTGlzdENvdmVyYWdlEh8uc2xpcHdheS52MS5MaXN0Q292ZXJhZ2VSZXF1ZXN0GiAuc2xpcHdheS52MS5MaXN0Q292ZXJhZ2VSZXNwb25zZRJaCg9MaXN0QW5ub3RhdGlvbnMSIi5zbGlwd2F5LnYxLkxpc3RBbm5vdGF0aW9uc1JlcXVlc3QaIy5zbGlwd2F5LnYxLkxpc3RBbm5vdGF0aW9uc1Jlc3BvbnNlEkUKCEdldEJhZGdlEhsuc2xpcHdheS52MS5HZXRCYWRnZVJlcXVlc3QaHC5zbGlwd2F5LnYxLkdldEJhZGdlUmVzcG9uc2USYwoSR2V0U3RlcFRpbWluZ1N0YXRzEiUuc2xpcHdheS52MS5HZXRTdGVwVGltaW5nU3RhdHNSZXF1ZXN0GiYuc2xpcHdheS52MS5HZXRTdGVwVGltaW5nU3RhdHNSZXNwb25zZTK2CwoRUnVubmVyUG9vbFNlcnZpY2USWgoPTGlzdFJ1bm5lclBvb2xzEiIuc2xpcHdheS52MS5MaXN0UnVubmVyUG9vbHNSZXF1ZXN0GiMuc2xpcHdheS52MS5MaXN0UnVubmVyUG9vbHNSZXNwb25zZRJUCg1HZXRSdW5uZXJQb29sEiAuc2xpcHdheS52MS5HZXRSdW5uZXJQb29sUmVxdWVzdBohLnNsaXB3YXkudjEuR2V0UnVubmVyUG9vbFJlc3BvbnNlEl0KEENyZWF0ZVJ1bm5lclBvb2wSIy5zbGlwd2F5LnYxLkNyZWF0ZVJ1bm5lclBvb2xSZXF1ZXN0GiQuc2xpcHdheS52MS5DcmVhdGVSdW5uZXJQb29sUmVzcG9uc2USXQoQVXBkYXRlUnVubmVyUG9vbBIjLnNsaXB3YXkudjEuVXBkYXRlUnVubmVyUG9vbFJlcXVlc3QaJC5zbGlwd2F5LnYxLlVwZGF0ZVJ1bm5lclBvb2xSZXNwb25zZRJdChBEZWxldGVSdW5uZXJQb29sEiMuc2xpcHdheS52MS5EZWxldGVSdW5uZXJQb29sUmVxdWVzdBokLnNsaXB3YXkudjEuRGVsZXRlUnVubmVyUG9vbFJlc3BvbnNlEnIKF0NyZWF0ZVJlZ2lzdHJhdGlvblRva2VuEiouc2xpcHdheS52MS5DcmVhdGVSZWdpc3RyYXRpb25Ub2tlblJlcXVlc3QaKy5zbGlwd2F5LnYxLkNyZWF0ZVJlZ2lzdHJhdGlvblRva2VuUmVzcG9uc2USbwoWTGlzdFJlZ2lzdHJhdGlvblRva2VucxIpLnNsaXB3YXkudjEuTGlzdFJlZ2lzdHJhdGlvblRva2Vuc1JlcXVlc3QaKi5zbGlwd2F5LnYxLkxpc3RSZWdpc3RyYXRpb25Ub2tlbnNSZXNwb25zZRJyChdSZXZva2VSZWdpc3RyYXRpb25Ub2tlbhIqLnNsaXB3YXkudjEuUmV2b2tlUmVnaXN0cmF0aW9uVG9rZW5SZXF1ZXN0Gisuc2xpcHdheS52MS5SZXZva2VSZWdpc3RyYXRpb25Ub2tlblJlc3BvbnNlEk4KC0xpc3RSdW5uZXJzEh4uc2xpcHdheS52MS5MaXN0UnVubmVyc1JlcXVlc3QaHy5zbGlwd2F5LnYxLkxpc3RSdW5uZXJzUmVzcG9uc2USSAoJR2V0UnVubmVyEhwuc2xpcHdheS52MS5HZXRSdW5uZXJSZXF1ZXN0Gh0uc2xpcHdheS52MS5HZXRSdW5uZXJSZXNwb25zZRJRCgxVcGRhdGVSdW5uZXISHy5zbGlwd2F5LnYxLlVwZGF0ZVJ1bm5lclJlcXVlc3QaIC5zbGlwd2F5LnYxLlVwZGF0ZVJ1bm5lclJlc3BvbnNlElEKDERlbGV0ZVJ1bm5lchIfLnNsaXB3YXkudjEuRGVsZXRlUnVubmVyUmVxdWVzdBogLnNsaXB3YXkudjEuRGVsZXRlUnVubmVyUmVzcG9uc2USZgoTR2V0SG9zdGVkU3VzcGVuc2lvbhImLnNsaXB3YXkudjEuR2V0SG9zdGVkU3VzcGVuc2lvblJlcXVlc3QaJy5zbGlwd2F5LnYxLkdldEhvc3RlZFN1c3BlbnNpb25SZXNwb25zZRJpChRTdXNwZW5kSG9zdGVkUnVubmVycxInLnNsaXB3YXkudjEuU3VzcGVuZEhvc3RlZFJ1bm5lcnNSZXF1ZXN0Giguc2xpcHdheS52MS5TdXNwZW5kSG9zdGVkUnVubmVyc1Jlc3BvbnNlEmYKE1Jlc3VtZUhvc3RlZFJ1bm5lcnMSJi5zbGlwd2F5LnYxLlJlc3VtZUhvc3RlZFJ1bm5lcnNSZXF1ZXN0Gicuc2xpcHdheS52MS5SZXN1bWVIb3N0ZWRSdW5uZXJzUmVzcG9uc2UyswIKCkxvZ1NlcnZpY2USOwoEVGFpbBIXLnNsaXB3YXkudjEuVGFpbFJlcXVlc3QaGC5zbGlwd2F5LnYxLlRhaWxSZXNwb25zZTABEkIKB0dldExvZ3MSGi5zbGlwd2F5LnYxLkdldExvZ3NSZXF1ZXN0Ghsuc2xpcHdheS52MS5HZXRMb2dzUmVzcG9uc2USSwoKU2VhcmNoTG9ncxIdLnNsaXB3YXkudjEuU2VhcmNoTG9nc1JlcXVlc3QaHi5zbGlwd2F5LnYxLlNlYXJjaExvZ3NSZXNwb25zZRJXCg5HZXRMb2dEb3dubG9hZBIhLnNsaXB3YXkudjEuR2V0TG9nRG93bmxvYWRSZXF1ZXN0GiIuc2xpcHdheS52MS5HZXRMb2dEb3dubG9hZFJlc3BvbnNlMr8ECg9BcnRpZmFjdFNlcnZpY2USVAoNTGlzdEFydGlmYWN0cxIgLnNsaXB3YXkudjEuTGlzdEFydGlmYWN0c1JlcXVlc3QaIS5zbGlwd2F5LnYxLkxpc3RBcnRpZmFjdHNSZXNwb25zZRJOCgtHZXRBcnRpZmFjdBIeLnNsaXB3YXkudjEuR2V0QXJ0aWZhY3RSZXF1ZXN0Gh8uc2xpcHdheS52MS5HZXRBcnRpZmFjdFJlc3BvbnNlEm8KFkdldEFydGlmYWN0RG93bmxvYWRVcmwSKS5zbGlwd2F5LnYxLkdldEFydGlmYWN0RG93bmxvYWRVcmxSZXF1ZXN0Giouc2xpcHdheS52MS5HZXRBcnRpZmFjdERvd25sb2FkVXJsUmVzcG9uc2USVwoORGVsZXRlQXJ0aWZhY3QSIS5zbGlwd2F5LnYxLkRlbGV0ZUFydGlmYWN0UmVxdWVzdBoiLnNsaXB3YXkudjEuRGVsZXRlQXJ0aWZhY3RSZXNwb25zZRJdChBMaXN0Q2FjaGVFbnRyaWVzEiMuc2xpcHdheS52MS5MaXN0Q2FjaGVFbnRyaWVzUmVxdWVzdBokLnNsaXB3YXkudjEuTGlzdENhY2hlRW50cmllc1Jlc3BvbnNlEl0KEERlbGV0ZUNhY2hlRW50cnkSIy5zbGlwd2F5LnYxLkRlbGV0ZUNhY2hlRW50cnlSZXF1ZXN0GiQuc2xpcHdheS52MS5EZWxldGVDYWNoZUVudHJ5UmVzcG9uc2UyoQgKDVJ1bm5lclNlcnZpY2USRQoIUmVnaXN0ZXISGy5zbGlwd2F5LnYxLlJlZ2lzdGVyUmVxdWVzdBocLnNsaXB3YXkudjEuUmVnaXN0ZXJSZXNwb25zZRJGCgdDb25uZWN0Ehouc2xpcHdheS52MS5Db25uZWN0UmVxdWVzdBobLnNsaXB3YXkudjEuQ29ubmVjdFJlc3BvbnNlKAEwARJXCg5DcmVhdGVBcnRpZmFjdBIhLnNsaXB3YXkudjEuQ3JlYXRlQXJ0aWZhY3RSZXF1ZXN0GiIuc2xpcHdheS52MS5DcmVhdGVBcnRpZmFjdFJlc3BvbnNlEl0KEEZpbmFsaXplQXJ0aWZhY3QSIy5zbGlwd2F5LnYxLkZpbmFsaXplQXJ0aWZhY3RSZXF1ZXN0GiQuc2xpcHdheS52MS5GaW5hbGl6ZUFydGlmYWN0UmVzcG9uc2USZgoTR2V0QXJ0aWZhY3REb3dubG9hZBImLnNsaXB3YXkudjEuR2V0QXJ0aWZhY3REb3dubG9hZFJlcXVlc3QaJy5zbGlwd2F5LnYxLkdldEFydGlmYWN0RG93bmxvYWRSZXNwb25zZRJOCgtMb29rdXBDYWNoZRIeLnNsaXB3YXkudjEuTG9va3VwQ2FjaGVSZXF1ZXN0Gh8uc2xpcHdheS52MS5Mb29rdXBDYWNoZVJlc3BvbnNlElEKDFJlc2VydmVDYWNoZRIfLnNsaXB3YXkudjEuUmVzZXJ2ZUNhY2hlUmVxdWVzdBogLnNsaXB3YXkudjEuUmVzZXJ2ZUNhY2hlUmVzcG9uc2USTgoLQ29tbWl0Q2FjaGUSHi5zbGlwd2F5LnYxLkNvbW1pdENhY2hlUmVxdWVzdBofLnNsaXB3YXkudjEuQ29tbWl0Q2FjaGVSZXNwb25zZRJdChBVcGxvYWRUZXN0UmVwb3J0EiMuc2xpcHdheS52MS5VcGxvYWRUZXN0UmVwb3J0UmVxdWVzdBokLnNsaXB3YXkudjEuVXBsb2FkVGVzdFJlcG9ydFJlc3BvbnNlElcKDkFkZEFubm90YXRpb25zEiEuc2xpcHdheS52MS5BZGRBbm5vdGF0aW9uc1JlcXVlc3QaIi5zbGlwd2F5LnYxLkFkZEFubm90YXRpb25zUmVzcG9uc2USVAoNSXNzdWVKb2JUb2tlbhIgLnNsaXB3YXkudjEuSXNzdWVKb2JUb2tlblJlcXVlc3QaIS5zbGlwd2F5LnYxLklzc3VlSm9iVG9rZW5SZXNwb25zZRJgChFHZXRSdW5uZXJEb3dubG9hZBIkLnNsaXB3YXkudjEuR2V0UnVubmVyRG93bmxvYWRSZXF1ZXN0GiUuc2xpcHdheS52MS5HZXRSdW5uZXJEb3dubG9hZFJlc3BvbnNlQqQBCg5jb20uc2xpcHdheS52MUIJUnVuc1Byb3RvUAFaPmdpdGh1Yi5jb20vc2xpcHdheS1zeXN0ZW1zL3NsaXB3YXktc2RrL2dvL3NsaXB3YXkvdjE7c2xpcHdheXYxogIDU1hYqgIKU2xpcHdheS5WMcoCClNsaXB3YXlcVjHiAhZTbGlwd2F5XFYxXEdQQk1ldGFkYXRh6gILU2xpcHdheTo6VjFiBnByb3RvMw", [file_google_protobuf_duration, file_google_protobuf_struct, file_google_protobuf_timestamp, file_slipway_v1_common]);
11
11
  /**
12
12
  * Describes the message slipway.v1.RunTrigger.
13
13
  * Use `create(RunTriggerSchema)` to create a new message.
@@ -529,6 +529,13 @@ export type StartConnectionRequest = Message<"slipway.v1.StartConnectionRequest"
529
529
  * @generated from field: string return_to = 10;
530
530
  */
531
531
  returnTo: string;
532
+ /**
533
+ * GitHub App: an installation to connect (e.g. one the provider reported without a Slipway state). A hint only: it
534
+ * is connected when the user's own GitHub authorisation can access it; otherwise the user picks from theirs.
535
+ *
536
+ * @generated from field: string installation_id = 11;
537
+ */
538
+ installationId: string;
532
539
  };
533
540
  /**
534
541
  * Describes the message slipway.v1.StartConnectionRequest.
@@ -559,7 +566,8 @@ export type StartConnectionResponse = Message<"slipway.v1.StartConnectionRespons
559
566
  export declare const StartConnectionResponseSchema: GenMessage<StartConnectionResponse>;
560
567
  /**
561
568
  * CompleteConnection finishes a redirect flow. The browser normally lands on /auth/scm/{provider}/callback, which
562
- * calls this internally; the RPC exists for SPAs that proxy the callback.
569
+ * calls this internally; the RPC exists for SPAs that proxy the callback. Exactly one of connection,
570
+ * authorization_url and installation_ticket is set.
563
571
  *
564
572
  * @generated from message slipway.v1.CompleteConnectionRequest
565
573
  */
@@ -598,12 +606,178 @@ export type CompleteConnectionResponse = Message<"slipway.v1.CompleteConnectionR
598
606
  * @generated from field: string return_to = 2;
599
607
  */
600
608
  returnTo: string;
609
+ /**
610
+ * continue at the provider (GitHub: authorise to verify a new installation)
611
+ *
612
+ * @generated from field: string authorization_url = 3;
613
+ */
614
+ authorizationUrl: string;
615
+ /**
616
+ * pick an installation: ListInstallationChoices / ConnectInstallation
617
+ *
618
+ * @generated from field: string installation_ticket = 4;
619
+ */
620
+ installationTicket: string;
601
621
  };
602
622
  /**
603
623
  * Describes the message slipway.v1.CompleteConnectionResponse.
604
624
  * Use `create(CompleteConnectionResponseSchema)` to create a new message.
605
625
  */
606
626
  export declare const CompleteConnectionResponseSchema: GenMessage<CompleteConnectionResponse>;
627
+ /**
628
+ * A GitHub App installation the user's own GitHub authorisation can access, offered in the installation picker.
629
+ *
630
+ * @generated from message slipway.v1.ScmInstallationChoice
631
+ */
632
+ export type ScmInstallationChoice = Message<"slipway.v1.ScmInstallationChoice"> & {
633
+ /**
634
+ * @generated from field: string installation_id = 1;
635
+ */
636
+ installationId: string;
637
+ /**
638
+ * @generated from field: string account_login = 2;
639
+ */
640
+ accountLogin: string;
641
+ /**
642
+ * "Organization" | "User"
643
+ *
644
+ * @generated from field: string account_type = 3;
645
+ */
646
+ accountType: string;
647
+ /**
648
+ * "all" | "selected"
649
+ *
650
+ * @generated from field: string repository_selection = 4;
651
+ */
652
+ repositorySelection: string;
653
+ /**
654
+ * @generated from field: bool suspended = 5;
655
+ */
656
+ suspended: boolean;
657
+ /**
658
+ * GitHub page to change the installation's repositories
659
+ *
660
+ * @generated from field: string configure_url = 6;
661
+ */
662
+ configureUrl: string;
663
+ /**
664
+ * this organisation's connection for it, when there is one
665
+ *
666
+ * @generated from field: string connection_id = 7;
667
+ */
668
+ connectionId: string;
669
+ /**
670
+ * claimed by another Slipway organisation
671
+ *
672
+ * @generated from field: bool connected_elsewhere = 8;
673
+ */
674
+ connectedElsewhere: boolean;
675
+ };
676
+ /**
677
+ * Describes the message slipway.v1.ScmInstallationChoice.
678
+ * Use `create(ScmInstallationChoiceSchema)` to create a new message.
679
+ */
680
+ export declare const ScmInstallationChoiceSchema: GenMessage<ScmInstallationChoice>;
681
+ /**
682
+ * ListInstallationChoices lists the installations behind a ticket. The callback issues the ticket (?scm_choose=) after
683
+ * the user authorised with GitHub without naming an installation; it is bound to that user and organisation and
684
+ * expires with the flow.
685
+ *
686
+ * @generated from message slipway.v1.ListInstallationChoicesRequest
687
+ */
688
+ export type ListInstallationChoicesRequest = Message<"slipway.v1.ListInstallationChoicesRequest"> & {
689
+ /**
690
+ * @generated from field: slipway.v1.ScmProviderKind provider = 1;
691
+ */
692
+ provider: ScmProviderKind;
693
+ /**
694
+ * @generated from field: string ticket = 2;
695
+ */
696
+ ticket: string;
697
+ };
698
+ /**
699
+ * Describes the message slipway.v1.ListInstallationChoicesRequest.
700
+ * Use `create(ListInstallationChoicesRequestSchema)` to create a new message.
701
+ */
702
+ export declare const ListInstallationChoicesRequestSchema: GenMessage<ListInstallationChoicesRequest>;
703
+ /**
704
+ * @generated from message slipway.v1.ListInstallationChoicesResponse
705
+ */
706
+ export type ListInstallationChoicesResponse = Message<"slipway.v1.ListInstallationChoicesResponse"> & {
707
+ /**
708
+ * @generated from field: repeated slipway.v1.ScmInstallationChoice items = 1;
709
+ */
710
+ items: ScmInstallationChoice[];
711
+ /**
712
+ * install the app on another account; GitHub brings the user back
713
+ *
714
+ * @generated from field: string install_url = 2;
715
+ */
716
+ installUrl: string;
717
+ /**
718
+ * asked for, but not accessible to the user (e.g. awaiting owner approval)
719
+ *
720
+ * @generated from field: string missing_installation_id = 3;
721
+ */
722
+ missingInstallationId: string;
723
+ /**
724
+ * the user can access more installations than are listed
725
+ *
726
+ * @generated from field: bool truncated = 4;
727
+ */
728
+ truncated: boolean;
729
+ /**
730
+ * @generated from field: string return_to = 5;
731
+ */
732
+ returnTo: string;
733
+ };
734
+ /**
735
+ * Describes the message slipway.v1.ListInstallationChoicesResponse.
736
+ * Use `create(ListInstallationChoicesResponseSchema)` to create a new message.
737
+ */
738
+ export declare const ListInstallationChoicesResponseSchema: GenMessage<ListInstallationChoicesResponse>;
739
+ /**
740
+ * ConnectInstallation connects one installation of a ticket to the caller's organisation.
741
+ *
742
+ * @generated from message slipway.v1.ConnectInstallationRequest
743
+ */
744
+ export type ConnectInstallationRequest = Message<"slipway.v1.ConnectInstallationRequest"> & {
745
+ /**
746
+ * @generated from field: slipway.v1.ScmProviderKind provider = 1;
747
+ */
748
+ provider: ScmProviderKind;
749
+ /**
750
+ * @generated from field: string ticket = 2;
751
+ */
752
+ ticket: string;
753
+ /**
754
+ * @generated from field: string installation_id = 3;
755
+ */
756
+ installationId: string;
757
+ };
758
+ /**
759
+ * Describes the message slipway.v1.ConnectInstallationRequest.
760
+ * Use `create(ConnectInstallationRequestSchema)` to create a new message.
761
+ */
762
+ export declare const ConnectInstallationRequestSchema: GenMessage<ConnectInstallationRequest>;
763
+ /**
764
+ * @generated from message slipway.v1.ConnectInstallationResponse
765
+ */
766
+ export type ConnectInstallationResponse = Message<"slipway.v1.ConnectInstallationResponse"> & {
767
+ /**
768
+ * @generated from field: slipway.v1.ScmConnection connection = 1;
769
+ */
770
+ connection?: ScmConnection | undefined;
771
+ /**
772
+ * @generated from field: string return_to = 2;
773
+ */
774
+ returnTo: string;
775
+ };
776
+ /**
777
+ * Describes the message slipway.v1.ConnectInstallationResponse.
778
+ * Use `create(ConnectInstallationResponseSchema)` to create a new message.
779
+ */
780
+ export declare const ConnectInstallationResponseSchema: GenMessage<ConnectInstallationResponse>;
607
781
  /**
608
782
  * @generated from message slipway.v1.ScmServiceListConnectionsRequest
609
783
  */
@@ -1468,6 +1642,22 @@ export declare const ScmService: GenService<{
1468
1642
  input: typeof CompleteConnectionRequestSchema;
1469
1643
  output: typeof CompleteConnectionResponseSchema;
1470
1644
  };
1645
+ /**
1646
+ * @generated from rpc slipway.v1.ScmService.ListInstallationChoices
1647
+ */
1648
+ listInstallationChoices: {
1649
+ methodKind: "unary";
1650
+ input: typeof ListInstallationChoicesRequestSchema;
1651
+ output: typeof ListInstallationChoicesResponseSchema;
1652
+ };
1653
+ /**
1654
+ * @generated from rpc slipway.v1.ScmService.ConnectInstallation
1655
+ */
1656
+ connectInstallation: {
1657
+ methodKind: "unary";
1658
+ input: typeof ConnectInstallationRequestSchema;
1659
+ output: typeof ConnectInstallationResponseSchema;
1660
+ };
1471
1661
  /**
1472
1662
  * @generated from rpc slipway.v1.ScmService.ListConnections
1473
1663
  */