@scalekit-sdk/node 2.3.0 → 2.4.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.
@@ -1,6 +1,8 @@
1
+ import { MessageShape } from '@bufbuild/protobuf';
2
+ import { EmptySchema } from '@bufbuild/protobuf/wkt';
1
3
  import GrpcConnect from './connect';
2
4
  import CoreClient from './core';
3
- import { GetConnectionResponse, ToggleConnectionResponse, ListConnectionsResponse } from './pkg/grpc/scalekit/v1/connections/connections_pb';
5
+ import { CreateConnection, CreateConnectionResponse, GetConnectionResponse, ToggleConnectionResponse, ListConnectionsResponse } from './pkg/grpc/scalekit/v1/connections/connections_pb';
4
6
  /**
5
7
  * Client for managing enterprise SSO connections for organizations.
6
8
  *
@@ -213,4 +215,26 @@ export default class ConnectionClient {
213
215
  * @see {@link listConnections} - List all connections
214
216
  */
215
217
  disableConnection(organizationId: string, id: string): Promise<ToggleConnectionResponse>;
218
+ /**
219
+ * Creates a new SSO connection for an organization.
220
+ *
221
+ * @param {string} organizationId - The organization ID (format: "org_...")
222
+ * @param {CreateConnection} connection - The connection configuration to create
223
+ *
224
+ * @returns {Promise<CreateConnectionResponse>} Response containing the created connection
225
+ *
226
+ * @throws {ScalekitServerException} If the organization is not found or connection configuration is invalid
227
+ */
228
+ createConnection(organizationId: string, connection: CreateConnection): Promise<CreateConnectionResponse>;
229
+ /**
230
+ * Deletes an SSO connection for an organization.
231
+ *
232
+ * @param {string} organizationId - The organization ID (format: "org_...")
233
+ * @param {string} id - The connection ID to delete (format: "conn_...")
234
+ *
235
+ * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
236
+ *
237
+ * @throws {ScalekitServerException} If the organization or connection is not found
238
+ */
239
+ deleteConnection(organizationId: string, id: string): Promise<MessageShape<typeof EmptySchema>>;
216
240
  }
package/lib/connection.js CHANGED
@@ -9,7 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const protobuf_1 = require("@bufbuild/protobuf");
12
13
  const connections_pb_1 = require("./pkg/grpc/scalekit/v1/connections/connections_pb");
14
+ const connections_pb_2 = require("./pkg/grpc/scalekit/v1/connections/connections_pb");
13
15
  /**
14
16
  * Client for managing enterprise SSO connections for organizations.
15
17
  *
@@ -256,6 +258,40 @@ class ConnectionClient {
256
258
  });
257
259
  });
258
260
  }
261
+ /**
262
+ * Creates a new SSO connection for an organization.
263
+ *
264
+ * @param {string} organizationId - The organization ID (format: "org_...")
265
+ * @param {CreateConnection} connection - The connection configuration to create
266
+ *
267
+ * @returns {Promise<CreateConnectionResponse>} Response containing the created connection
268
+ *
269
+ * @throws {ScalekitServerException} If the organization is not found or connection configuration is invalid
270
+ */
271
+ createConnection(organizationId, connection) {
272
+ const request = (0, protobuf_1.create)(connections_pb_2.CreateConnectionRequestSchema, {
273
+ organizationId,
274
+ connection,
275
+ });
276
+ return this.coreClient.connectExec(this.client.createConnection, request);
277
+ }
278
+ /**
279
+ * Deletes an SSO connection for an organization.
280
+ *
281
+ * @param {string} organizationId - The organization ID (format: "org_...")
282
+ * @param {string} id - The connection ID to delete (format: "conn_...")
283
+ *
284
+ * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
285
+ *
286
+ * @throws {ScalekitServerException} If the organization or connection is not found
287
+ */
288
+ deleteConnection(organizationId, id) {
289
+ const request = (0, protobuf_1.create)(connections_pb_2.DeleteConnectionRequestSchema, {
290
+ organizationId,
291
+ id,
292
+ });
293
+ return this.coreClient.connectExec(this.client.deleteConnection, request);
294
+ }
259
295
  }
260
296
  exports.default = ConnectionClient;
261
297
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,sFAAsF;AAOtF;;;;;;;;;;;;;GAaG;AACH,MAAqB,gBAAgB;IAEnC,YACmB,WAAwB,EACxB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,kCAAiB,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACG,aAAa,CACjB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAC5D,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACG,uBAAuB,CAC3B,MAAc;;YAEd,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC9D,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,eAAe,CACnB,cAAsB;;YAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC9D,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,gBAAgB,CACpB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC/D,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,iBAAiB,CACrB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBAChE,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;CACF;AAlPD,mCAkPC"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iDAA0D;AAK1D,sFAAsF;AACtF,sFAQ2D;AAE3D;;;;;;;;;;;;;GAaG;AACH,MAAqB,gBAAgB;IAEnC,YACmB,WAAwB,EACxB,UAAsB;QADtB,gBAAW,GAAX,WAAW,CAAa;QACxB,eAAU,GAAV,UAAU,CAAY;QAEvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,kCAAiB,CAAC,CAAC;IACjE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;IACG,aAAa,CACjB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE;gBAC5D,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACG,uBAAuB,CAC3B,MAAc;;YAEd,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC9D,MAAM;aACP,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,eAAe,CACnB,cAAsB;;YAEtB,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;gBAC9D,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,gBAAgB,CACpB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC/D,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACG,iBAAiB,CACrB,cAAsB,EACtB,EAAU;;YAEV,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE;gBAChE,EAAE;gBACF,cAAc;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;;;;;;;;OASG;IACH,gBAAgB,CACd,cAAsB,EACtB,UAA4B;QAE5B,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,8CAA6B,EAAE;YACpD,cAAc;YACd,UAAU;SACX,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;OASG;IACH,gBAAgB,CACd,cAAsB,EACtB,EAAU;QAEV,MAAM,OAAO,GAAG,IAAA,iBAAM,EAAC,8CAA6B,EAAE;YACpD,cAAc;YACd,EAAE;SACH,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAC5E,CAAC;CACF;AA5RD,mCA4RC"}
package/lib/core.d.ts CHANGED
@@ -1,4 +1,12 @@
1
1
  import { Axios, AxiosResponse } from 'axios';
2
+ declare module 'axios' {
3
+ interface InternalAxiosRequestConfig {
4
+ skipAuth?: boolean;
5
+ }
6
+ interface AxiosRequestConfig {
7
+ skipAuth?: boolean;
8
+ }
9
+ }
2
10
  import { JWK } from 'jose';
3
11
  import { TokenResponse } from './types/auth';
4
12
  export declare const headers: {
package/lib/core.js CHANGED
@@ -69,14 +69,14 @@ class CoreClient {
69
69
  this.accessToken = null;
70
70
  // eslint-disable-next-line @typescript-eslint/no-var-requires
71
71
  this.sdkVersion = `Scalekit-Node/${require('../package.json').version}`;
72
- this.apiVersion = '20260226';
72
+ this.apiVersion = '20260310';
73
73
  this.userAgent = `${this.sdkVersion} Node/${process.version} (${process.platform}; ${os_1.default.arch()})`;
74
74
  this.axios = axios_1.default.create({ baseURL: envUrl });
75
75
  this.axios.interceptors.request.use((config) => {
76
76
  config.headers[exports.headers['user-agent']] = this.userAgent;
77
77
  config.headers[exports.headers['x-sdk-version']] = this.sdkVersion;
78
78
  config.headers[exports.headers['x-api-version']] = this.apiVersion;
79
- if (this.accessToken) {
79
+ if (this.accessToken && !config.skipAuth) {
80
80
  config.headers[exports.headers.authorization] = `Bearer ${this.accessToken}`;
81
81
  }
82
82
  return config;
@@ -105,6 +105,7 @@ class CoreClient {
105
105
  headers: {
106
106
  'Content-Type': 'application/x-www-form-urlencoded',
107
107
  },
108
+ skipAuth: true,
108
109
  });
109
110
  });
110
111
  }
package/lib/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
+ import { MessageShape } from '@bufbuild/protobuf';
2
+ import { EmptySchema } from '@bufbuild/protobuf/wkt';
1
3
  import GrpcConnect from './connect';
2
4
  import CoreClient from './core';
3
- import { GetDirectoryResponse, Directory, ListDirectoriesResponse, ListDirectoryGroupsResponse, ListDirectoryUsersResponse, ToggleDirectoryResponse } from './pkg/grpc/scalekit/v1/directories/directories_pb';
5
+ import { CreateDirectory, CreateDirectoryResponse, GetDirectoryResponse, Directory, ListDirectoriesResponse, ListDirectoryGroupsResponse, ListDirectoryUsersResponse, ToggleDirectoryResponse } from './pkg/grpc/scalekit/v1/directories/directories_pb';
4
6
  /**
5
7
  * Client for managing SCIM directory synchronization.
6
8
  *
@@ -328,4 +330,26 @@ export default class DirectoryClient {
328
330
  * @see {@link listDirectories} - List all directories
329
331
  */
330
332
  disableDirectory(organizationId: string, directoryId: string): Promise<ToggleDirectoryResponse>;
333
+ /**
334
+ * Creates a new SCIM directory for an organization.
335
+ *
336
+ * @param {string} organizationId - The organization ID (format: "org_...")
337
+ * @param {CreateDirectory} directory - The directory configuration to create
338
+ *
339
+ * @returns {Promise<CreateDirectoryResponse>} Response containing the created directory
340
+ *
341
+ * @throws {ScalekitServerException} If the organization is not found or directory configuration is invalid
342
+ */
343
+ createDirectory(organizationId: string, directory: CreateDirectory): Promise<CreateDirectoryResponse>;
344
+ /**
345
+ * Deletes a SCIM directory for an organization.
346
+ *
347
+ * @param {string} organizationId - The organization ID (format: "org_...")
348
+ * @param {string} directoryId - The directory ID to delete (format: "dir_...")
349
+ *
350
+ * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
351
+ *
352
+ * @throws {ScalekitServerException} If the organization or directory is not found
353
+ */
354
+ deleteDirectory(organizationId: string, directoryId: string): Promise<MessageShape<typeof EmptySchema>>;
331
355
  }
package/lib/directory.js CHANGED
@@ -9,8 +9,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ const protobuf_1 = require("@bufbuild/protobuf");
12
13
  const wkt_1 = require("@bufbuild/protobuf/wkt");
13
14
  const directories_pb_1 = require("./pkg/grpc/scalekit/v1/directories/directories_pb");
15
+ const directories_pb_2 = require("./pkg/grpc/scalekit/v1/directories/directories_pb");
14
16
  /**
15
17
  * Client for managing SCIM directory synchronization.
16
18
  *
@@ -385,6 +387,40 @@ class DirectoryClient {
385
387
  });
386
388
  });
387
389
  }
390
+ /**
391
+ * Creates a new SCIM directory for an organization.
392
+ *
393
+ * @param {string} organizationId - The organization ID (format: "org_...")
394
+ * @param {CreateDirectory} directory - The directory configuration to create
395
+ *
396
+ * @returns {Promise<CreateDirectoryResponse>} Response containing the created directory
397
+ *
398
+ * @throws {ScalekitServerException} If the organization is not found or directory configuration is invalid
399
+ */
400
+ createDirectory(organizationId, directory) {
401
+ const request = (0, protobuf_1.create)(directories_pb_2.CreateDirectoryRequestSchema, {
402
+ organizationId,
403
+ directory,
404
+ });
405
+ return this.coreClient.connectExec(this.client.createDirectory, request);
406
+ }
407
+ /**
408
+ * Deletes a SCIM directory for an organization.
409
+ *
410
+ * @param {string} organizationId - The organization ID (format: "org_...")
411
+ * @param {string} directoryId - The directory ID to delete (format: "dir_...")
412
+ *
413
+ * @returns {Promise<MessageShape<typeof EmptySchema>>} Empty response on success
414
+ *
415
+ * @throws {ScalekitServerException} If the organization or directory is not found
416
+ */
417
+ deleteDirectory(organizationId, directoryId) {
418
+ const request = (0, protobuf_1.create)(directories_pb_2.DeleteDirectoryRequestSchema, {
419
+ organizationId,
420
+ id: directoryId,
421
+ });
422
+ return this.coreClient.connectExec(this.client.deleteDirectory, request);
423
+ }
388
424
  }
389
425
  exports.default = DirectoryClient;
390
426
  //# sourceMappingURL=directory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"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"}
@@ -17,7 +17,7 @@ const options_pb_1 = require("../options/options_pb");
17
17
  /**
18
18
  * Describes the file scalekit/v1/connections/connections.proto.
19
19
  */
20
- exports.file_scalekit_v1_connections_connections = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9jb25uZWN0aW9ucy9jb25uZWN0aW9ucy5wcm90bxIXc2NhbGVraXQudjEuY29ubmVjdGlvbnMimwEKIEFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0EisKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUISukgPyAEBcgoQARggOgRvcmdfEioKDWNvbm5lY3Rpb25faWQYAiABKAlCE7pIEMgBAXILEAEYIDoFY29ubl8SHgoKZG9tYWluX2lkcxgDIAMoCUIKukgHkgEECAAQMiLaAwohQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlErQDCgpjb25uZWN0aW9uGAEgASgLMiMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbkL6ApJB9gIyIENvbm5lY3Rpb24gd2l0aCBhc3NpZ25lZCBkb21haW5zStECewogICJpZCI6ICJjb25uXzEyMzQ1Njc4OTAiLAogICJwcm92aWRlciI6ICJPS1RBIiwKICAidHlwZSI6ICJPSURDIiwKICAic3RhdHVzIjogIkNPTkZJR1VSRUQiLAogICJlbmFibGVkIjogdHJ1ZSwKICAiZGVidWdfZW5hYmxlZCI6IGZhbHNlLAogICJvcmdhbml6YXRpb25faWQiOiAib3JnXzEyMzQ1Njc4OTAiLAogICJ1aV9idXR0b25fdGl0bGUiOiAiTG9naW4gd2l0aCBTU08iLAogICJjb25maWd1cmF0aW9uX3R5cGUiOiAiTUFOVUFMIiwKICAidGVzdF9jb25uZWN0aW9uX3VyaSI6ICJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMTIzNDU2Nzg5MCIKfSIVChNHZXRQcm92aWRlcnNSZXF1ZXN0IkwKFEdldFByb3ZpZGVyc1Jlc3BvbnNlEjQKCXByb3ZpZGVycxgBIAMoCzIhLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlByb3ZpZGVyItIBCghQcm92aWRlchIuCgZrZXlfaWQYASABKAlCHpJBGzIPUHJvdmlkZXIgS2V5IElESggiZ29vZ2xlIhI6CgxkaXNwbGF5X25hbWUYAiABKAlCJJJBITIVUHJvdmlkZXIgRGlzcGxheSBOYW1lSggiR29vZ2xlIhJKCgtkZXNjcmlwdGlvbhgDIAEoCUIwkkEtMhRQcm92aWRlciBEZXNjcmlwdGlvbkoVIlNpZ24gSW4gV2l0aCBHb29nbGUiSACIAQFCDgoMX2Rlc2NyaXB0aW9uIpsCCiJDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EkUKCmNvbm5lY3Rpb24YASABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQga6SAPIAQESowEKBWZsYWdzGAIgASgLMh4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuRmxhZ3NCb5JBbDJTT3B0aW9uYWwgZmxhZ3MgdG8gY29udHJvbCBjb25uZWN0aW9uIGNyZWF0aW9uIGJlaGF2aW9yLCBzdWNoIGFzIGVuYWJsaW5nIGRlYnVnIG1vZGVKFXsgImlzX3NvY2lhbCI6IHRydWUgfUgAiAEBQggKBl9mbGFncyLIAgoXQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QSigEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJxkkFlMkpVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB0aGUgY29ubmVjdGlvbiBpcyBjcmVhdGVkLkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAZyBBABGCASmQEKCmNvbm5lY3Rpb24YAyABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQlq6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi0wUKEENyZWF0ZUNvbm5lY3Rpb24SwQEKCHByb3ZpZGVyGAEgASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblByb3ZpZGVyQoEBkkF2MmxJZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbiAoc3VjaCBhcyBPS1RBLCBHb29nbGUsIEF6dXJlIEFELCBvciBhIGN1c3RvbSBwcm92aWRlcilKBiJPS1RBIrpIBYIBAhABEj8KBHR5cGUYAiABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUIIukgFggECEAESiwEKDHByb3ZpZGVyX2tleRgDIAEoCUJ1kkFyMmZLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyLiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm92aWRlci5KCCJnb29nbGUiEhMKBmtleV9pZBgEIAEoCUgAiAEBOosCukiHAhpUEiRwcm92aWRlciBvciBwcm92aWRlcl9rZXkgaXMgcmVxdWlyZWQaLGhhcyh0aGlzLnByb3ZpZGVyX2tleSkgfHwgdGhpcy5wcm92aWRlciAhPSAwGmASHmludmFsaWQgdmFsdWUgZm9yIHByb3ZpZGVyX2tleRo+dGhpcy5wcm92aWRlciA9PSAxNSA/IHRoaXMucHJvdmlkZXJfa2V5IGluIFsnU0NBTEVLSVQnXSA6IHRydWUaTRIYaW52YWxpZCB2YWx1ZSBmb3Iga2V5X2lkGjF0aGlzLnR5cGUgPT0gOSA/IHRoaXMua2V5X2lkID09ICdXRUJBVVRITicgOiB0cnVlQgkKB19rZXlfaWQiqR4KCkNvbm5lY3Rpb24SiQEKAmlkGAEgASgJQn2SQXoyX1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24uIFVzZWQgaW4gQVBJIGNhbGxzIHRvIHJlZmVyZW5jZSB0aGlzIHNwZWNpZmljIGNvbm5lY3Rpb24uShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhK4AQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCeZJBdjJsSWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb24gKHN1Y2ggYXMgT0tUQSwgR29vZ2xlLCBBenVyZSBBRCwgb3IgYSBjdXN0b20gcHJvdmlkZXIpSgYiT0tUQSISrgEKBHR5cGUYAyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUJ3kkF0MmpBdXRoZW50aWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoaXMgY29ubmVjdGlvbi4gQ2FuIGJlIE9JREMgKE9wZW5JRCBDb25uZWN0KSwgU0FNTCwgT0FVVEgsIG9yIE1BR0lDX0xJTksuSgYiT0lEQyISvgEKBnN0YXR1cxgEIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25TdGF0dXNCggGSQXwya0N1cnJlbnQgY29uZmlndXJhdGlvbiBzdGF0dXMgb2YgdGhlIGNvbm5lY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlIElOX1BST0dSRVNTLCBDT05GSUdVUkVELCBhbmQgRVJST1IuSg0iSU5fUFJPR1JFU1Mi4EEDEqIBCgdlbmFibGVkGAUgASgIQpABkkGMATKCAUNvbnRyb2xzIHdoZXRoZXIgdXNlcnMgY2FuIHNpZ24gaW4gdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBXaGVuIGZhbHNlLCB0aGUgY29ubmVjdGlvbiBleGlzdHMgYnV0IGNhbm5vdCBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBWZhbHNlEqIBCg1kZWJ1Z19lbmFibGVkGAYgASgIQooBkkGGATJ+RW5hYmxlcyB0ZXN0aW5nIG1vZGUgdGhhdCBhbGxvd3Mgbm9uLUhUVFBTIGVuZHBvaW50cy4gU2hvdWxkIG9ubHkgYmUgZW5hYmxlZCBpbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMsIG5ldmVyIGluIHByb2R1Y3Rpb24uSgR0cnVlErEBCg9vcmdhbml6YXRpb25faWQYByABKAlCkgGSQY4BMnRJZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gdGhhdCBvd25zIHRoaXMgY29ubmVjdGlvbi4gQ29ubmVjdGlvbnMgYXJlIHR5cGljYWxseSBzY29wZWQgdG8gYSBzaW5nbGUgb3JnYW5pemF0aW9uLkoWIm9yZ18yMTIzMzEyMTMxMTI1NTMzIkgBiAEBEq4BCg91aV9idXR0b25fdGl0bGUYCCABKAlClAGSQYEBMm1DdXN0b20gdGV4dCBzaG93biBvbiB0aGUgbG9naW4gYnV0dG9uIGluIHRoZSB1c2VyIGludGVyZmFjZS4gSGVscHMgdXNlcnMgaWRlbnRpZnkgd2hpY2ggU1NPIG9wdGlvbiB0byBzZWxlY3QuShAiTG9naW4gd2l0aCBTU08i+tLkkwIJEgdQUkVWSUVXEsIBChJjb25maWd1cmF0aW9uX3R5cGUYCSABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUJ6kkF3MmtIb3cgdGhlIGNvbm5lY3Rpb24gd2FzIGNvbmZpZ3VyZWQ6IERJU0NPVkVSWSAoYXV0b21hdGljIGNvbmZpZ3VyYXRpb24pIG9yIE1BTlVBTCAoYWRtaW5pc3RyYXRvciBjb25maWd1cmVkKUoIIk1BTlVBTCISzAEKE3Rlc3RfY29ubmVjdGlvbl91cmkYDCABKAlCrgGSQaoBMmZVUkkgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHRoaXMgY29ubmVjdGlvbi4gVmlzaXQgdGhpcyBVUkwgdG8gdmVyaWZ5IHRoZSBjb25uZWN0aW9uIHdvcmtzIGNvcnJlY3RseS5KQCJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMjEyMzMxMjEzMTEyNTUzMyIS7wEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMjkuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCmAGSQXwyek1hcHMgaWRlbnRpdHkgcHJvdmlkZXIgYXR0cmlidXRlcyB0byB1c2VyIHByb2ZpbGUgZmllbGRzLiBGb3IgZXhhbXBsZSwgeydlbWFpbCc6ICd1c2VyLm1haWwnLCAnbmFtZSc6ICd1c2VyLmRpc3BsYXlOYW1lJ30uukgWmgETEB4iBnIEEAEYZCoHcgUQARiAAhKlAQoLY3JlYXRlX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBmaXJzdCBjcmVhdGVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDEtMTVUMTQ6MzA6MDBaIuBBA/rS5JMCCRIHUFJFVklFVxKlAQoLdXBkYXRlX3RpbWUYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDItMjBUMDk6MTU6MzBaIuBBA/rS5JMCCRIHUFJFVklFVxKnAQoLb2lkY19jb25maWcYEiABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5PSURDQ29ubmVjdGlvbkNvbmZpZ0JhkkFeMlxDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9wZW5JRCBDb25uZWN0IChPSURDKSBjb25uZWN0aW9ucy4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBPSURDLkgAEp4BCgtzYW1sX2NvbmZpZxgTIAEoCzI1LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2VCUJJBTTJLQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBTQU1MIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFNBTUwuSAASmgEKDG9hdXRoX2NvbmZpZxgUIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0JSkkFPMk1Db25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9BdXRoIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIE9BVVRILkgAEqsBChNwYXNzd29yZGxlc3NfY29uZmlnGBYgASgLMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRMZXNzQ29uZmlnQl+SQVwyWkNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgTWFnaWMgTGluayBhdXRoZW50aWNhdGlvbi4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBNQUdJQ19MSU5LLkgAErIBCg1zdGF0aWNfY29uZmlnGBogASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0JukkFrMmlTdGF0aWMgY29uZmlndXJhdGlvbiBmb3IgY3VzdG9tIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIEJBU0lDLCBCRUFSRVIsIEFQSV9LRVksIG9yIGN1c3RvbS5IABKhAQoPd2ViYXV0aG5fY29uZmlnGBsgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb25CV5JBVDJSQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBXZWJBdXRobiAocGFzc2tleXMpLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFdFQkFVVEhOLkgAEnYKBmtleV9pZBgZIAEoCUJhkkFeMlxBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzLkgCiAEBEmgKDHByb3ZpZGVyX2tleRgXIAEoCUJSkkFPMkNLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyIHNlcnZpY2UgdGhhdCBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uSggiZ29vZ2xlIhKhAQoHZG9tYWlucxgYIAMoCzIbLnNjYWxla2l0LnYxLmRvbWFpbnMuRG9tYWluQnOSQXAyU0RvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb25uZWN0aW9uLCB1c2VkIGZvciBkb21haW4tYmFzZWQgYXV0aGVudGljYXRpb24gZmxvd3MuShlbeyJuYW1lIjogImV4YW1wbGUuY29tIn1dGjcKFUF0dHJpYnV0ZU1hcHBpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCHNldHRpbmdzQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX2tleV9pZEoECA0QDyJrChhDcmVhdGVDb25uZWN0aW9uUmVzcG9uc2USTwoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CFpJBEzIRQ29ubmVjdGlvbiBEZXRhaWwijQIKIlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QScAoNY29ubmVjdGlvbl9pZBgBIAEoCUJZkkFNMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiyj4F+gICaWS6SAZyBBABGCASdQoKY29ubmVjdGlvbhgDIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CNpJBLTIjQ29ubmVjdGlvbiBwcm9wZXJ0aWVzIHRvIGJlIHVwZGF0ZWTKPgX6AgJpZLpIA8gBASKuAwoXVXBkYXRlQ29ubmVjdGlvblJlcXVlc3QSYQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQkiSQTwyI09yZ2FuaXphdGlvbiBJRCBmb3IgdGhlIENvbm5lY3Rpb24uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASXQoCaWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBLKAQoKY29ubmVjdGlvbhgEIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CigGSQS0yI0Nvbm5lY3Rpb24gcHJvcGVydGllcyB0byBiZSB1cGRhdGVkyj4F+gICaWS6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi/Q8KEFVwZGF0ZUNvbm5lY3Rpb24SbQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCLpJBIzIXU1NPIENvbm5lY3Rpb24gUHJvdmlkZXJKCCJDVVNUT00iukgFggECEAESbAoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyIENvbm5lY3Rpb24gUHJvdG9jb2wgT0lEQyAvIFNBTUwgSgYiT0lEQyK6SAWCAQIQARKgAQoNZGVidWdfZW5hYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbZJBajJiRGVidWcgbW9kZSBmb3IgdGhlIGNvbm5lY3Rpb24uIERlYnVnIHdvdWxkIGFsbG93IG5vbiBIVFRQUyBlbmRwb2ludCB0byBiZSB1c2VkIHdpdGggdGhlIGNvbm5lY3Rpb25KBHRydWUSfgoPdWlfYnV0dG9uX3RpdGxlGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkeSQTUyIURpc3BsYXkgbmFtZSBmb3IgdGhlIExvZ2luIEJ1dHRvbkoQIkxvZ2luIHdpdGggU1NPIvrS5JMCCRIHUFJFVklFVxJrChJjb25maWd1cmF0aW9uX3R5cGUYCyABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUIjkkEgMhRDb25maWd1cmF0aW9uIFR5cGUuIEoIIk1BTlVBTCISiwEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMj8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCL5JBEzIRQXR0cmlidXRlIE1hcHBpbme6SBaaARMQHiIGcgQQARhkKgdyBRABGIACEncKC29pZGNfY29uZmlnGBAgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ0Nvbm5lY3Rpb25Db25maWdCMZJBLjIsT0lEQyBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9JRENIABJ+CgtzYW1sX2NvbmZpZxgRIAEoCzI0LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVxdWVzdEIxkkEuMixTQU1MIENvbmZpZ3VyYXRpb24gaWYgQ29ubmVjdGlvblR5cGUgPT0gU0FNTEgAEnsKDG9hdXRoX2NvbmZpZxgSIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0IzkkEwMi5PQXV0aCBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9BVVRISAASiQEKE3Bhc3N3b3JkbGVzc19jb25maWcYFCABKAsyKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5QYXNzd29yZExlc3NDb25maWdCPZJBOjI4TWFnaWMgTGluayBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE1BR0lDX0xJTktIABJCCg1zdGF0aWNfY29uZmlnGBcgASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0gAEqEBCg93ZWJhdXRobl9jb25maWcYGCABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbkJXkkFUMlJDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIFdlYkF1dGhuIChwYXNza2V5cykuIFByZXNlbnQgb25seSB3aGVuIHR5cGUgaXMgV0VCQVVUSE4uSAASHgoGa2V5X2lkGBYgASgJQgm6SAZyBBABGCBIAYgBARJoCgxwcm92aWRlcl9rZXkYFSABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSIaNwoVQXR0cmlidXRlTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAE6iwK6SIcCGlQSJHByb3ZpZGVyIG9yIHByb3ZpZGVyX2tleSBpcyByZXF1aXJlZBosaGFzKHRoaXMucHJvdmlkZXJfa2V5KSB8fCB0aGlzLnByb3ZpZGVyICE9IDAaYBIeaW52YWxpZCB2YWx1ZSBmb3IgcHJvdmlkZXJfa2V5Gj50aGlzLnByb3ZpZGVyID09IDE1ID8gdGhpcy5wcm92aWRlcl9rZXkgaW4gWydTQ0FMRUtJVCddIDogdHJ1ZRpNEhhpbnZhbGlkIHZhbHVlIGZvciBrZXlfaWQaMXRoaXMudHlwZSA9PSA5ID8gdGhpcy5rZXlfaWQgPT0gJ1dFQkFVVEhOJyA6IHRydWVCCgoIc2V0dGluZ3NCCQoHX2tleV9pZEoECAEQAkoECAQQBUoECAUQBkoECAkQC0oECAwQDyJ0ChhVcGRhdGVDb25uZWN0aW9uUmVzcG9uc2USWAoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CH5JBHDIaVXBkYXRlZCBDb25uZWN0aW9uIGRldGFpbHMijgEKIkRlbGV0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIuEBChdEZWxldGVDb25uZWN0aW9uUmVxdWVzdBJhCg9vcmdhbml6YXRpb25faWQYASABKAlCSJJBPDIjT3JnYW5pemF0aW9uIElEIGZvciB0aGUgQ29ubmVjdGlvbi5KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBJdCgJpZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIoQBCh9HZXRFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EmEKDWNvbm5lY3Rpb25faWQYASABKAlCSpJBPjIkVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBDb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIugCChRHZXRDb25uZWN0aW9uUmVxdWVzdBKqAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQpABkkGDATJqT3JnYW5pemF0aW9uIGlkZW50aWZpZXIgKHJlcXVpcmVkKS4gU3BlY2lmaWVzIHdoaWNoIG9yZ2FuaXphdGlvbiBvd25zIHRoZSBjb25uZWN0aW9uIHlvdSB3YW50IHRvIHJldHJpZXZlLkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggEpwBCgJpZBgDIAEoCUKPAZJBggEyaENvbm5lY3Rpb24gaWRlbnRpZmllciAocmVxdWlyZWQpLiBTcGVjaWZpZXMgd2hpY2ggc3BlY2lmaWMgY29ubmVjdGlvbiB0byByZXRyaWV2ZSBmcm9tIHRoZSBvcmdhbml6YXRpb24uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIo4CChVHZXRDb25uZWN0aW9uUmVzcG9uc2US9AEKCmNvbm5lY3Rpb24YASABKAsyIy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uQroBkkG2ATKzAUNvbXBsZXRlIGNvbm5lY3Rpb24gZGV0YWlscyBpbmNsdWRpbmcgcHJvdmlkZXIgY29uZmlndXJhdGlvbiwgcHJvdG9jb2wgc2V0dGluZ3MsIHN0YXR1cywgYW5kIGFsbCBtZXRhZGF0YS4gQ29udGFpbnMgZXZlcnl0aGluZyBuZWVkZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29ubmVjdGlvbidzIGN1cnJlbnQgc3RhdGUuIvQDChZMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0EnAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJSkkFGMi1GaWx0ZXIgY29ubmVjdGlvbnMgYnkgb3JnYW5pemF0aW9uIGlkZW50aWZpZXJKFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIEgAiAEBEncKBmRvbWFpbhgDIAEoCUJikkFWMkNGaWx0ZXIgY29ubmVjdGlvbnMgYnkgZW1haWwgZG9tYWluIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uSg8iaGVyby1zYWFzLmFwcCK6SAZyBBABGCBIAYgBARK9AQoHaW5jbHVkZRgEIAEoCUKmAZJBogEynwFGaWx0ZXIgY29ubmVjdGlvbnMgYnkgc3RhdHVzLiBVc2UgJ2FsbCcgdG8gaW5jbHVkZSBhbGwgY29ubmVjdGlvbnMgcmVnYXJkbGVzcyBvZiBzdGF0dXMuIERlZmF1bHQgYmVoYXZpb3Igc2hvd3Mgb25seSBhY3RpdmUgKGNvbXBsZXRlZCBhbmQgZW5hYmxlZCkgY29ubmVjdGlvbnNIAogBAUISChBfb3JnYW5pemF0aW9uX2lkQgkKB19kb21haW5CCgoIX2luY2x1ZGVKBAgCEAMijwEKF0xpc3RDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYSL6CgoOTGlzdENvbm5lY3Rpb24STQoCaWQYASABKAlCQZJBPjIjVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbm5lY3Rpb25KFyJjb25uXzIxMjMzMTIxMzExMjU1MzMiEoMBCghwcm92aWRlchgCIAEoDjIrLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25Qcm92aWRlckJEkkFBMjVJZGVudGl0eSBwcm92aWRlciB0eXBlIChlLmcuLCBPS1RBLCBHb29nbGUsIEF6dXJlIEFEKUoIIkNVU1RPTSIScgoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjuSQTgyLkF1dGhlbnRpY2F0aW9uIHByb3RvY29sIHVzZWQgYnkgdGhlIGNvbm5lY3Rpb25KBiJPSURDIhKAAQoGc3RhdHVzGAQgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblN0YXR1c0JFkkE/Mi5DdXJyZW50IGNvbmZpZ3VyYXRpb24gc3RhdHVzIG9mIHRoZSBjb25uZWN0aW9uSg0iSU5fUFJPR1JFU1Mi4EEDEl4KB2VuYWJsZWQYBSABKAhCTZJBSjJBV2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyBjdXJyZW50bHkgYWN0aXZlIGZvciBvcmdhbml6YXRpb24gdXNlcnNKBWZhbHNlEnUKD29yZ2FuaXphdGlvbl9pZBgGIAEoCUJckkFZMj9VbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgb3ducyB0aGlzIGNvbm5lY3Rpb25KFiJvcmdfMjEyMzMxMjEzMTEyNTUzMyISeQoPdWlfYnV0dG9uX3RpdGxlGAcgASgJQmCSQU4yOlRleHQgZGlzcGxheWVkIG9uIHRoZSBTU08gbG9naW4gYnV0dG9uIGZvciB0aGlzIGNvbm5lY3Rpb25KECJMb2dpbiB3aXRoIFNTTyL60uSTAgkSB1BSRVZJRVcSawoHZG9tYWlucxgIIAMoCUJakkFXMi9MaXN0IG9mIGRvbWFpbnMgY29uZmlndXJlZCB3aXRoIHRoaXMgY29ubmVjdGlvbkokWyJ5b3VyYXBwLmNvbSIsICJ5b3Vyd29ya3NwYWNlLmNvbSJdEl8KEW9yZ2FuaXphdGlvbl9uYW1lGAkgASgJQkSSQUEyKk5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiBvZiB0aGUgY29ubmVjdGlvbkoTIllvdXIgT3JnYW5pemF0aW9uIhJoCgxwcm92aWRlcl9rZXkYCiABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSISiQEKBmtleV9pZBgLIAEoCUJ5kkF2MltBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhKFAQoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCVZJBQDImV2hlbiB0aGlzIGNvbm5lY3Rpb24gd2FzIGZpcnN0IGNyZWF0ZWRKFiIyMDIzLTAxLTE1VDE0OjMwOjAwWiLgQQP60uSTAgkSB1BSRVZJRVciuQIKIkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1JlcXVlc3QSdgoJcGFnZV9zaXplGAEgASgNQmOSQVkyU01heGltdW0gbnVtYmVyIG9mIG9yZ2FuaXphdGlvbnMgdG8gcmV0dXJuIHBlciBwYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzAuSgIzMLpIBCoCGB4SmgEKCnBhZ2VfdG9rZW4YAiABKAlChQGSQYEBMmFUb2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgZm9yIHBhZ2luYXRpb24uIFByb3ZpZGUgdGhpcyB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuShxleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IuABCiNMaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEi2QYKJFNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBJlCgVxdWVyeRgBIAEoCUJRkkFHMi1TZWFyY2ggcXVlcnkgQ29ubmVjdGlvbiBJRCBvciBPcmdhbml6YXRpb24gSURKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SARyAhhkSACIAQESNgoIcHJvdmlkZXIYAiABKAlCH5JBHDISRmlsdGVyIGJ5IHByb3ZpZGVySgYiT0tUQSJIAYgBARJ1CgZzdGF0dXMYAyABKA4yKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uU3RhdHVzQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgCiAEBEnwKD2Nvbm5lY3Rpb25fdHlwZRgEIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgDiAEBEkYKB2VuYWJsZWQYByABKAhCMJJBLTIjRmlsdGVyIGJ5IGNvbm5lY3Rpb24gZW5hYmxlZCBzdGF0dXNKBiJ0cnVlIkgEiAEBEnYKCXBhZ2Vfc2l6ZRgFIAEoDUJjkkFZMlNNYXhpbXVtIG51bWJlciBvZiBvcmdhbml6YXRpb25zIHRvIHJldHVybiBwZXIgcGFnZS4gVmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMwLkoCMzC6SAQqAhgeEpoBCgpwYWdlX3Rva2VuGAYgASgJQoUBkkGBATJhVG9rZW4gZnJvbSBhIHByZXZpb3VzIHJlc3BvbnNlIGZvciBwYWdpbmF0aW9uLiBQcm92aWRlIHRoaXMgdG8gcmV0cmlldmUgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLkocZXlKd1lXZGxJam95TENKc2FXMXBkQ0k2TXpCOUIICgZfcXVlcnlCCwoJX3Byb3ZpZGVyQgkKB19zdGF0dXNCEgoQX2Nvbm5lY3Rpb25fdHlwZUIKCghfZW5hYmxlZCLiAQolU2VhcmNoT3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEijgEKIlRvZ2dsZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgCIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIooCChdUb2dnbGVDb25uZWN0aW9uUmVxdWVzdBKCAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQmmSQV0yRFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb25uZWN0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASZAoCaWQYAyABKAlCWJJBTDIyVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb25uZWN0aW9uIHRvIGJlIHRvZ2dsZWRKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCBKBAgCEAMipQIKGFRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZRKgAQoHZW5hYmxlZBgBIAEoCEKOAZJBigEygQFDdXJyZW50IHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFmdGVyIHRoZSBvcGVyYXRpb24uIFRydWUgbWVhbnMgdGhlIGNvbm5lY3Rpb24gaXMgbm93IGVuYWJsZWQgYW5kIGNhbiBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBHRydWUSVAoNZXJyb3JfbWVzc2FnZRgCIAEoCUI4kkE1MiRFcnJvciBtZXNzYWdlIGlmIHRoZSBvcGVyYXRpb24gZmFpbHNKDSJwbGFjZWhvbGRlciJIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSKNEAoUT0lEQ0Nvbm5lY3Rpb25Db25maWcSYgoGaXNzdWVyGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjSSQTEyCklzc3VlciBVUkxKIyJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgiEpcBChJkaXNjb3ZlcnlfZW5kcG9pbnQYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCXZJBWjISRGlzY292ZXJ5IEVuZHBvaW50SkQiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIhJ2Cg1hdXRob3JpemVfdXJpGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkGSQT4yDUF1dGhvcml6ZSBVUklKLSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvYXV0aG9yaXplIhJqCgl0b2tlbl91cmkYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOZJBNjIJVG9rZW4gVVJJSikiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL3Rva2VuIhJ1Cg11c2VyX2luZm9fdXJpGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkCSQT0yDVVzZXIgSW5mbyBVUklKLCJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdXNlcmluZm8iEmcKCGp3a3NfdXJpGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjeSQTQyCEpXS1MgVVJJSigiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL2p3a3MiElIKCWNsaWVudF9pZBgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIhkkEeMglDbGllbnQgSURKESJvYXV0aF9jbGllbnRfaWQiEl4KDWNsaWVudF9zZWNyZXQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCKZJBJjINQ2xpZW50IFNlY3JldEoVIm9hdXRoX2NsaWVudF9zZWNyZXQiElsKBnNjb3BlcxgKIAMoDjIiLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9JRENTY29wZUInkkEkMgtPSURDIFNjb3Blc0oVWyJvcGVuaWQiLCAicHJvZmlsZSJdEmMKD3Rva2VuX2F1dGhfdHlwZRgLIAEoDjImLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRva2VuQXV0aFR5cGVCIpJBHzIPVG9rZW4gQXV0aCBUeXBlSgwiVVJMX1BBUkFNUyISXQoMcmVkaXJlY3RfdXJpGAwgASgJQkeSQUQyDFJlZGlyZWN0IFVSSUo0Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2NhbGxiYWNrIhJJCgxwa2NlX2VuYWJsZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQheSQRQyDFBLQ0UgRW5hYmxlZEoEdHJ1ZRJVChNpZHBfbG9nb3V0X3JlcXVpcmVkGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKdAQoYcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQl2SQVcyGHBvc3QgbG9nb3V0IHJlZGlyZWN0IHVyaUo7Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2xvZ291dC9jYWxsYmFjayLgQQMSzAEKH2JhY2tjaGFubmVsX2xvZ291dF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVChAGSQX4yPGJhY2tjaGFubmVsIGxvZ291dCByZWRpcmVjdCB1cmkgd2hlcmUgaWRwIHNlbmRzIGxvZ291dF90b2tlbko+Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2JhY2tjaGFubmVsLWxvZ291dCLgQQMSrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUSmwEKIWppdF9wcm92aXNpb25pbmdfd2l0aF9zc29fZW5hYmxlZBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCVJJBUTJJSW5kaWNhdGVzIGlmIEp1c3QgSW4gVGltZSB1c2VyIHByb3Zpc2lvbmluZyBpcyBlbmFibGVkIGZvciB0aGUgY29ubmVjdGlvbkoEdHJ1ZSKOCgoVT0F1dGhDb25uZWN0aW9uQ29uZmlnEnYKDWF1dGhvcml6ZV91cmkYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQZJBPjINQXV0aG9yaXplIFVSSUotImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC9hdXRob3JpemUiEmoKCXRva2VuX3VyaRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI5kkE2MglUb2tlbiBVUklKKSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdG9rZW4iEnUKDXVzZXJfaW5mb191cmkYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQJJBPTINVXNlciBJbmZvIFVSSUosImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC91c2VyaW5mbyISUgoJY2xpZW50X2lkGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiGSQR4yCUNsaWVudCBJREoRIm9hdXRoX2NsaWVudF9pZCISXgoNY2xpZW50X3NlY3JldBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIpkkEmMg1DbGllbnQgU2VjcmV0ShUib2F1dGhfY2xpZW50X3NlY3JldCISNwoGc2NvcGVzGAogAygJQieSQSQyC09JREMgU2NvcGVzShVbIm9wZW5pZCIsICJwcm9maWxlIl0SVQoMcmVkaXJlY3RfdXJpGAwgASgJQj+SQTwyDFJlZGlyZWN0IFVSSUosImh0dHBzOi8veW91cmFwcC5jb20vc2VydmljZS9vYXV0aC9yZWRpcmVjdCISSQoMcGtjZV9lbmFibGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIXkkEUMgxQS0NFIEVuYWJsZWRKBHRydWUSTgoGcHJvbXB0GA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiCSQR0yE1Byb21wdCBmb3IgdGhlIHVzZXJKBiJub25lIhJbChJ1c2VfcGxhdGZvcm1fY3JlZHMYDyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQiOSQSAyGFVzZSBTY2FsZWtpdCBjcmVkZW50aWFsc0oEdHJ1ZRJOCgthY2Nlc3NfdHlwZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIbkkEYMgtBY2Nlc3MgVHlwZUoJIm9mZmxpbmUiEl0KEWN1c3RvbV9zY29wZV9uYW1lGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiSSQSEyEUN1c3RvbSBTY29wZSBOYW1lSgwidXNlcl9zY29wZSISrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUi6QYKElBhc3N3b3JkTGVzc0NvbmZpZxJXCgR0eXBlGAEgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRsZXNzVHlwZUIekkEbMhFQYXNzd29yZGxlc3MgVHlwZUoGIkxJTksiEkwKCWZyZXF1ZW5jeRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUIWkkETMg5MaW5rIEZyZXF1ZW5jeUoBMUgAiAEBElcKCHZhbGlkaXR5GAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlQiKSQR8yGExpbmsgVmFsaWRpdHkgaW4gU2Vjb25kc0oDNjAwSAGIAQESbAobZW5mb3JjZV9zYW1lX2Jyb3dzZXJfb3JpZ2luGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUImkkEjMhtFbmZvcmNlIFNhbWUgQnJvd3NlciBPcmlnaW5KBHRydWVIAogBARJfChVjb2RlX2NoYWxsZW5nZV9sZW5ndGgYBSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVCHZJBGjIVQ29kZSBDaGFsbGVuZ2UgTGVuZ3RoSgE2SAOIAQEScQoTY29kZV9jaGFsbGVuZ2VfdHlwZRgGIAEoDjIqLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvZGVDaGFsbGVuZ2VUeXBlQiOSQSAyE0NvZGUgQ2hhbGxlbmdlIFR5cGVKCSJOVU1FUklDIkgEiAEBEnIKLXJlZ2VuZXJhdGVfcGFzc3dvcmRsZXNzX2NyZWRlbnRpYWxzX29uX3Jlc2VuZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCGpJBFzIPUmVnZW5lcmF0ZSB0aGUgSgR0cnVlSAWIAQFCDAoKX2ZyZXF1ZW5jeUILCglfdmFsaWRpdHlCHgocX2VuZm9yY2Vfc2FtZV9icm93c2VyX29yaWdpbkIYChZfY29kZV9jaGFsbGVuZ2VfbGVuZ3RoQhYKFF9jb2RlX2NoYWxsZW5nZV90eXBlQjAKLl9yZWdlbmVyYXRlX3Bhc3N3b3JkbGVzc19jcmVkZW50aWFsc19vbl9yZXNlbmQiQgoQU3RhdGljQXV0aENvbmZpZxIuCg1zdGF0aWNfY29uZmlnGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKHHwoUV2ViQXV0aENvbmZpZ3VyYXRpb24SPAoCcnAYASABKAsyMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5ScBJOCgthdHRlc3RhdGlvbhgCIAEoCzI5LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLldlYkF1dGhDb25maWd1cmF0aW9uLkF0dGVzdGF0aW9uElQKDmF1dGhlbnRpY2F0b3JzGAMgASgLMjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uQXV0aGVudGljYXRvcnMSZQoXYXV0aGVudGljYXRvcl9zZWxlY3Rpb24YBCABKAsyRC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5BdXRoZW50aWNhdG9yU2VsZWN0aW9uEkYKB3RpbWVvdXQYBSABKAsyNS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5UaW1lb3V0EkwKGGVuYWJsZV9hdXRvX3JlZ2lzdHJhdGlvbhgGIAEoCEIqkkEnMiVFbmFibGUgYXV0byByZWdpc3RyYXRpb24gZm9yIFdlYkF1dGhuEkUKE3Nob3dfcGFzc2tleV9idXR0b24YByABKAhCKJJBJTIjU2hvdyBwYXNza2V5IGJ1dHRvbiBvbiBsb2dpbiBzY3JlZW4STwoYZW5hYmxlX2NvbmRpdGlvbmFsX2xvZ2luGAggASgIQi2SQSoyKEFsbG93IGF1dG9maWxsIG9mIHBhc3NrZXlzIGluIGxvZ2luIHBhZ2UaOgoCUnASFwoDaWRzGAEgAygJQgq6SAeSAQQIARAKEhsKB29yaWdpbnMYAiADKAlCCrpIB5IBBAgBEAoalAEKC0F0dGVzdGF0aW9uEloKFWNvbnZleWFuY2VfcHJlZmVyZW5jZRgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIdukgachhSBG5vbmVSCGluZGlyZWN0UgZkaXJlY3QSKQoXZW50ZXJwcmlzZV9hcHByb3ZlZF9pZHMYAiADKAlCCLpIBZIBAhAyGs4SCg5BdXRoZW50aWNhdG9ycxLMAgoOdmFsaWRhdGVfZW50cnkYASABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQpcCkkGTAhoaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUy9AFyZXF1aXJlcyB0aGF0IHRoZSBwcm92aWRlZCBtZXRhZGF0YSBoYXMgYW4gZW50cnkgZm9yIHRoZSBnaXZlbiBhdXRoZW50aWNhdG9yIHRvIGJlIGNvbnNpZGVyZWQgdmFsaWQuIEJ5IGRlZmF1bHQgYW4gQUFHVUlEIHdoaWNoIGhhcyBhIHplcm8gdmFsdWUgc2hvdWxkIGZhaWwgdmFsaWRhdGlvbiBpZiB2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQgaXMgbm90IHByb3ZpZGVkIHdpdGggdGhlIHZhbHVlIG9mIHRydWUuEvABCiF2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQqgBkkGkATKhAWlzIGFuIG9wdGlvbiB0aGF0IHBlcm1pdHMgYSB6ZXJvJ2QgQUFHVUlEIGZyb20gYW4gYXR0ZXN0YXRpb24gc3RhdGVtZW50IHRvIGF1dG9tYXRpY2FsbHkgcGFzcyBtZXRhZGF0YSB2YWxpZGF0aW9ucy4gR2VuZXJhbGx5IGhlbHBmdWwgdG8gdXNlIHdpdGggdmFsaWRhdGVfZW50cnkuErUBChB2YWxpZGF0ZV9hbmNob3JzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ/kkF8Mnp3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSB0cnVzdCBhbmNob3IgZnJvbSB0aGUgbWV0YWRhdGEgc3RhdGVtZW50LhKuAQoPdmFsaWRhdGVfc3RhdHVzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ5kkF2MnR3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudHMgQUFHVUlEIGFnYWluc3QgdGhlIGRlc2lyZWQgYW5kIHVuZGVzaXJlZCBsaXN0cxLIAQoZdmFsaWRhdGVfYXR0ZXN0YXRpb25fdHlwZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCiAGSQYQBMoEBd2hlbiBzZXQgdG8gdHJ1ZSBlbmFibGVzIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRlc3RhdGlvbiBzdGF0ZW1lbnRzIHR5cGUgYWdhaW5zdCB0aGUga25vd24gdHlwZXMgdGhlIGF1dGhlbnRpY2F0b3IgY2FuIHByb2R1Y2UuEp8EChxkZXNpcmVkX2F1dGhlbnRpY2F0b3Jfc3RhdHVzGAYgAygJQvgDkkGdATKWAXByb3ZpZGVzIHRoZSBsaXN0IG9mIHN0YXR1c2VzIHdoaWNoIGFyZSBjb25zaWRlcmVkIHVuZGVzaXJhYmxlIGZvciBzdGF0dXMgcmVwb3J0IHZhbGlkYXRpb24gcHVycG9zZXMuIFNob3VsZCBiZSB1c2VkIHdpdGggdmFsaWRhdGVfc3RhdHVzIHNldCB0byB0cnVlLjoCW126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzEqMFCh51bmRlc2lyZWRfYXV0aGVudGljYXRvcl9zdGF0dXMYByADKAlC+gSSQZ8CMpYBcHJvdmlkZXMgdGhlIGxpc3Qgb2Ygc3RhdHVzZXMgd2hpY2ggYXJlIGNvbnNpZGVyZWQgdW5kZXNpcmFibGUgZm9yIHN0YXR1cyByZXBvcnQgdmFsaWRhdGlvbiBwdXJwb3Nlcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCB2YWxpZGF0ZV9zdGF0dXMgc2V0IHRvIHRydWUuOoMBWydBVFRFU1RBVElPTl9LRVlfQ09NUFJPTUlTRScsICdVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1MnLCAnVVNFUl9LRVlfUkVNT1RFX0NPTVBST01JU0UnLCAnVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRScsICdSRVZPS0VEJ126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzGtsBChZBdXRoZW50aWNhdG9yU2VsZWN0aW9uEmAKEXVzZXJfdmVyaWZpY2F0aW9uGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQie6SCRyIlIIcmVxdWlyZWRSCXByZWZlcnJlZFILZGlzY291cmFnZWQSXwoYYXV0aGVudGljYXRvcl9hdHRhY2htZW50GAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQh+6SBxyGlIIcGxhdGZvcm1SDmNyb3NzLXBsYXRmb3JtGvMDCgdUaW1lb3V0EmoKDHJlZ2lzdHJhdGlvbhgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkI5kkEnMh1SZWdpc3RyYXRpb24gdGltZW91dCBkdXJhdGlvbjoGIjMwMHMiukgMqgEJIgMIiA4yAgh4EpQBChByZWdpc3RyYXRpb25fdXZkGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQl+SQU0yQ1JlZ2lzdHJhdGlvbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeBJcCgVsb2dpbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIykkEgMhZMb2dpbiB0aW1lb3V0IGR1cmF0aW9uOgYiMzAwcyK6SAyqAQkiAwiIDjICCHgShgEKCWxvZ2luX3V2ZBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJYkkFGMjxMb2dpbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeCKPEwobU0FNTENvbm5lY3Rpb25Db25maWdSZXF1ZXN0EnoKEGlkcF9tZXRhZGF0YV91cmwYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iEksKD2lkcF9jZXJ0aWZpY2F0ZRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIUkkERMg9JRFAgQ2VydGlmaWNhdGUSawoLaWRwX3Nsb191cmwYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNMTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zbG8iEl0KD3VpX2J1dHRvbl90aXRsZRgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUImkkEjMg9VSSBCdXR0b24gVGl0bGVKECJMb2dpbiB3aXRoIFNTTyISYwoSaWRwX25hbWVfaWRfZm9ybWF0GAcgASgOMiUuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTmFtZUlkRm9ybWF0QiCSQR0yEklEUCBOYW1lIElEIEZvcm1hdEoHIkVNQUlMIhJzChdpZHBfc3NvX3JlcXVlc3RfYmluZGluZxgIIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQimSQSYyF0lEUCBTU08gUmVxdWVzdCBCaW5kaW5nSgsiSFRUUF9QT1NUIhJ3ChdpZHBfc2xvX3JlcXVlc3RfYmluZGluZxgJIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQi2SQSoyF0lEUCBTTE8gUmVxdWVzdCBCaW5kaW5nSg8iSFRUUF9SRURJUkVDVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YCiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJHCgtmb3JjZV9hdXRobhgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCFpJBEzILRm9yY2UgQXV0aG5KBHRydWUSggEKFGRlZmF1bHRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkaSQUMyFERlZmF1bHQgUmVkaXJlY3QgVVJJSisiaHR0cHM6Ly95b3VyYXBwLmNvbS9zZXJ2aWNlL3NhbWwvcmVkaXJlY3QiElcKE2Fzc2VydGlvbl9lbmNyeXB0ZWQYECABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQh6SQRsyE0Fzc2VydGlvbiBFbmNyeXB0ZWRKBHRydWUSVwoTd2FudF9yZXF1ZXN0X3NpZ25lZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITV2FudCBSZXF1ZXN0IFNpZ25lZEoEdHJ1ZRJiCg5jZXJ0aWZpY2F0ZV9pZBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIskkEpMg5DZXJ0aWZpY2F0ZSBJREoXImNlcl8zNTU4NTQyMzE2NjE0NDYxMyISUgoQaWRwX3Nsb19yZXF1aXJlZBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHJJBGTIRRW5hYmxlIElEUCBsb2dvdXRKBHRydWUShAEKDHNwX2VudGl0eV9pZBgUIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJQkkFNMhpTZXJ2aWNlIFByb3ZpZGVyIEVudGl0eSBJREovImh0dHBzOi8vZW52LnNjYWxla2l0LmNvbS9zc28vdjEvc2FtbC9jb25uXzEyMyISjwEKEHNwX2Fzc2VydGlvbl91cmwYFSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCV5JBVDIYU2VydmljZSBQcm92aWRlciBTU08gVVJMSjgiaHR0cHM6Ly9lbnYuc2NhbGVraXQuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzL2NhbGxiYWNrIhKEAQoKc3Bfc2xvX3VybBgWIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJSkkFPMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyBVUkxKMyJodHRwczovL2Vudi5zY2FsZWtpdC5jb20vc3NvL3YxL3NhbWwvY29ubl8xMjMvc2xvIhKuAQoac3luY191c2VyX3Byb2ZpbGVfb25fbG9naW4YFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQm6SQWsyY0luZGljYXRlcyB3aGV0aGVyIHVzZXIgcHJvZmlsZXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBpZGVudGl0eSBwcm92aWRlciB1cG9uIGVhY2ggbG9nLWluLkoEdHJ1ZRKbAQohaml0X3Byb3Zpc2lvbmluZ193aXRoX3Nzb19lbmFibGVkGBggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRMklJbmRpY2F0ZXMgaWYgSnVzdCBJbiBUaW1lIHVzZXIgcHJvdmlzaW9uaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBjb25uZWN0aW9uSgR0cnVlSgQICxAMIu8TChxTQU1MQ29ubmVjdGlvbkNvbmZpZ1Jlc3BvbnNlEksKDHNwX2VudGl0eV9pZBgBIAEoCUI1kkEyMgxTUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbCISXQoQc3BfYXNzZXJ0aW9uX3VybBgCIAEoCUJDkkFAMhBTUCBBc3NlcnRpb24gVVJMSiwiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvYXNzZXJ0aW9uIhJaCg9zcF9tZXRhZGF0YV91cmwYAyABKAlCQZJBPjIPU1AgTWV0YWRhdGEgVVJMSisiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvbWV0YWRhdGEiEnoKEGlkcF9tZXRhZGF0YV91cmwYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYBiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iElgKEGlkcF9jZXJ0aWZpY2F0ZXMYByADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5JRFBDZXJ0aWZpY2F0ZUIVkkESMhBJRFAgQ2VydGlmaWNhdGVzEmsKC2lkcF9zbG9fdXJsGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTTE8gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc2xvIhJdCg91aV9idXR0b25fdGl0bGUYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCJpJBIzIPVUkgQnV0dG9uIFRpdGxlShAiTG9naW4gd2l0aCBTU08iEmMKEmlkcF9uYW1lX2lkX2Zvcm1hdBgKIAEoDjIlLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk5hbWVJZEZvcm1hdEIgkkEdMhJJRFAgTmFtZSBJRCBGb3JtYXRKByJFTUFJTCIScwoXaWRwX3Nzb19yZXF1ZXN0X2JpbmRpbmcYCyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU1NPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCIScwoXaWRwX3Nsb19yZXF1ZXN0X2JpbmRpbmcYDCABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU0xPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YDSABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJjChlhbGxvd19pZHBfaW5pdGlhdGVkX2xvZ2luGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIkkkEhMhlBbGxvdyBJRFAgSW5pdGlhdGVkIExvZ2luSgR0cnVlEkcKC2ZvcmNlX2F1dGhuGA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIWkkETMgtGb3JjZSBBdXRobkoEdHJ1ZRKCAQoUZGVmYXVsdF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCRpJBQzIURGVmYXVsdCBSZWRpcmVjdCBVUklKKyJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbC9yZWRpcmVjdCISVwoTYXNzZXJ0aW9uX2VuY3J5cHRlZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITQXNzZXJ0aW9uIEVuY3J5cHRlZEoEdHJ1ZRJXChN3YW50X3JlcXVlc3Rfc2lnbmVkGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIekkEbMhNXYW50IFJlcXVlc3QgU2lnbmVkSgR0cnVlEmIKDmNlcnRpZmljYXRlX2lkGBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiySQSkyDkNlcnRpZmljYXRlIElEShciY2VyXzM1NTg1NDIzMTY2MTQ0NjEzIhJSChBpZHBfc2xvX3JlcXVpcmVkGBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKMAQoKc3Bfc2xvX3VybBgVIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJakkFUMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyB1cmxKOCJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzNC9zbG8vY2FsbGJhY2si4EEDEq4BChpzeW5jX3VzZXJfcHJvZmlsZV9vbl9sb2dpbhgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbpJBazJjSW5kaWNhdGVzIHdoZXRoZXIgdXNlciBwcm9maWxlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIGlkZW50aXR5IHByb3ZpZGVyIHVwb24gZWFjaCBsb2ctaW4uSgR0cnVlEpsBCiFqaXRfcHJvdmlzaW9uaW5nX3dpdGhfc3NvX2VuYWJsZWQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQlSSQVEySUluZGljYXRlcyBpZiBKdXN0IEluIFRpbWUgdXNlciBwcm92aXNpb25pbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGNvbm5lY3Rpb25KBHRydWUijgMKDklEUENlcnRpZmljYXRlEikKC2NlcnRpZmljYXRlGAEgASgJQhSSQREyD0lEUCBDZXJ0aWZpY2F0ZRJnCgtjcmVhdGVfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNpJBMzIZQ2VydGlmaWNhdGUgQ3JlYXRpb24gVGltZUoWIjIwMjEtMDktMDFUMDA6MDA6MDBaIhJlCgtleHBpcnlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNJJBMTIXQ2VydGlmaWNhdGUgRXhwaXJ5IFRpbWVKFiIyMDIxLTA5LTAxVDAwOjAwOjAwWiISNAoCaWQYBCABKAlCKJJBJTIOQ2VydGlmaWNhdGUgSURKEyJjZXJ0XzEyMzEyMzEyMzEyMyISSwoGaXNzdWVyGAUgASgJQjuSQTgyEkNlcnRpZmljYXRlIElzc3VlckoiImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sIiJYChZHZXRPSURDTWV0YWRhdGFSZXF1ZXN0Ej4KCG1ldGFkYXRhGAEgASgLMiwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ01ldGFkYXRhUmVxdWVzdCIxChNPSURDTWV0YWRhdGFSZXF1ZXN0EhoKBmlzc3VlchgBIAEoCUIKukgHcgUQARjIASKOAQoXR2V0T0lEQ01ldGFkYXRhUmVzcG9uc2USDgoGaXNzdWVyGAEgASgJEh4KFmF1dGhvcml6YXRpb25fZW5kcG9pbnQYAiABKAkSFgoOdG9rZW5fZW5kcG9pbnQYAyABKAkSGQoRdXNlcmluZm9fZW5kcG9pbnQYBCABKAkSEAoIandrc191cmkYBSABKAkiWAoWR2V0U0FNTE1ldGFkYXRhUmVxdWVzdBI+CghtZXRhZGF0YRgBIAEoCzIsLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxNZXRhZGF0YVJlcXVlc3QiNwoTU0FNTE1ldGFkYXRhUmVxdWVzdBIgCgxtZXRhZGF0YV91cmwYASABKAlCCrpIB3IFEAEYyAEiyQEKF0dldFNBTUxNZXRhZGF0YVJlc3BvbnNlEhUKDWlkcF9lbnRpdHlfaWQYASABKAkSEwoLaWRwX3Nzb191cmwYAiABKAkSEwoLaWRwX3Nsb191cmwYAyABKAkSGAoQaWRwX2NlcnRpZmljYXRlcxgEIAMoCRIaChJpZHBfbmFtZV9pZF9mb3JtYXQYBSABKAkSFwoPcmVxdWVzdF9iaW5kaW5nGAYgASgJEh4KFndhbnRfYXNzZXJ0aW9uc19zaWduZWQYByABKAgiaAogR2V0U0FNTENlcnRpZmljYXRlRGV0YWlsc1JlcXVlc3QSRAoLY2VydGlmaWNhdGUYASABKAsyLy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MQ2VydGlmaWNhdGVSZXF1ZXN0Ii8KFlNBTUxDZXJ0aWZpY2F0ZVJlcXVlc3QSFQoEdGV4dBgBIAEoCUIHukgEcgIQASJ5CiFHZXRTQU1MQ2VydGlmaWNhdGVEZXRhaWxzUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIRCglub3RfYWZ0ZXIYAiABKAMSEgoKbm90X2JlZm9yZRgDIAEoAxIPCgdzdWJqZWN0GAQgASgJEg4KBmlzc3VlchgFIAEoCSJpCh5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QSHgoNY29ubmVjdGlvbl9pZBgBIAEoCUIHukgEcgIQARInCg90ZXN0X3JlcXVlc3RfaWQYAiABKAlCDrpIC3IJEAE6BXRlc3RfIoQCCh9HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlEjkKBnN0YXR1cxgBIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRlc3RSZXN1bHRTdGF0dXMSFgoJdXNlcl9pbmZvGAIgASgJSACIAQESEgoFZXJyb3IYAyABKAlIAYgBARIeChFlcnJvcl9kZXNjcmlwdGlvbhgEIAEoCUgCiAEBEhoKDWVycm9yX2RldGFpbHMYBSABKAlIA4gBAUIMCgpfdXNlcl9pbmZvQggKBl9lcnJvckIUChJfZXJyb3JfZGVzY3JpcHRpb25CEAoOX2Vycm9yX2RldGFpbHMiGgoYUGFzc3dvcmRDb25uZWN0aW9uQ29uZmlnIikKBUZsYWdzEhAKCGlzX2xvZ2luGAEgASgIEg4KBmlzX2FwcBgCIAEoCCKKAwoZTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBJ2CglwYWdlX3NpemUYASABKA1CY5JBWTJTTWF4aW11bSBudW1iZXIgb2Ygb3JnYW5pemF0aW9ucyB0byByZXR1cm4gcGVyIHBhZ2UuIFZhbHVlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMC5KAjMwukgEKgIYHhKaAQoKcGFnZV90b2tlbhgCIAEoCUKFAZJBgQEyYVRva2VuIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSBmb3IgcGFnaW5hdGlvbi4gUHJvdmlkZSB0aGlzIHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy5KHGV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkSSwoIcHJvdmlkZXIYAyABKAlCNJJBKDIeRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IHByb3ZpZGVySgYiT0tUQSK6SAZyBBABGDJIAIgBAUILCglfcHJvdmlkZXIiswMKGkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYRJgCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCR5JBRDIiVG9rZW4gZm9yIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiEmQKD3ByZXZfcGFnZV90b2tlbhgDIAEoCUJLkkFIMiZUb2tlbiBmb3IgdGhlIHByZXZpb3VzIHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiElcKCnRvdGFsX3NpemUYBCABKA1CQ5JBQDI5VG90YWwgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSByZXF1ZXN0IGNyaXRlcmlhSgMxMDAqVwoRQ29kZUNoYWxsZW5nZVR5cGUSIwofQ09ERV9DSEFMTEVOR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB05VTUVSSUMQARIQCgxBTFBIQU5VTUVSSUMQAipSChFDb25maWd1cmF0aW9uVHlwZRIiCh5DT05GSUdVUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABINCglESVNDT1ZFUlkQARIKCgZNQU5VQUwQAiphCgxOYW1lSWRGb3JtYXQSFgoSTkFNRV9JRF9GT1JNQVRfTklMEAASDwoLVU5TUEVDSUZJRUQQARIJCgVFTUFJTBACEg0KCVRSQU5TSUVOVBADEg4KClBFUlNJU1RFTlQQBCpVChBQYXNzd29yZGxlc3NUeXBlEiAKHFBhc3N3b3JkbGVzc1R5cGVfVU5TUEVDSUZJRUQQABIICgRMSU5LEAESBwoDT1RQEAISDAoITElOS19PVFAQAyo5ChBUZXN0UmVzdWx0U3RhdHVzEgsKB1BFTkRJTkcQABILCgdTVUNDRVNTEAESCwoHRkFJTFVSRRACKtgBChJTQU1MU2lnbmluZ09wdGlvbnMSJAogU0FNTF9TSUdOSU5HX09QVElPTlNfVU5TUEVDSUZJRUQQABIOCgpOT19TSUdOSU5HEAESHgoaU0FNTF9PTkxZX1JFU1BPTlNFX1NJR05JTkcQAhIfChtTQU1MX09OTFlfQVNTRVJUSU9OX1NJR05JTkcQAxIjCh9TQU1MX1JFU1BPTlNFX0FTU0VSVElPTl9TSUdOSU5HEAQSJgoiU0FNTF9SRVNQT05TRV9PUl9BU1NFUlRJT05fU0lHTklORxAFKlMKDlJlcXVlc3RCaW5kaW5nEh8KG1JFUVVFU1RfQklORElOR19VTlNQRUNJRklFRBAAEg0KCUhUVFBfUE9TVBABEhEKDUhUVFBfUkVESVJFQ1QQAipQCg1Ub2tlbkF1dGhUeXBlEh8KG1RPS0VOX0FVVEhfVFlQRV9VTlNQRUNJRklFRBAAEg4KClVSTF9QQVJBTVMQARIOCgpCQVNJQ19BVVRIEAIqYwoJT0lEQ1Njb3BlEhoKFk9JRENfU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZvcGVuaWQQARILCgdwcm9maWxlEAISCQoFZW1haWwQAxILCgdhZGRyZXNzEAQSCQoFcGhvbmUQBSqOAQoOQ29ubmVjdGlvblR5cGUSCwoHSU5WQUxJRBAAEggKBE9JREMQARIICgRTQU1MEAISDAoIUEFTU1dPUkQQAxIJCgVPQVVUSBAEEhAKDFBBU1NXT1JETEVTUxAFEgkKBUJBU0lDEAYSCgoGQkVBUkVSEAcSCwoHQVBJX0tFWRAIEgwKCFdFQkFVVEhOEAkqYAoQQ29ubmVjdGlvblN0YXR1cxIhCh1DT05ORUNUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEgkKBURSQUZUEAESDwoLSU5fUFJPR1JFU1MQAhINCglDT01QTEVURUQQAyqYAgoSQ29ubmVjdGlvblByb3ZpZGVyEiMKH0NPTk5FQ1RJT05fUFJPVklERVJfVU5TUEVDSUZJRUQQABIICgRPS1RBEAESCgoGR09PR0xFEAISEAoMTUlDUk9TT0ZUX0FEEAMSCQoFQVVUSDAQBBIMCghPTkVMT0dJThAFEhEKDVBJTkdfSURFTlRJVFkQBhINCglKVU1QQ0xPVUQQBxIKCgZDVVNUT00QCBIKCgZHSVRIVUIQCRIKCgZHSVRMQUIQChIMCghMSU5LRURJThALEg4KClNBTEVTRk9SQ0UQDBINCglNSUNST1NPRlQQDRIRCg1JRFBfU0lNVUxBVE9SEA4SDAoIU0NBTEVLSVQQDxIICgRBREZTEBAyjz0KEUNvbm5lY3Rpb25TZXJ2aWNlEpEDChtDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlIoECkkHBAQoLQ29ubmVjdGlvbnMSF0NyZWF0ZSBhIG5ldyBjb25uZWN0aW9uGjhFc3RhYmxpc2ggYSBuZXcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBlbnZpcm9ubWVudEpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiE6CmNvbm5lY3Rpb24iEy9hcGkvdjEvY29ubmVjdGlvbnMSoAMKEENyZWF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSKmApJBxgEKC0Nvbm5lY3Rpb25zEhdDcmVhdGUgYSBuZXcgY29ubmVjdGlvbho9RXN0YWJsaXNoIGEgbmV3IFNTTyBjb25uZWN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbkpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkE6CmNvbm5lY3Rpb24iMy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucxK6BAoZQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvbhI5LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0Gjouc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlIqUDkkG2AgoLQ29ubmVjdGlvbnMSHkFzc2lnbiBkb21haW5zIHRvIGEgY29ubmVjdGlvbhqeAUFzc2lnbnMgb25lIG9yIG1vcmUgZG9tYWlucyB0byBhIHNwZWNpZmljIGNvbm5lY3Rpb24gd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gVGhpcyBhbGxvd3MgdGhlIGNvbm5lY3Rpb24gdG8gYmUgdXNlZCBmb3IgYXV0aGVudGljYXRpb24gb24gdGhlIHNwZWNpZmllZCBkb21haW5zSmYKAzIwMBJfCh1Eb21haW5zIGFzc2lnbmVkIHN1Y2Nlc3NmdWxseRI+CjwaOi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Bc3NpZ25Eb21haW5zVG9Db25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAlA6ASoaSy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vZG9tYWlucxKyAwoYR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uEjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0RW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZSKrApJB5wEKC0Nvbm5lY3Rpb25zEhtSZXRyaWV2ZSBjb25uZWN0aW9uIGRldGFpbHMaU09idGFpbiBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGNvbm5lY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVySmYKAzIwMBJfCilTdWNjZXNzZnVsbHkgcmV0cmlldmVkIGNvbm5lY3Rpb24gZGV0YWlscxIyCjAaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9ErwECg1HZXRDb25uZWN0aW9uEi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblJlcXVlc3QaLi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVzcG9uc2UiywOSQYEDCgtDb25uZWN0aW9ucxIWR2V0IGNvbm5lY3Rpb24gZGV0YWlscxrRAVJldHJpZXZlcyB0aGUgY29tcGxldGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdHVzIGRldGFpbHMgZm9yIGEgc3BlY2lmaWMgY29ubmVjdGlvbiBieSBpdHMgSUQgd2l0aGluIGFuIG9yZ2FuaXphdGlvbi4gUmV0dXJucyBhbGwgY29ubmVjdGlvbiBwcm9wZXJ0aWVzIGluY2x1ZGluZyBwcm92aWRlciBzZXR0aW5ncywgcHJvdG9jb2xzLCBhbmQgY3VycmVudCBzdGF0dXMuSoUBCgMyMDASfgpIU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9uIGRldGFpbHMgZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uEjIKMBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZYK1GAIYZILT5JMCOhI4L2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH0S0gIKD0xpc3RDb25uZWN0aW9ucxIvLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uc1JlcXVlc3QaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZSLbAZJBtgEKC0Nvbm5lY3Rpb25zEhBMaXN0IGNvbm5lY3Rpb25zGjJSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGluIHRoZSBlbnZpcm9ubWVudEphCgMyMDASWgoiU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9ucxI0CjIaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZYK1GAIYZILT5JMCFRITL2FwaS92MS9jb25uZWN0aW9ucxK1AwobTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo8LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlIpoCkkHWAQoLQ29ubmVjdGlvbnMSHUxpc3Qgb3JnYW5pemF0aW9uIGNvbm5lY3Rpb25zGjlSZXRyaWV2ZXMgYSBsaXN0IG9mIGNvbm5lY3Rpb25zIGZvciBhbGwgdGhlIG9yZ2FuaXphdGlvbnNKbQoDMjAwEmYKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSQAo+Gjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiUSIy9hcGkvdjEvb3JnYW5pemF0aW9ucy8tL2Nvbm5lY3Rpb25zEs0DCh1TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9ucxI9LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBo+LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UirAKSQeEBCgtDb25uZWN0aW9ucxIfU2VhcmNoIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9ucxpEU2VhcmNoIHdpdGggcXVlcnkgb3IgZmlsdGVycyBwcm92aWRlZCBhbmQgcmV0dXJuIGxpc3Qgb2YgY29ubmVjdGlvbnNKawoDMjAwEmQKHlN1Y2Nlc3NmdWxseSBmb3VuZCBjb25uZWN0aW9ucxJCCkAaPi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TZWFyY2hPcmdhbml6YXRpb25Db25uZWN0aW9uc1Jlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIsEiovYXBpL3YxL29yZ2FuaXphdGlvbnMvLS9jb25uZWN0aW9uczpzZWFyY2gS8QIKG1VwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvbhI7LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2Ui4QGSQZEBCgtDb25uZWN0aW9ucxITVXBkYXRlIGEgY29ubmVjdGlvbhoXVXBkYXRlIGEgU1NPIENvbm5lY3Rpb25KVAoDMjAwEk0KFFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCMToKY29ubmVjdGlvbjIjL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0SgQMKEFVwZGF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZSKHApJBogEKC0Nvbm5lY3Rpb25zEiRVcGRhdGUgYSBjb25uZWN0aW9uIGZvciBvcmdhbml6YXRpb24aF1VwZGF0ZSBhIFNTTyBDb25uZWN0aW9uSlQKAzIwMBJNChRVcGRhdGVkIFN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5VcGRhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAkY6CmNvbm5lY3Rpb24yOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9EpICChtEZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5EZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ip0BkkFaCgtDb25uZWN0aW9ucxITRGVsZXRlIGEgY29ubmVjdGlvbhoXRGVsZXRlIGEgU1NPIENvbm5lY3Rpb25KHQoDMjAwEhYKFERlbGV0ZWQgU3VjY2Vzc2Z1bGx5grUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIlKiMvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfRKiAgoQRGVsZXRlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkRlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IsMBkkFrCgtDb25uZWN0aW9ucxIkRGVsZXRlIGEgY29ubmVjdGlvbiBmb3Igb3JnYW5pemF0aW9uGhdEZWxldGUgYSBTU08gQ29ubmVjdGlvbkodCgMyMDASFgoURGVsZXRlZCBTdWNjZXNzZnVsbHmCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAjoqOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9Et8CChtFbmFibGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlIs8BkkGEAQoLQ29ubmVjdGlvbnMSE0VuYWJsZSBhIGNvbm5lY3Rpb24aF0VuYWJsZSBhIFNTTyBDb25uZWN0aW9uSkcKAzIwMBJACgdTdWNjZXNzEjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCLDIqL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH06ZW5hYmxlEsoEChBFbmFibGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui0AOSQf8CCgtDb25uZWN0aW9ucxIeRW5hYmxlIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9uGu4BQWN0aXZhdGUgYW4gZXhpc3RpbmcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFdoZW4gZW5hYmxlZCwgdXNlcnMgY2FuIGF1dGhlbnRpY2F0ZSB1c2luZyB0aGlzIGNvbm5lY3Rpb24uIFRoaXMgZW5kcG9pbnQgY2hhbmdlcyB0aGUgY29ubmVjdGlvbiBzdGF0ZSBmcm9tIGRpc2FibGVkIHRvIGVuYWJsZWQgd2l0aG91dCBtb2RpZnlpbmcgb3RoZXIgY29uZmlndXJhdGlvbiBzZXR0aW5nc0pfCgMyMDASWAofQ29ubmVjdGlvbiBlbmFibGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGGSC0+STAkEyPy9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9OmVuYWJsZRLjAgocRGlzYWJsZUVudmlyb25tZW50Q29ubmVjdGlvbhI7LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui0gGSQYYBCgtDb25uZWN0aW9ucxIURGlzYWJsZSBhIGNvbm5lY3Rpb24aGERpc2FibGUgYSBTU08gQ29ubmVjdGlvbkpHCgMyMDASQAoHU3VjY2VzcxI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAi0yKy9hcGkvdjEvY29ubmVjdGlvbnMve2Nvbm5lY3Rpb25faWR9OmRpc2FibGUS1AQKEURpc2FibGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui2QOSQYcDCgtDb25uZWN0aW9ucxIfRGlzYWJsZSBvcmdhbml6YXRpb24gY29ubmVjdGlvbhr0AURlYWN0aXZhdGUgYW4gZXhpc3RpbmcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFdoZW4gZGlzYWJsZWQsIHVzZXJzIGNhbm5vdCBhdXRoZW50aWNhdGUgdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBUaGlzIGVuZHBvaW50IGNoYW5nZXMgdGhlIGNvbm5lY3Rpb24gc3RhdGUgZnJvbSBlbmFibGVkIHRvIGRpc2FibGVkIHdpdGhvdXQgbW9kaWZ5aW5nIG90aGVyIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3NKYAoDMjAwElkKIENvbm5lY3Rpb24gZGlzYWJsZWQgc3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYZILT5JMCQjJAL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tpZH06ZGlzYWJsZRKAAwoXR2V0Q29ubmVjdGlvblRlc3RSZXN1bHQSNy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QaOC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlIvEBkkGNAQoLQ29ubmVjdGlvbnMSFlRlc3QgY29ubmVjdGlvbiByZXN1bHQaFkNvbm5lY3Rpb24gdGVzdCByZXN1bHRKTgoDMjAwEkcKB1N1Y2Nlc3MSPAo6Gjguc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblRlc3RSZXN1bHRSZXNwb25zZYK1GAIYZPrS5JMCCRIHUFJFVklFV4LT5JMCRRJDL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0vdGVzdC1yZXF1ZXN0cy97dGVzdF9yZXF1ZXN0X2lkfRL2AgoSTGlzdEFwcENvbm5lY3Rpb25zEjIuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBozLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlIvYBkkG+AQoLQ29ubmVjdGlvbnMSFExpc3QgQXBwIGNvbm5lY3Rpb25zGjZSZXRyaWV2ZXMgYSBsaXN0IG9mIGFwcCBjb25uZWN0aW9ucyBpbiB0aGUgZW52aXJvbm1lbnRKYQoDMjAwEloKIlN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbnMSNAoyGjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAhkSFy9hcGkvdjEvY29ubmVjdGlvbnMvYXBwGpoBkkGWAQoLQ29ubmVjdGlvbnMShgFNYW5hZ2UgZW50ZXJwcmlzZSBjb25uZWN0aW9ucyBmb3IgeW91ciBTY2FsZWtpdCBlbnZpcm9ubWVudC4gVGhpcyBzZXJ2aWNlIHByb3ZpZGVzIGVuZHBvaW50cyBmb3IgcmV0cmlldmluZywgYW5kIHVwZGF0aW5nIGNvbm5lY3Rpb25zLkI3WjVnaXRodWIuY29tL3NjYWxla2l0LWluYy9zY2FsZWtpdC9wa2cvZ3JwYy9jb25uZWN0aW9uc2IGcHJvdG8z", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_duration, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, wkt_1.file_google_protobuf_wrappers, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, domains_pb_1.file_scalekit_v1_domains_domains, options_pb_1.file_scalekit_v1_options_options]);
20
+ exports.file_scalekit_v1_connections_connections = (0, codegenv2_1.fileDesc)("CilzY2FsZWtpdC92MS9jb25uZWN0aW9ucy9jb25uZWN0aW9ucy5wcm90bxIXc2NhbGVraXQudjEuY29ubmVjdGlvbnMimwEKIEFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXF1ZXN0EisKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUISukgPyAEBcgoQARggOgRvcmdfEioKDWNvbm5lY3Rpb25faWQYAiABKAlCE7pIEMgBAXILEAEYIDoFY29ubl8SHgoKZG9tYWluX2lkcxgDIAMoCUIKukgHkgEECAAQMiLaAwohQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlErQDCgpjb25uZWN0aW9uGAEgASgLMiMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbkL6ApJB9gIyIENvbm5lY3Rpb24gd2l0aCBhc3NpZ25lZCBkb21haW5zStECewogICJpZCI6ICJjb25uXzEyMzQ1Njc4OTAiLAogICJwcm92aWRlciI6ICJPS1RBIiwKICAidHlwZSI6ICJPSURDIiwKICAic3RhdHVzIjogIkNPTkZJR1VSRUQiLAogICJlbmFibGVkIjogdHJ1ZSwKICAiZGVidWdfZW5hYmxlZCI6IGZhbHNlLAogICJvcmdhbml6YXRpb25faWQiOiAib3JnXzEyMzQ1Njc4OTAiLAogICJ1aV9idXR0b25fdGl0bGUiOiAiTG9naW4gd2l0aCBTU08iLAogICJjb25maWd1cmF0aW9uX3R5cGUiOiAiTUFOVUFMIiwKICAidGVzdF9jb25uZWN0aW9uX3VyaSI6ICJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMTIzNDU2Nzg5MCIKfSIVChNHZXRQcm92aWRlcnNSZXF1ZXN0IkwKFEdldFByb3ZpZGVyc1Jlc3BvbnNlEjQKCXByb3ZpZGVycxgBIAMoCzIhLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlByb3ZpZGVyItIBCghQcm92aWRlchIuCgZrZXlfaWQYASABKAlCHpJBGzIPUHJvdmlkZXIgS2V5IElESggiZ29vZ2xlIhI6CgxkaXNwbGF5X25hbWUYAiABKAlCJJJBITIVUHJvdmlkZXIgRGlzcGxheSBOYW1lSggiR29vZ2xlIhJKCgtkZXNjcmlwdGlvbhgDIAEoCUIwkkEtMhRQcm92aWRlciBEZXNjcmlwdGlvbkoVIlNpZ24gSW4gV2l0aCBHb29nbGUiSACIAQFCDgoMX2Rlc2NyaXB0aW9uIpsCCiJDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EkUKCmNvbm5lY3Rpb24YASABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQga6SAPIAQESowEKBWZsYWdzGAIgASgLMh4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuRmxhZ3NCb5JBbDJTT3B0aW9uYWwgZmxhZ3MgdG8gY29udHJvbCBjb25uZWN0aW9uIGNyZWF0aW9uIGJlaGF2aW9yLCBzdWNoIGFzIGVuYWJsaW5nIGRlYnVnIG1vZGVKFXsgImlzX3NvY2lhbCI6IHRydWUgfUgAiAEBQggKBl9mbGFncyLIAgoXQ3JlYXRlQ29ubmVjdGlvblJlcXVlc3QSigEKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJxkkFlMkpVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIGZvciB3aGljaCB0aGUgY29ubmVjdGlvbiBpcyBjcmVhdGVkLkoXIm9yZ18xMjM2MjQ3NDkwMDY4NDgxNCK6SAZyBBABGCASmQEKCmNvbm5lY3Rpb24YAyABKAsyKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uQlq6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi0wUKEENyZWF0ZUNvbm5lY3Rpb24SwQEKCHByb3ZpZGVyGAEgASgOMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblByb3ZpZGVyQoEBkkF2MmxJZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbiAoc3VjaCBhcyBPS1RBLCBHb29nbGUsIEF6dXJlIEFELCBvciBhIGN1c3RvbSBwcm92aWRlcilKBiJPS1RBIrpIBYIBAhABEj8KBHR5cGUYAiABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUIIukgFggECEAESiwEKDHByb3ZpZGVyX2tleRgDIAEoCUJ1kkFyMmZLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyLiBUaGlzIGlzIHVzZWQgdG8gaWRlbnRpZnkgdGhlIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwcm92aWRlci5KCCJnb29nbGUiEhMKBmtleV9pZBgEIAEoCUgAiAEBOosCukiHAhpUEiRwcm92aWRlciBvciBwcm92aWRlcl9rZXkgaXMgcmVxdWlyZWQaLGhhcyh0aGlzLnByb3ZpZGVyX2tleSkgfHwgdGhpcy5wcm92aWRlciAhPSAwGmASHmludmFsaWQgdmFsdWUgZm9yIHByb3ZpZGVyX2tleRo+dGhpcy5wcm92aWRlciA9PSAxNSA/IHRoaXMucHJvdmlkZXJfa2V5IGluIFsnU0NBTEVLSVQnXSA6IHRydWUaTRIYaW52YWxpZCB2YWx1ZSBmb3Iga2V5X2lkGjF0aGlzLnR5cGUgPT0gOSA/IHRoaXMua2V5X2lkID09ICdXRUJBVVRITicgOiB0cnVlQgkKB19rZXlfaWQiqR4KCkNvbm5lY3Rpb24SiQEKAmlkGAEgASgJQn2SQXoyX1VuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24uIFVzZWQgaW4gQVBJIGNhbGxzIHRvIHJlZmVyZW5jZSB0aGlzIHNwZWNpZmljIGNvbm5lY3Rpb24uShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhK4AQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCeZJBdjJsSWRlbnRpdHkgcHJvdmlkZXIgc2VydmljZSB0aGF0IGhhbmRsZXMgYXV0aGVudGljYXRpb24gKHN1Y2ggYXMgT0tUQSwgR29vZ2xlLCBBenVyZSBBRCwgb3IgYSBjdXN0b20gcHJvdmlkZXIpSgYiT0tUQSISrgEKBHR5cGUYAyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uVHlwZUJ3kkF0MmpBdXRoZW50aWNhdGlvbiBwcm90b2NvbCB1c2VkIGJ5IHRoaXMgY29ubmVjdGlvbi4gQ2FuIGJlIE9JREMgKE9wZW5JRCBDb25uZWN0KSwgU0FNTCwgT0FVVEgsIG9yIE1BR0lDX0xJTksuSgYiT0lEQyISvgEKBnN0YXR1cxgEIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25TdGF0dXNCggGSQXwya0N1cnJlbnQgY29uZmlndXJhdGlvbiBzdGF0dXMgb2YgdGhlIGNvbm5lY3Rpb24uIFBvc3NpYmxlIHZhbHVlcyBpbmNsdWRlIElOX1BST0dSRVNTLCBDT05GSUdVUkVELCBhbmQgRVJST1IuSg0iSU5fUFJPR1JFU1Mi4EEDEqIBCgdlbmFibGVkGAUgASgIQpABkkGMATKCAUNvbnRyb2xzIHdoZXRoZXIgdXNlcnMgY2FuIHNpZ24gaW4gdXNpbmcgdGhpcyBjb25uZWN0aW9uLiBXaGVuIGZhbHNlLCB0aGUgY29ubmVjdGlvbiBleGlzdHMgYnV0IGNhbm5vdCBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBWZhbHNlEqIBCg1kZWJ1Z19lbmFibGVkGAYgASgIQooBkkGGATJ+RW5hYmxlcyB0ZXN0aW5nIG1vZGUgdGhhdCBhbGxvd3Mgbm9uLUhUVFBTIGVuZHBvaW50cy4gU2hvdWxkIG9ubHkgYmUgZW5hYmxlZCBpbiBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMsIG5ldmVyIGluIHByb2R1Y3Rpb24uSgR0cnVlErEBCg9vcmdhbml6YXRpb25faWQYByABKAlCkgGSQY4BMnRJZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gdGhhdCBvd25zIHRoaXMgY29ubmVjdGlvbi4gQ29ubmVjdGlvbnMgYXJlIHR5cGljYWxseSBzY29wZWQgdG8gYSBzaW5nbGUgb3JnYW5pemF0aW9uLkoWIm9yZ18yMTIzMzEyMTMxMTI1NTMzIkgBiAEBEq4BCg91aV9idXR0b25fdGl0bGUYCCABKAlClAGSQYEBMm1DdXN0b20gdGV4dCBzaG93biBvbiB0aGUgbG9naW4gYnV0dG9uIGluIHRoZSB1c2VyIGludGVyZmFjZS4gSGVscHMgdXNlcnMgaWRlbnRpZnkgd2hpY2ggU1NPIG9wdGlvbiB0byBzZWxlY3QuShAiTG9naW4gd2l0aCBTU08i+tLkkwIJEgdQUkVWSUVXEsIBChJjb25maWd1cmF0aW9uX3R5cGUYCSABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUJ6kkF3MmtIb3cgdGhlIGNvbm5lY3Rpb24gd2FzIGNvbmZpZ3VyZWQ6IERJU0NPVkVSWSAoYXV0b21hdGljIGNvbmZpZ3VyYXRpb24pIG9yIE1BTlVBTCAoYWRtaW5pc3RyYXRvciBjb25maWd1cmVkKUoIIk1BTlVBTCISzAEKE3Rlc3RfY29ubmVjdGlvbl91cmkYDCABKAlCrgGSQaoBMmZVUkkgdGhhdCBjYW4gYmUgdXNlZCB0byB0ZXN0IHRoaXMgY29ubmVjdGlvbi4gVmlzaXQgdGhpcyBVUkwgdG8gdmVyaWZ5IHRoZSBjb25uZWN0aW9uIHdvcmtzIGNvcnJlY3RseS5KQCJodHRwczovL2F1dGguZXhhbXBsZS5jb20vdGVzdC1jb25uZWN0aW9uL2Nvbm5fMjEyMzMxMjEzMTEyNTUzMyIS7wEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMjkuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCmAGSQXwyek1hcHMgaWRlbnRpdHkgcHJvdmlkZXIgYXR0cmlidXRlcyB0byB1c2VyIHByb2ZpbGUgZmllbGRzLiBGb3IgZXhhbXBsZSwgeydlbWFpbCc6ICd1c2VyLm1haWwnLCAnbmFtZSc6ICd1c2VyLmRpc3BsYXlOYW1lJ30uukgWmgETEB4iBnIEEAEYZCoHcgUQARiAAhKlAQoLY3JlYXRlX3RpbWUYECABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBmaXJzdCBjcmVhdGVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDEtMTVUMTQ6MzA6MDBaIuBBA/rS5JMCCRIHUFJFVklFVxKlAQoLdXBkYXRlX3RpbWUYESABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQnSSQV8yRVdoZW4gdGhpcyBjb25uZWN0aW9uIHdhcyBsYXN0IG1vZGlmaWVkLiBGb3JtYXQgaXMgUkZDIDMzMzkgdGltZXN0YW1wLkoWIjIwMjMtMDItMjBUMDk6MTU6MzBaIuBBA/rS5JMCCRIHUFJFVklFVxKnAQoLb2lkY19jb25maWcYEiABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5PSURDQ29ubmVjdGlvbkNvbmZpZ0JhkkFeMlxDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9wZW5JRCBDb25uZWN0IChPSURDKSBjb25uZWN0aW9ucy4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBPSURDLkgAEp4BCgtzYW1sX2NvbmZpZxgTIAEoCzI1LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVzcG9uc2VCUJJBTTJLQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBTQU1MIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFNBTUwuSAASmgEKDG9hdXRoX2NvbmZpZxgUIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0JSkkFPMk1Db25maWd1cmF0aW9uIGRldGFpbHMgZm9yIE9BdXRoIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIE9BVVRILkgAEqsBChNwYXNzd29yZGxlc3NfY29uZmlnGBYgASgLMisuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRMZXNzQ29uZmlnQl+SQVwyWkNvbmZpZ3VyYXRpb24gZGV0YWlscyBmb3IgTWFnaWMgTGluayBhdXRoZW50aWNhdGlvbi4gUHJlc2VudCBvbmx5IHdoZW4gdHlwZSBpcyBNQUdJQ19MSU5LLkgAErIBCg1zdGF0aWNfY29uZmlnGBogASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0JukkFrMmlTdGF0aWMgY29uZmlndXJhdGlvbiBmb3IgY3VzdG9tIGNvbm5lY3Rpb25zLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIEJBU0lDLCBCRUFSRVIsIEFQSV9LRVksIG9yIGN1c3RvbS5IABKhAQoPd2ViYXV0aG5fY29uZmlnGBsgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb25CV5JBVDJSQ29uZmlndXJhdGlvbiBkZXRhaWxzIGZvciBXZWJBdXRobiAocGFzc2tleXMpLiBQcmVzZW50IG9ubHkgd2hlbiB0eXBlIGlzIFdFQkFVVEhOLkgAEnYKBmtleV9pZBgZIAEoCUJhkkFeMlxBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzLkgCiAEBEmgKDHByb3ZpZGVyX2tleRgXIAEoCUJSkkFPMkNLZXkgSUQgb2YgdGhlIGlkZW50aXR5IHByb3ZpZGVyIHNlcnZpY2UgdGhhdCBoYW5kbGVzIGF1dGhlbnRpY2F0aW9uSggiZ29vZ2xlIhKhAQoHZG9tYWlucxgYIAMoCzIbLnNjYWxla2l0LnYxLmRvbWFpbnMuRG9tYWluQnOSQXAyU0RvbWFpbiBhc3NvY2lhdGVkIHdpdGggdGhpcyBjb25uZWN0aW9uLCB1c2VkIGZvciBkb21haW4tYmFzZWQgYXV0aGVudGljYXRpb24gZmxvd3MuShlbeyJuYW1lIjogImV4YW1wbGUuY29tIn1dGjcKFUF0dHJpYnV0ZU1hcHBpbmdFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgoKCHNldHRpbmdzQhIKEF9vcmdhbml6YXRpb25faWRCCQoHX2tleV9pZEoECA0QDyJrChhDcmVhdGVDb25uZWN0aW9uUmVzcG9uc2USTwoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CFpJBEzIRQ29ubmVjdGlvbiBEZXRhaWwijQIKIlVwZGF0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QScAoNY29ubmVjdGlvbl9pZBgBIAEoCUJZkkFNMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiyj4F+gICaWS6SAZyBBABGCASdQoKY29ubmVjdGlvbhgDIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CNpJBLTIjQ29ubmVjdGlvbiBwcm9wZXJ0aWVzIHRvIGJlIHVwZGF0ZWTKPgX6AgJpZLpIA8gBASKuAwoXVXBkYXRlQ29ubmVjdGlvblJlcXVlc3QSYQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQkiSQTwyI09yZ2FuaXphdGlvbiBJRCBmb3IgdGhlIENvbm5lY3Rpb24uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASXQoCaWQYAyABKAlCUZJBRTIrQ29ubmVjdGlvbiBJRC4gVW5pcXVlIElEIGZvciB0aGUgY29ubmVjdGlvbkoWImNvbm5fMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBLKAQoKY29ubmVjdGlvbhgEIAEoCzIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25CigGSQS0yI0Nvbm5lY3Rpb24gcHJvcGVydGllcyB0byBiZSB1cGRhdGVkyj4F+gICaWS6SFe6AVESNk9BVVRILCBQQVNTV09SRExFU1MgYW5kIFdFQkFVVEhOIGFyZSBub3Qgc3VwcG9ydGVkIHlldBoXISh0aGlzLnR5cGUgaW4gWzQsNSw5XSnIAQFKBAgCEAMi/Q8KEFVwZGF0ZUNvbm5lY3Rpb24SbQoIcHJvdmlkZXIYAiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uUHJvdmlkZXJCLpJBIzIXU1NPIENvbm5lY3Rpb24gUHJvdmlkZXJKCCJDVVNUT00iukgFggECEAESbAoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyIENvbm5lY3Rpb24gUHJvdG9jb2wgT0lEQyAvIFNBTUwgSgYiT0lEQyK6SAWCAQIQARKgAQoNZGVidWdfZW5hYmxlZBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbZJBajJiRGVidWcgbW9kZSBmb3IgdGhlIGNvbm5lY3Rpb24uIERlYnVnIHdvdWxkIGFsbG93IG5vbiBIVFRQUyBlbmRwb2ludCB0byBiZSB1c2VkIHdpdGggdGhlIGNvbm5lY3Rpb25KBHRydWUSfgoPdWlfYnV0dG9uX3RpdGxlGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkeSQTUyIURpc3BsYXkgbmFtZSBmb3IgdGhlIExvZ2luIEJ1dHRvbkoQIkxvZ2luIHdpdGggU1NPIvrS5JMCCRIHUFJFVklFVxJrChJjb25maWd1cmF0aW9uX3R5cGUYCyABKA4yKi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25maWd1cmF0aW9uVHlwZUIjkkEgMhRDb25maWd1cmF0aW9uIFR5cGUuIEoIIk1BTlVBTCISiwEKEWF0dHJpYnV0ZV9tYXBwaW5nGA8gAygLMj8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvbi5BdHRyaWJ1dGVNYXBwaW5nRW50cnlCL5JBEzIRQXR0cmlidXRlIE1hcHBpbme6SBaaARMQHiIGcgQQARhkKgdyBRABGIACEncKC29pZGNfY29uZmlnGBAgASgLMi0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ0Nvbm5lY3Rpb25Db25maWdCMZJBLjIsT0lEQyBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9JRENIABJ+CgtzYW1sX2NvbmZpZxgRIAEoCzI0LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxDb25uZWN0aW9uQ29uZmlnUmVxdWVzdEIxkkEuMixTQU1MIENvbmZpZ3VyYXRpb24gaWYgQ29ubmVjdGlvblR5cGUgPT0gU0FNTEgAEnsKDG9hdXRoX2NvbmZpZxgSIAEoCzIuLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9BdXRoQ29ubmVjdGlvbkNvbmZpZ0IzkkEwMi5PQXV0aCBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE9BVVRISAASiQEKE3Bhc3N3b3JkbGVzc19jb25maWcYFCABKAsyKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5QYXNzd29yZExlc3NDb25maWdCPZJBOjI4TWFnaWMgTGluayBDb25maWd1cmF0aW9uIGlmIENvbm5lY3Rpb25UeXBlID09IE1BR0lDX0xJTktIABJCCg1zdGF0aWNfY29uZmlnGBcgASgLMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU3RhdGljQXV0aENvbmZpZ0gAEqEBCg93ZWJhdXRobl9jb25maWcYGCABKAsyLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbkJXkkFUMlJDb25maWd1cmF0aW9uIGRldGFpbHMgZm9yIFdlYkF1dGhuIChwYXNza2V5cykuIFByZXNlbnQgb25seSB3aGVuIHR5cGUgaXMgV0VCQVVUSE4uSAASHgoGa2V5X2lkGBYgASgJQgm6SAZyBBABGCBIAYgBARJoCgxwcm92aWRlcl9rZXkYFSABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSIaNwoVQXR0cmlidXRlTWFwcGluZ0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAE6iwK6SIcCGlQSJHByb3ZpZGVyIG9yIHByb3ZpZGVyX2tleSBpcyByZXF1aXJlZBosaGFzKHRoaXMucHJvdmlkZXJfa2V5KSB8fCB0aGlzLnByb3ZpZGVyICE9IDAaYBIeaW52YWxpZCB2YWx1ZSBmb3IgcHJvdmlkZXJfa2V5Gj50aGlzLnByb3ZpZGVyID09IDE1ID8gdGhpcy5wcm92aWRlcl9rZXkgaW4gWydTQ0FMRUtJVCddIDogdHJ1ZRpNEhhpbnZhbGlkIHZhbHVlIGZvciBrZXlfaWQaMXRoaXMudHlwZSA9PSA5ID8gdGhpcy5rZXlfaWQgPT0gJ1dFQkFVVEhOJyA6IHRydWVCCgoIc2V0dGluZ3NCCQoHX2tleV9pZEoECAEQAkoECAQQBUoECAUQBkoECAkQC0oECAwQDyJ0ChhVcGRhdGVDb25uZWN0aW9uUmVzcG9uc2USWAoKY29ubmVjdGlvbhgBIAEoCzIjLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25CH5JBHDIaVXBkYXRlZCBDb25uZWN0aW9uIGRldGFpbHMijgEKIkRlbGV0ZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIuEBChdEZWxldGVDb25uZWN0aW9uUmVxdWVzdBJhCg9vcmdhbml6YXRpb25faWQYASABKAlCSJJBPDIjT3JnYW5pemF0aW9uIElEIGZvciB0aGUgQ29ubmVjdGlvbi5KFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIBJdCgJpZBgDIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIoQBCh9HZXRFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0EmEKDWNvbm5lY3Rpb25faWQYASABKAlCSpJBPjIkVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBDb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIugCChRHZXRDb25uZWN0aW9uUmVxdWVzdBKqAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQpABkkGDATJqT3JnYW5pemF0aW9uIGlkZW50aWZpZXIgKHJlcXVpcmVkKS4gU3BlY2lmaWVzIHdoaWNoIG9yZ2FuaXphdGlvbiBvd25zIHRoZSBjb25uZWN0aW9uIHlvdSB3YW50IHRvIHJldHJpZXZlLkoVIm9yZ18xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggEpwBCgJpZBgDIAEoCUKPAZJBggEyaENvbm5lY3Rpb24gaWRlbnRpZmllciAocmVxdWlyZWQpLiBTcGVjaWZpZXMgd2hpY2ggc3BlY2lmaWMgY29ubmVjdGlvbiB0byByZXRyaWV2ZSBmcm9tIHRoZSBvcmdhbml6YXRpb24uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggSgQIAhADIo4CChVHZXRDb25uZWN0aW9uUmVzcG9uc2US9AEKCmNvbm5lY3Rpb24YASABKAsyIy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uQroBkkG2ATKzAUNvbXBsZXRlIGNvbm5lY3Rpb24gZGV0YWlscyBpbmNsdWRpbmcgcHJvdmlkZXIgY29uZmlndXJhdGlvbiwgcHJvdG9jb2wgc2V0dGluZ3MsIHN0YXR1cywgYW5kIGFsbCBtZXRhZGF0YS4gQ29udGFpbnMgZXZlcnl0aGluZyBuZWVkZWQgdG8gdW5kZXJzdGFuZCB0aGUgY29ubmVjdGlvbidzIGN1cnJlbnQgc3RhdGUuIvQDChZMaXN0Q29ubmVjdGlvbnNSZXF1ZXN0EnAKD29yZ2FuaXphdGlvbl9pZBgBIAEoCUJSkkFGMi1GaWx0ZXIgY29ubmVjdGlvbnMgYnkgb3JnYW5pemF0aW9uIGlkZW50aWZpZXJKFSJvcmdfMTIxMzEyNDM0MTIzMzEyIrpIBnIEEAEYIEgAiAEBEncKBmRvbWFpbhgDIAEoCUJikkFWMkNGaWx0ZXIgY29ubmVjdGlvbnMgYnkgZW1haWwgZG9tYWluIGFzc29jaWF0ZWQgd2l0aCB0aGUgb3JnYW5pemF0aW9uSg8iaGVyby1zYWFzLmFwcCK6SAZyBBABGCBIAYgBARK9AQoHaW5jbHVkZRgEIAEoCUKmAZJBogEynwFGaWx0ZXIgY29ubmVjdGlvbnMgYnkgc3RhdHVzLiBVc2UgJ2FsbCcgdG8gaW5jbHVkZSBhbGwgY29ubmVjdGlvbnMgcmVnYXJkbGVzcyBvZiBzdGF0dXMuIERlZmF1bHQgYmVoYXZpb3Igc2hvd3Mgb25seSBhY3RpdmUgKGNvbXBsZXRlZCBhbmQgZW5hYmxlZCkgY29ubmVjdGlvbnNIAogBAUISChBfb3JnYW5pemF0aW9uX2lkQgkKB19kb21haW5CCgoIX2luY2x1ZGVKBAgCEAMijwEKF0xpc3RDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYSL6CgoOTGlzdENvbm5lY3Rpb24STQoCaWQYASABKAlCQZJBPjIjVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbm5lY3Rpb25KFyJjb25uXzIxMjMzMTIxMzExMjU1MzMiEoMBCghwcm92aWRlchgCIAEoDjIrLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25Qcm92aWRlckJEkkFBMjVJZGVudGl0eSBwcm92aWRlciB0eXBlIChlLmcuLCBPS1RBLCBHb29nbGUsIEF6dXJlIEFEKUoIIkNVU1RPTSIScgoEdHlwZRgDIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjuSQTgyLkF1dGhlbnRpY2F0aW9uIHByb3RvY29sIHVzZWQgYnkgdGhlIGNvbm5lY3Rpb25KBiJPSURDIhKAAQoGc3RhdHVzGAQgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ29ubmVjdGlvblN0YXR1c0JFkkE/Mi5DdXJyZW50IGNvbmZpZ3VyYXRpb24gc3RhdHVzIG9mIHRoZSBjb25uZWN0aW9uSg0iSU5fUFJPR1JFU1Mi4EEDEl4KB2VuYWJsZWQYBSABKAhCTZJBSjJBV2hldGhlciB0aGUgY29ubmVjdGlvbiBpcyBjdXJyZW50bHkgYWN0aXZlIGZvciBvcmdhbml6YXRpb24gdXNlcnNKBWZhbHNlEnUKD29yZ2FuaXphdGlvbl9pZBgGIAEoCUJckkFZMj9VbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgb3JnYW5pemF0aW9uIHRoYXQgb3ducyB0aGlzIGNvbm5lY3Rpb25KFiJvcmdfMjEyMzMxMjEzMTEyNTUzMyISeQoPdWlfYnV0dG9uX3RpdGxlGAcgASgJQmCSQU4yOlRleHQgZGlzcGxheWVkIG9uIHRoZSBTU08gbG9naW4gYnV0dG9uIGZvciB0aGlzIGNvbm5lY3Rpb25KECJMb2dpbiB3aXRoIFNTTyL60uSTAgkSB1BSRVZJRVcSawoHZG9tYWlucxgIIAMoCUJakkFXMi9MaXN0IG9mIGRvbWFpbnMgY29uZmlndXJlZCB3aXRoIHRoaXMgY29ubmVjdGlvbkokWyJ5b3VyYXBwLmNvbSIsICJ5b3Vyd29ya3NwYWNlLmNvbSJdEl8KEW9yZ2FuaXphdGlvbl9uYW1lGAkgASgJQkSSQUEyKk5hbWUgb2YgdGhlIG9yZ2FuaXphdGlvbiBvZiB0aGUgY29ubmVjdGlvbkoTIllvdXIgT3JnYW5pemF0aW9uIhJoCgxwcm92aWRlcl9rZXkYCiABKAlCUpJBTzJDS2V5IElEIG9mIHRoZSBpZGVudGl0eSBwcm92aWRlciBzZXJ2aWNlIHRoYXQgaGFuZGxlcyBhdXRoZW50aWNhdGlvbkoIImdvb2dsZSISiQEKBmtleV9pZBgLIAEoCUJ5kkF2MltBbHRlcm5hdGl2ZSBpZGVudGlmaWVyIGZvciB0aGlzIGNvbm5lY3Rpb24sIHR5cGljYWxseSB1c2VkIGluIGZyb250ZW5kIGFwcGxpY2F0aW9ucyBvciBVUkxzShciY29ubl8yMTIzMzEyMTMxMTI1NTMzIhKFAQoKY3JlYXRlZF9hdBgMIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCVZJBQDImV2hlbiB0aGlzIGNvbm5lY3Rpb24gd2FzIGZpcnN0IGNyZWF0ZWRKFiIyMDIzLTAxLTE1VDE0OjMwOjAwWiLgQQP60uSTAgkSB1BSRVZJRVciuQIKIkxpc3RPcmdhbml6YXRpb25Db25uZWN0aW9uc1JlcXVlc3QSdgoJcGFnZV9zaXplGAEgASgNQmOSQVkyU01heGltdW0gbnVtYmVyIG9mIG9yZ2FuaXphdGlvbnMgdG8gcmV0dXJuIHBlciBwYWdlLiBWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgMzAuSgIzMLpIBCoCGB4SmgEKCnBhZ2VfdG9rZW4YAiABKAlChQGSQYEBMmFUb2tlbiBmcm9tIGEgcHJldmlvdXMgcmVzcG9uc2UgZm9yIHBhZ2luYXRpb24uIFByb3ZpZGUgdGhpcyB0byByZXRyaWV2ZSB0aGUgbmV4dCBwYWdlIG9mIHJlc3VsdHMuShxleUp3WVdkbElqb3lMQ0pzYVcxcGRDSTZNekI5IuABCiNMaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEi2QYKJFNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVxdWVzdBJlCgVxdWVyeRgBIAEoCUJRkkFHMi1TZWFyY2ggcXVlcnkgQ29ubmVjdGlvbiBJRCBvciBPcmdhbml6YXRpb24gSURKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SARyAhhkSACIAQESNgoIcHJvdmlkZXIYAiABKAlCH5JBHDISRmlsdGVyIGJ5IHByb3ZpZGVySgYiT0tUQSJIAYgBARJ1CgZzdGF0dXMYAyABKA4yKS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Db25uZWN0aW9uU3RhdHVzQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgCiAEBEnwKD2Nvbm5lY3Rpb25fdHlwZRgEIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvbm5lY3Rpb25UeXBlQjWSQSoyG0ZpbHRlciBieSBjb25uZWN0aW9uIHN0YXR1c0oLIkNPTVBMRVRFRCK6SAWCAQIQAUgDiAEBEkYKB2VuYWJsZWQYByABKAhCMJJBLTIjRmlsdGVyIGJ5IGNvbm5lY3Rpb24gZW5hYmxlZCBzdGF0dXNKBiJ0cnVlIkgEiAEBEnYKCXBhZ2Vfc2l6ZRgFIAEoDUJjkkFZMlNNYXhpbXVtIG51bWJlciBvZiBvcmdhbml6YXRpb25zIHRvIHJldHVybiBwZXIgcGFnZS4gVmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDMwLkoCMzC6SAQqAhgeEpoBCgpwYWdlX3Rva2VuGAYgASgJQoUBkkGBATJhVG9rZW4gZnJvbSBhIHByZXZpb3VzIHJlc3BvbnNlIGZvciBwYWdpbmF0aW9uLiBQcm92aWRlIHRoaXMgdG8gcmV0cmlldmUgdGhlIG5leHQgcGFnZSBvZiByZXN1bHRzLkocZXlKd1lXZGxJam95TENKc2FXMXBkQ0k2TXpCOUIICgZfcXVlcnlCCwoJX3Byb3ZpZGVyQgkKB19zdGF0dXNCEgoQX2Nvbm5lY3Rpb25fdHlwZUIKCghfZW5hYmxlZCLiAQolU2VhcmNoT3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZRIXCg9uZXh0X3BhZ2VfdG9rZW4YASABKAkSEgoKdG90YWxfc2l6ZRgCIAEoDRIXCg9wcmV2X3BhZ2VfdG9rZW4YAyABKAkScwoLY29ubmVjdGlvbnMYBCADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbkI1kkEyMjBMaXN0IG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSBmaWx0ZXIgY3JpdGVyaWEijgEKIlRvZ2dsZUVudmlyb25tZW50Q29ubmVjdGlvblJlcXVlc3QSaAoNY29ubmVjdGlvbl9pZBgCIAEoCUJRkkFFMitDb25uZWN0aW9uIElELiBVbmlxdWUgSUQgZm9yIHRoZSBjb25uZWN0aW9uShYiY29ubl8xMjEzMTI0MzQxMjMzMTIiukgGcgQQARggIooCChdUb2dnbGVDb25uZWN0aW9uUmVxdWVzdBKCAQoPb3JnYW5pemF0aW9uX2lkGAEgASgJQmmSQV0yRFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBvcmdhbml6YXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBjb25uZWN0aW9uShUib3JnXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCASZAoCaWQYAyABKAlCWJJBTDIyVW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb25uZWN0aW9uIHRvIGJlIHRvZ2dsZWRKFiJjb25uXzEyMTMxMjQzNDEyMzMxMiK6SAZyBBABGCBKBAgCEAMipQIKGFRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZRKgAQoHZW5hYmxlZBgBIAEoCEKOAZJBigEygQFDdXJyZW50IHN0YXRlIG9mIHRoZSBjb25uZWN0aW9uIGFmdGVyIHRoZSBvcGVyYXRpb24uIFRydWUgbWVhbnMgdGhlIGNvbm5lY3Rpb24gaXMgbm93IGVuYWJsZWQgYW5kIGNhbiBiZSB1c2VkIGZvciBhdXRoZW50aWNhdGlvbi5KBHRydWUSVAoNZXJyb3JfbWVzc2FnZRgCIAEoCUI4kkE1MiRFcnJvciBtZXNzYWdlIGlmIHRoZSBvcGVyYXRpb24gZmFpbHNKDSJwbGFjZWhvbGRlciJIAIgBAUIQCg5fZXJyb3JfbWVzc2FnZSKNEAoUT0lEQ0Nvbm5lY3Rpb25Db25maWcSYgoGaXNzdWVyGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjSSQTEyCklzc3VlciBVUkxKIyJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgiEpcBChJkaXNjb3ZlcnlfZW5kcG9pbnQYAiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCXZJBWjISRGlzY292ZXJ5IEVuZHBvaW50SkQiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoLy53ZWxsLWtub3duL29wZW5pZC1jb25maWd1cmF0aW9uIhJ2Cg1hdXRob3JpemVfdXJpGAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkGSQT4yDUF1dGhvcml6ZSBVUklKLSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvYXV0aG9yaXplIhJqCgl0b2tlbl91cmkYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOZJBNjIJVG9rZW4gVVJJSikiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL3Rva2VuIhJ1Cg11c2VyX2luZm9fdXJpGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkCSQT0yDVVzZXIgSW5mbyBVUklKLCJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdXNlcmluZm8iEmcKCGp3a3NfdXJpGAYgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjeSQTQyCEpXS1MgVVJJSigiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL29hdXRoL2p3a3MiElIKCWNsaWVudF9pZBgIIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIhkkEeMglDbGllbnQgSURKESJvYXV0aF9jbGllbnRfaWQiEl4KDWNsaWVudF9zZWNyZXQYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCKZJBJjINQ2xpZW50IFNlY3JldEoVIm9hdXRoX2NsaWVudF9zZWNyZXQiElsKBnNjb3BlcxgKIAMoDjIiLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk9JRENTY29wZUInkkEkMgtPSURDIFNjb3Blc0oVWyJvcGVuaWQiLCAicHJvZmlsZSJdEmMKD3Rva2VuX2F1dGhfdHlwZRgLIAEoDjImLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRva2VuQXV0aFR5cGVCIpJBHzIPVG9rZW4gQXV0aCBUeXBlSgwiVVJMX1BBUkFNUyISXQoMcmVkaXJlY3RfdXJpGAwgASgJQkeSQUQyDFJlZGlyZWN0IFVSSUo0Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2NhbGxiYWNrIhJJCgxwa2NlX2VuYWJsZWQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQheSQRQyDFBLQ0UgRW5hYmxlZEoEdHJ1ZRJVChNpZHBfbG9nb3V0X3JlcXVpcmVkGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKdAQoYcG9zdF9sb2dvdXRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQl2SQVcyGHBvc3QgbG9nb3V0IHJlZGlyZWN0IHVyaUo7Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2xvZ291dC9jYWxsYmFjayLgQQMSzAEKH2JhY2tjaGFubmVsX2xvZ291dF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVChAGSQX4yPGJhY2tjaGFubmVsIGxvZ291dCByZWRpcmVjdCB1cmkgd2hlcmUgaWRwIHNlbmRzIGxvZ291dF90b2tlbko+Imh0dHBzOi8veW91cmFwcC5jb20vc3NvL3YxL29pZGMvY29ubl8xMjM0L2JhY2tjaGFubmVsLWxvZ291dCLgQQMSrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBEgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUSmwEKIWppdF9wcm92aXNpb25pbmdfd2l0aF9zc29fZW5hYmxlZBgSIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCVJJBUTJJSW5kaWNhdGVzIGlmIEp1c3QgSW4gVGltZSB1c2VyIHByb3Zpc2lvbmluZyBpcyBlbmFibGVkIGZvciB0aGUgY29ubmVjdGlvbkoEdHJ1ZSKOCgoVT0F1dGhDb25uZWN0aW9uQ29uZmlnEnYKDWF1dGhvcml6ZV91cmkYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQZJBPjINQXV0aG9yaXplIFVSSUotImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC9hdXRob3JpemUiEmoKCXRva2VuX3VyaRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUI5kkE2MglUb2tlbiBVUklKKSJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvb2F1dGgvdG9rZW4iEnUKDXVzZXJfaW5mb191cmkYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQJJBPTINVXNlciBJbmZvIFVSSUosImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9vYXV0aC91c2VyaW5mbyISUgoJY2xpZW50X2lkGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiGSQR4yCUNsaWVudCBJREoRIm9hdXRoX2NsaWVudF9pZCISXgoNY2xpZW50X3NlY3JldBgJIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIpkkEmMg1DbGllbnQgU2VjcmV0ShUib2F1dGhfY2xpZW50X3NlY3JldCISNwoGc2NvcGVzGAogAygJQieSQSQyC09JREMgU2NvcGVzShVbIm9wZW5pZCIsICJwcm9maWxlIl0SVQoMcmVkaXJlY3RfdXJpGAwgASgJQj+SQTwyDFJlZGlyZWN0IFVSSUosImh0dHBzOi8veW91cmFwcC5jb20vc2VydmljZS9vYXV0aC9yZWRpcmVjdCISSQoMcGtjZV9lbmFibGVkGA0gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIXkkEUMgxQS0NFIEVuYWJsZWRKBHRydWUSTgoGcHJvbXB0GA4gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiCSQR0yE1Byb21wdCBmb3IgdGhlIHVzZXJKBiJub25lIhJbChJ1c2VfcGxhdGZvcm1fY3JlZHMYDyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQiOSQSAyGFVzZSBTY2FsZWtpdCBjcmVkZW50aWFsc0oEdHJ1ZRJOCgthY2Nlc3NfdHlwZRgQIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIbkkEYMgtBY2Nlc3MgVHlwZUoJIm9mZmxpbmUiEl0KEWN1c3RvbV9zY29wZV9uYW1lGBEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiSSQSEyEUN1c3RvbSBTY29wZSBOYW1lSgwidXNlcl9zY29wZSISrgEKGnN5bmNfdXNlcl9wcm9maWxlX29uX2xvZ2luGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJukkFrMmNJbmRpY2F0ZXMgd2hldGhlciB1c2VyIHByb2ZpbGVzIHNob3VsZCBiZSBzeW5jaHJvbml6ZWQgd2l0aCB0aGUgaWRlbnRpdHkgcHJvdmlkZXIgdXBvbiBlYWNoIGxvZy1pbi5KBHRydWUi6QYKElBhc3N3b3JkTGVzc0NvbmZpZxJXCgR0eXBlGAEgASgOMikuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuUGFzc3dvcmRsZXNzVHlwZUIekkEbMhFQYXNzd29yZGxlc3MgVHlwZUoGIkxJTksiEkwKCWZyZXF1ZW5jeRgCIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5VSW50MzJWYWx1ZUIWkkETMg5MaW5rIEZyZXF1ZW5jeUoBMUgAiAEBElcKCHZhbGlkaXR5GAMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlVJbnQzMlZhbHVlQiKSQR8yGExpbmsgVmFsaWRpdHkgaW4gU2Vjb25kc0oDNjAwSAGIAQESbAobZW5mb3JjZV9zYW1lX2Jyb3dzZXJfb3JpZ2luGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUImkkEjMhtFbmZvcmNlIFNhbWUgQnJvd3NlciBPcmlnaW5KBHRydWVIAogBARJfChVjb2RlX2NoYWxsZW5nZV9sZW5ndGgYBSABKAsyHC5nb29nbGUucHJvdG9idWYuVUludDMyVmFsdWVCHZJBGjIVQ29kZSBDaGFsbGVuZ2UgTGVuZ3RoSgE2SAOIAQEScQoTY29kZV9jaGFsbGVuZ2VfdHlwZRgGIAEoDjIqLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNvZGVDaGFsbGVuZ2VUeXBlQiOSQSAyE0NvZGUgQ2hhbGxlbmdlIFR5cGVKCSJOVU1FUklDIkgEiAEBEnIKLXJlZ2VuZXJhdGVfcGFzc3dvcmRsZXNzX2NyZWRlbnRpYWxzX29uX3Jlc2VuZBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCGpJBFzIPUmVnZW5lcmF0ZSB0aGUgSgR0cnVlSAWIAQFCDAoKX2ZyZXF1ZW5jeUILCglfdmFsaWRpdHlCHgocX2VuZm9yY2Vfc2FtZV9icm93c2VyX29yaWdpbkIYChZfY29kZV9jaGFsbGVuZ2VfbGVuZ3RoQhYKFF9jb2RlX2NoYWxsZW5nZV90eXBlQjAKLl9yZWdlbmVyYXRlX3Bhc3N3b3JkbGVzc19jcmVkZW50aWFsc19vbl9yZXNlbmQiQgoQU3RhdGljQXV0aENvbmZpZxIuCg1zdGF0aWNfY29uZmlnGAEgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdCKHHwoUV2ViQXV0aENvbmZpZ3VyYXRpb24SPAoCcnAYASABKAsyMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5ScBJOCgthdHRlc3RhdGlvbhgCIAEoCzI5LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLldlYkF1dGhDb25maWd1cmF0aW9uLkF0dGVzdGF0aW9uElQKDmF1dGhlbnRpY2F0b3JzGAMgASgLMjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuV2ViQXV0aENvbmZpZ3VyYXRpb24uQXV0aGVudGljYXRvcnMSZQoXYXV0aGVudGljYXRvcl9zZWxlY3Rpb24YBCABKAsyRC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5BdXRoZW50aWNhdG9yU2VsZWN0aW9uEkYKB3RpbWVvdXQYBSABKAsyNS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5XZWJBdXRoQ29uZmlndXJhdGlvbi5UaW1lb3V0EkwKGGVuYWJsZV9hdXRvX3JlZ2lzdHJhdGlvbhgGIAEoCEIqkkEnMiVFbmFibGUgYXV0byByZWdpc3RyYXRpb24gZm9yIFdlYkF1dGhuEkUKE3Nob3dfcGFzc2tleV9idXR0b24YByABKAhCKJJBJTIjU2hvdyBwYXNza2V5IGJ1dHRvbiBvbiBsb2dpbiBzY3JlZW4STwoYZW5hYmxlX2NvbmRpdGlvbmFsX2xvZ2luGAggASgIQi2SQSoyKEFsbG93IGF1dG9maWxsIG9mIHBhc3NrZXlzIGluIGxvZ2luIHBhZ2UaOgoCUnASFwoDaWRzGAEgAygJQgq6SAeSAQQIARAKEhsKB29yaWdpbnMYAiADKAlCCrpIB5IBBAgBEAoalAEKC0F0dGVzdGF0aW9uEloKFWNvbnZleWFuY2VfcHJlZmVyZW5jZRgBIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIdukgachhSBG5vbmVSCGluZGlyZWN0UgZkaXJlY3QSKQoXZW50ZXJwcmlzZV9hcHByb3ZlZF9pZHMYAiADKAlCCLpIBZIBAhAyGs4SCg5BdXRoZW50aWNhdG9ycxLMAgoOdmFsaWRhdGVfZW50cnkYASABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQpcCkkGTAhoaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUy9AFyZXF1aXJlcyB0aGF0IHRoZSBwcm92aWRlZCBtZXRhZGF0YSBoYXMgYW4gZW50cnkgZm9yIHRoZSBnaXZlbiBhdXRoZW50aWNhdG9yIHRvIGJlIGNvbnNpZGVyZWQgdmFsaWQuIEJ5IGRlZmF1bHQgYW4gQUFHVUlEIHdoaWNoIGhhcyBhIHplcm8gdmFsdWUgc2hvdWxkIGZhaWwgdmFsaWRhdGlvbiBpZiB2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQgaXMgbm90IHByb3ZpZGVkIHdpdGggdGhlIHZhbHVlIG9mIHRydWUuEvABCiF2YWxpZGF0ZV9lbnRyeV9wZXJtaXRfemVyb19hYWd1aWQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQqgBkkGkATKhAWlzIGFuIG9wdGlvbiB0aGF0IHBlcm1pdHMgYSB6ZXJvJ2QgQUFHVUlEIGZyb20gYW4gYXR0ZXN0YXRpb24gc3RhdGVtZW50IHRvIGF1dG9tYXRpY2FsbHkgcGFzcyBtZXRhZGF0YSB2YWxpZGF0aW9ucy4gR2VuZXJhbGx5IGhlbHBmdWwgdG8gdXNlIHdpdGggdmFsaWRhdGVfZW50cnkuErUBChB2YWxpZGF0ZV9hbmNob3JzGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ/kkF8Mnp3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSB0cnVzdCBhbmNob3IgZnJvbSB0aGUgbWV0YWRhdGEgc3RhdGVtZW50LhKuAQoPdmFsaWRhdGVfc3RhdHVzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJ5kkF2MnR3aGVuIHNldCB0byB0cnVlIGVuYWJsZXMgdGhlIHZhbGlkYXRpb24gb2YgdGhlIGF0dGVzdGF0aW9uIHN0YXRlbWVudHMgQUFHVUlEIGFnYWluc3QgdGhlIGRlc2lyZWQgYW5kIHVuZGVzaXJlZCBsaXN0cxLIAQoZdmFsaWRhdGVfYXR0ZXN0YXRpb25fdHlwZRgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCiAGSQYQBMoEBd2hlbiBzZXQgdG8gdHJ1ZSBlbmFibGVzIHRoZSB2YWxpZGF0aW9uIG9mIHRoZSBhdHRlc3RhdGlvbiBzdGF0ZW1lbnRzIHR5cGUgYWdhaW5zdCB0aGUga25vd24gdHlwZXMgdGhlIGF1dGhlbnRpY2F0b3IgY2FuIHByb2R1Y2UuEp8EChxkZXNpcmVkX2F1dGhlbnRpY2F0b3Jfc3RhdHVzGAYgAygJQvgDkkGdATKWAXByb3ZpZGVzIHRoZSBsaXN0IG9mIHN0YXR1c2VzIHdoaWNoIGFyZSBjb25zaWRlcmVkIHVuZGVzaXJhYmxlIGZvciBzdGF0dXMgcmVwb3J0IHZhbGlkYXRpb24gcHVycG9zZXMuIFNob3VsZCBiZSB1c2VkIHdpdGggdmFsaWRhdGVfc3RhdHVzIHNldCB0byB0cnVlLjoCW126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzEqMFCh51bmRlc2lyZWRfYXV0aGVudGljYXRvcl9zdGF0dXMYByADKAlC+gSSQZ8CMpYBcHJvdmlkZXMgdGhlIGxpc3Qgb2Ygc3RhdHVzZXMgd2hpY2ggYXJlIGNvbnNpZGVyZWQgdW5kZXNpcmFibGUgZm9yIHN0YXR1cyByZXBvcnQgdmFsaWRhdGlvbiBwdXJwb3Nlcy4gU2hvdWxkIGJlIHVzZWQgd2l0aCB2YWxpZGF0ZV9zdGF0dXMgc2V0IHRvIHRydWUuOoMBWydBVFRFU1RBVElPTl9LRVlfQ09NUFJPTUlTRScsICdVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1MnLCAnVVNFUl9LRVlfUkVNT1RFX0NPTVBST01JU0UnLCAnVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRScsICdSRVZPS0VEJ126SNMCkgHPAhAKIsoCcscCUhJOT1RfRklET19DRVJUSUZJRURSDkZJRE9fQ0VSVElGSUVEUhhVU0VSX1ZFUklGSUNBVElPTl9CWVBBU1NSGkFUVEVTVEFUSU9OX0tFWV9DT01QUk9NSVNFUhpVU0VSX0tFWV9SRU1PVEVfQ09NUFJPTUlTRVIcVVNFUl9LRVlfUEhZU0lDQUxfQ09NUFJPTUlTRVIQVVBEQVRFX0FWQUlMQUJMRVIHUkVWT0tFRFIYU0VMRl9BU1NFUlRJT05fU1VCTUlUVEVEUhFGSURPX0NFUlRJRklFRF9MMVIVRklET19DRVJUSUZJRURfTDFwbHVzUhFGSURPX0NFUlRJRklFRF9MMlIVRklET19DRVJUSUZJRURfTDJwbHVzUhFGSURPX0NFUlRJRklFRF9MM1IVRklET19DRVJUSUZJRURfTDNwbHVzGtsBChZBdXRoZW50aWNhdG9yU2VsZWN0aW9uEmAKEXVzZXJfdmVyaWZpY2F0aW9uGAEgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQie6SCRyIlIIcmVxdWlyZWRSCXByZWZlcnJlZFILZGlzY291cmFnZWQSXwoYYXV0aGVudGljYXRvcl9hdHRhY2htZW50GAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQh+6SBxyGlIIcGxhdGZvcm1SDmNyb3NzLXBsYXRmb3JtGvMDCgdUaW1lb3V0EmoKDHJlZ2lzdHJhdGlvbhgBIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkI5kkEnMh1SZWdpc3RyYXRpb24gdGltZW91dCBkdXJhdGlvbjoGIjMwMHMiukgMqgEJIgMIiA4yAgh4EpQBChByZWdpc3RyYXRpb25fdXZkGAIgASgLMhkuZ29vZ2xlLnByb3RvYnVmLkR1cmF0aW9uQl+SQU0yQ1JlZ2lzdHJhdGlvbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeBJcCgVsb2dpbhgDIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkIykkEgMhZMb2dpbiB0aW1lb3V0IGR1cmF0aW9uOgYiMzAwcyK6SAyqAQkiAwiIDjICCHgShgEKCWxvZ2luX3V2ZBgEIAEoCzIZLmdvb2dsZS5wcm90b2J1Zi5EdXJhdGlvbkJYkkFGMjxMb2dpbiB0aW1lb3V0IGR1cmF0aW9uIHdoZW4gdXNlciB2ZXJpZmljYXRpb24gaXMgZGlzY291cmFnZWQ6BiIzMDBzIrpIDKoBCSIDCIgOMgIIeCKPEwobU0FNTENvbm5lY3Rpb25Db25maWdSZXF1ZXN0EnoKEGlkcF9tZXRhZGF0YV91cmwYASABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAIgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYAyABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iEksKD2lkcF9jZXJ0aWZpY2F0ZRgEIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIUkkERMg9JRFAgQ2VydGlmaWNhdGUSawoLaWRwX3Nsb191cmwYBSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNMTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zbG8iEl0KD3VpX2J1dHRvbl90aXRsZRgGIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUImkkEjMg9VSSBCdXR0b24gVGl0bGVKECJMb2dpbiB3aXRoIFNTTyISYwoSaWRwX25hbWVfaWRfZm9ybWF0GAcgASgOMiUuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTmFtZUlkRm9ybWF0QiCSQR0yEklEUCBOYW1lIElEIEZvcm1hdEoHIkVNQUlMIhJzChdpZHBfc3NvX3JlcXVlc3RfYmluZGluZxgIIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQimSQSYyF0lEUCBTU08gUmVxdWVzdCBCaW5kaW5nSgsiSFRUUF9QT1NUIhJ3ChdpZHBfc2xvX3JlcXVlc3RfYmluZGluZxgJIAEoDjInLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlJlcXVlc3RCaW5kaW5nQi2SQSoyF0lEUCBTTE8gUmVxdWVzdCBCaW5kaW5nSg8iSFRUUF9SRURJUkVDVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YCiABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJHCgtmb3JjZV9hdXRobhgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCFpJBEzILRm9yY2UgQXV0aG5KBHRydWUSggEKFGRlZmF1bHRfcmVkaXJlY3RfdXJpGA8gASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQkaSQUMyFERlZmF1bHQgUmVkaXJlY3QgVVJJSisiaHR0cHM6Ly95b3VyYXBwLmNvbS9zZXJ2aWNlL3NhbWwvcmVkaXJlY3QiElcKE2Fzc2VydGlvbl9lbmNyeXB0ZWQYECABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQh6SQRsyE0Fzc2VydGlvbiBFbmNyeXB0ZWRKBHRydWUSVwoTd2FudF9yZXF1ZXN0X3NpZ25lZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITV2FudCBSZXF1ZXN0IFNpZ25lZEoEdHJ1ZRJiCg5jZXJ0aWZpY2F0ZV9pZBgSIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUIskkEpMg5DZXJ0aWZpY2F0ZSBJREoXImNlcl8zNTU4NTQyMzE2NjE0NDYxMyISUgoQaWRwX3Nsb19yZXF1aXJlZBgTIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHJJBGTIRRW5hYmxlIElEUCBsb2dvdXRKBHRydWUShAEKDHNwX2VudGl0eV9pZBgUIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJQkkFNMhpTZXJ2aWNlIFByb3ZpZGVyIEVudGl0eSBJREovImh0dHBzOi8vZW52LnNjYWxla2l0LmNvbS9zc28vdjEvc2FtbC9jb25uXzEyMyISjwEKEHNwX2Fzc2VydGlvbl91cmwYFSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCV5JBVDIYU2VydmljZSBQcm92aWRlciBTU08gVVJMSjgiaHR0cHM6Ly9lbnYuc2NhbGVraXQuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzL2NhbGxiYWNrIhKEAQoKc3Bfc2xvX3VybBgWIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJSkkFPMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyBVUkxKMyJodHRwczovL2Vudi5zY2FsZWtpdC5jb20vc3NvL3YxL3NhbWwvY29ubl8xMjMvc2xvIhKuAQoac3luY191c2VyX3Byb2ZpbGVfb25fbG9naW4YFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQm6SQWsyY0luZGljYXRlcyB3aGV0aGVyIHVzZXIgcHJvZmlsZXMgc2hvdWxkIGJlIHN5bmNocm9uaXplZCB3aXRoIHRoZSBpZGVudGl0eSBwcm92aWRlciB1cG9uIGVhY2ggbG9nLWluLkoEdHJ1ZRKbAQohaml0X3Byb3Zpc2lvbmluZ193aXRoX3Nzb19lbmFibGVkGBggASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUJUkkFRMklJbmRpY2F0ZXMgaWYgSnVzdCBJbiBUaW1lIHVzZXIgcHJvdmlzaW9uaW5nIGlzIGVuYWJsZWQgZm9yIHRoZSBjb25uZWN0aW9uSgR0cnVlSgQICxAMIu8TChxTQU1MQ29ubmVjdGlvbkNvbmZpZ1Jlc3BvbnNlEksKDHNwX2VudGl0eV9pZBgBIAEoCUI1kkEyMgxTUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbCISXQoQc3BfYXNzZXJ0aW9uX3VybBgCIAEoCUJDkkFAMhBTUCBBc3NlcnRpb24gVVJMSiwiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvYXNzZXJ0aW9uIhJaCg9zcF9tZXRhZGF0YV91cmwYAyABKAlCQZJBPjIPU1AgTWV0YWRhdGEgVVJMSisiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvbWV0YWRhdGEiEnoKEGlkcF9tZXRhZGF0YV91cmwYBCABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCQpJBPzIQSURQIE1ldGFkYXRhIFVSTEorImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sL21ldGFkYXRhIhJrCg1pZHBfZW50aXR5X2lkGAUgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjaSQTMyDUlEUCBFbnRpdHkgSURKIiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbCISawoLaWRwX3Nzb191cmwYBiABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCOJJBNTILSURQIFNTTyBVUkxKJiJodHRwczovL3lvdXJpZHAuY29tL3NlcnZpY2Uvc2FtbC9zc28iElgKEGlkcF9jZXJ0aWZpY2F0ZXMYByADKAsyJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5JRFBDZXJ0aWZpY2F0ZUIVkkESMhBJRFAgQ2VydGlmaWNhdGVzEmsKC2lkcF9zbG9fdXJsGAggASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQjiSQTUyC0lEUCBTTE8gVVJMSiYiaHR0cHM6Ly95b3VyaWRwLmNvbS9zZXJ2aWNlL3NhbWwvc2xvIhJdCg91aV9idXR0b25fdGl0bGUYCSABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCJpJBIzIPVUkgQnV0dG9uIFRpdGxlShAiTG9naW4gd2l0aCBTU08iEmMKEmlkcF9uYW1lX2lkX2Zvcm1hdBgKIAEoDjIlLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLk5hbWVJZEZvcm1hdEIgkkEdMhJJRFAgTmFtZSBJRCBGb3JtYXRKByJFTUFJTCIScwoXaWRwX3Nzb19yZXF1ZXN0X2JpbmRpbmcYCyABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU1NPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCIScwoXaWRwX3Nsb19yZXF1ZXN0X2JpbmRpbmcYDCABKA4yJy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5SZXF1ZXN0QmluZGluZ0IpkkEmMhdJRFAgU0xPIFJlcXVlc3QgQmluZGluZ0oLIkhUVFBfUE9TVCISgAEKE3NhbWxfc2lnbmluZ19vcHRpb24YDSABKA4yKy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MU2lnbmluZ09wdGlvbnNCNpJBMzITU0FNTCBTaWduaW5nIE9wdGlvbkocIlNBTUxfT05MWV9SRVNQT05TRV9TSUdOSU5HIhJjChlhbGxvd19pZHBfaW5pdGlhdGVkX2xvZ2luGA4gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIkkkEhMhlBbGxvdyBJRFAgSW5pdGlhdGVkIExvZ2luSgR0cnVlEkcKC2ZvcmNlX2F1dGhuGA8gASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIWkkETMgtGb3JjZSBBdXRobkoEdHJ1ZRKCAQoUZGVmYXVsdF9yZWRpcmVjdF91cmkYECABKAsyHC5nb29nbGUucHJvdG9idWYuU3RyaW5nVmFsdWVCRpJBQzIURGVmYXVsdCBSZWRpcmVjdCBVUklKKyJodHRwczovL3lvdXJhcHAuY29tL3NlcnZpY2Uvc2FtbC9yZWRpcmVjdCISVwoTYXNzZXJ0aW9uX2VuY3J5cHRlZBgRIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCHpJBGzITQXNzZXJ0aW9uIEVuY3J5cHRlZEoEdHJ1ZRJXChN3YW50X3JlcXVlc3Rfc2lnbmVkGBIgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIekkEbMhNXYW50IFJlcXVlc3QgU2lnbmVkSgR0cnVlEmIKDmNlcnRpZmljYXRlX2lkGBMgASgLMhwuZ29vZ2xlLnByb3RvYnVmLlN0cmluZ1ZhbHVlQiySQSkyDkNlcnRpZmljYXRlIElEShciY2VyXzM1NTg1NDIzMTY2MTQ0NjEzIhJSChBpZHBfc2xvX3JlcXVpcmVkGBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLkJvb2xWYWx1ZUIckkEZMhFFbmFibGUgSURQIGxvZ291dEoEdHJ1ZRKMAQoKc3Bfc2xvX3VybBgVIAEoCzIcLmdvb2dsZS5wcm90b2J1Zi5TdHJpbmdWYWx1ZUJakkFUMhhTZXJ2aWNlIFByb3ZpZGVyIFNMTyB1cmxKOCJodHRwczovL3lvdXJhcHAuY29tL3Nzby92MS9zYW1sL2Nvbm5fMTIzNC9zbG8vY2FsbGJhY2si4EEDEq4BChpzeW5jX3VzZXJfcHJvZmlsZV9vbl9sb2dpbhgWIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWVCbpJBazJjSW5kaWNhdGVzIHdoZXRoZXIgdXNlciBwcm9maWxlcyBzaG91bGQgYmUgc3luY2hyb25pemVkIHdpdGggdGhlIGlkZW50aXR5IHByb3ZpZGVyIHVwb24gZWFjaCBsb2ctaW4uSgR0cnVlEpsBCiFqaXRfcHJvdmlzaW9uaW5nX3dpdGhfc3NvX2VuYWJsZWQYFyABKAsyGi5nb29nbGUucHJvdG9idWYuQm9vbFZhbHVlQlSSQVEySUluZGljYXRlcyBpZiBKdXN0IEluIFRpbWUgdXNlciBwcm92aXNpb25pbmcgaXMgZW5hYmxlZCBmb3IgdGhlIGNvbm5lY3Rpb25KBHRydWUijgMKDklEUENlcnRpZmljYXRlEikKC2NlcnRpZmljYXRlGAEgASgJQhSSQREyD0lEUCBDZXJ0aWZpY2F0ZRJnCgtjcmVhdGVfdGltZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNpJBMzIZQ2VydGlmaWNhdGUgQ3JlYXRpb24gVGltZUoWIjIwMjEtMDktMDFUMDA6MDA6MDBaIhJlCgtleHBpcnlfdGltZRgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCNJJBMTIXQ2VydGlmaWNhdGUgRXhwaXJ5IFRpbWVKFiIyMDIxLTA5LTAxVDAwOjAwOjAwWiISNAoCaWQYBCABKAlCKJJBJTIOQ2VydGlmaWNhdGUgSURKEyJjZXJ0XzEyMzEyMzEyMzEyMyISSwoGaXNzdWVyGAUgASgJQjuSQTgyEkNlcnRpZmljYXRlIElzc3VlckoiImh0dHBzOi8veW91cmlkcC5jb20vc2VydmljZS9zYW1sIiJYChZHZXRPSURDTWV0YWRhdGFSZXF1ZXN0Ej4KCG1ldGFkYXRhGAEgASgLMiwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuT0lEQ01ldGFkYXRhUmVxdWVzdCIxChNPSURDTWV0YWRhdGFSZXF1ZXN0EhoKBmlzc3VlchgBIAEoCUIKukgHcgUQARjIASKOAQoXR2V0T0lEQ01ldGFkYXRhUmVzcG9uc2USDgoGaXNzdWVyGAEgASgJEh4KFmF1dGhvcml6YXRpb25fZW5kcG9pbnQYAiABKAkSFgoOdG9rZW5fZW5kcG9pbnQYAyABKAkSGQoRdXNlcmluZm9fZW5kcG9pbnQYBCABKAkSEAoIandrc191cmkYBSABKAkiWAoWR2V0U0FNTE1ldGFkYXRhUmVxdWVzdBI+CghtZXRhZGF0YRgBIAEoCzIsLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNBTUxNZXRhZGF0YVJlcXVlc3QiNwoTU0FNTE1ldGFkYXRhUmVxdWVzdBIgCgxtZXRhZGF0YV91cmwYASABKAlCCrpIB3IFEAEYyAEiyQEKF0dldFNBTUxNZXRhZGF0YVJlc3BvbnNlEhUKDWlkcF9lbnRpdHlfaWQYASABKAkSEwoLaWRwX3Nzb191cmwYAiABKAkSEwoLaWRwX3Nsb191cmwYAyABKAkSGAoQaWRwX2NlcnRpZmljYXRlcxgEIAMoCRIaChJpZHBfbmFtZV9pZF9mb3JtYXQYBSABKAkSFwoPcmVxdWVzdF9iaW5kaW5nGAYgASgJEh4KFndhbnRfYXNzZXJ0aW9uc19zaWduZWQYByABKAgiaAogR2V0U0FNTENlcnRpZmljYXRlRGV0YWlsc1JlcXVlc3QSRAoLY2VydGlmaWNhdGUYASABKAsyLy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5TQU1MQ2VydGlmaWNhdGVSZXF1ZXN0Ii8KFlNBTUxDZXJ0aWZpY2F0ZVJlcXVlc3QSFQoEdGV4dBgBIAEoCUIHukgEcgIQASJ5CiFHZXRTQU1MQ2VydGlmaWNhdGVEZXRhaWxzUmVzcG9uc2USDAoEdGV4dBgBIAEoCRIRCglub3RfYWZ0ZXIYAiABKAMSEgoKbm90X2JlZm9yZRgDIAEoAxIPCgdzdWJqZWN0GAQgASgJEg4KBmlzc3VlchgFIAEoCSJpCh5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlcXVlc3QSHgoNY29ubmVjdGlvbl9pZBgBIAEoCUIHukgEcgIQARInCg90ZXN0X3JlcXVlc3RfaWQYAiABKAlCDrpIC3IJEAE6BXRlc3RfIoQCCh9HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlEjkKBnN0YXR1cxgBIAEoDjIpLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRlc3RSZXN1bHRTdGF0dXMSFgoJdXNlcl9pbmZvGAIgASgJSACIAQESEgoFZXJyb3IYAyABKAlIAYgBARIeChFlcnJvcl9kZXNjcmlwdGlvbhgEIAEoCUgCiAEBEhoKDWVycm9yX2RldGFpbHMYBSABKAlIA4gBAUIMCgpfdXNlcl9pbmZvQggKBl9lcnJvckIUChJfZXJyb3JfZGVzY3JpcHRpb25CEAoOX2Vycm9yX2RldGFpbHMiGgoYUGFzc3dvcmRDb25uZWN0aW9uQ29uZmlnIikKBUZsYWdzEhAKCGlzX2xvZ2luGAEgASgIEg4KBmlzX2FwcBgCIAEoCCKKAwoZTGlzdEFwcENvbm5lY3Rpb25zUmVxdWVzdBJ2CglwYWdlX3NpemUYASABKA1CY5JBWTJTTWF4aW11bSBudW1iZXIgb2Ygb3JnYW5pemF0aW9ucyB0byByZXR1cm4gcGVyIHBhZ2UuIFZhbHVlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAzMC5KAjMwukgEKgIYHhKaAQoKcGFnZV90b2tlbhgCIAEoCUKFAZJBgQEyYVRva2VuIGZyb20gYSBwcmV2aW91cyByZXNwb25zZSBmb3IgcGFnaW5hdGlvbi4gUHJvdmlkZSB0aGlzIHRvIHJldHJpZXZlIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0cy5KHGV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkSSwoIcHJvdmlkZXIYAyABKAlCNJJBKDIeRmlsdGVyIGNvbm5lY3Rpb25zIGJ5IHByb3ZpZGVySgYiT0tUQSK6SAZyBBABGDJIAIgBAUILCglfcHJvdmlkZXIiswMKGkxpc3RBcHBDb25uZWN0aW9uc1Jlc3BvbnNlEnQKC2Nvbm5lY3Rpb25zGAEgAygLMicuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25CNpJBMzIxTGlzdCBvZiBjb25uZWN0aW9ucyBtYXRjaGluZyB0aGUgcmVxdWVzdCBjcml0ZXJpYRJgCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCR5JBRDIiVG9rZW4gZm9yIHRoZSBuZXh0IHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiEmQKD3ByZXZfcGFnZV90b2tlbhgDIAEoCUJLkkFIMiZUb2tlbiBmb3IgdGhlIHByZXZpb3VzIHBhZ2Ugb2YgcmVzdWx0c0oeImV5SndZV2RsSWpveUxDSnNhVzFwZENJNk16QjkiElcKCnRvdGFsX3NpemUYBCABKA1CQ5JBQDI5VG90YWwgbnVtYmVyIG9mIGNvbm5lY3Rpb25zIG1hdGNoaW5nIHRoZSByZXF1ZXN0IGNyaXRlcmlhSgMxMDAqVwoRQ29kZUNoYWxsZW5nZVR5cGUSIwofQ09ERV9DSEFMTEVOR0VfVFlQRV9VTlNQRUNJRklFRBAAEgsKB05VTUVSSUMQARIQCgxBTFBIQU5VTUVSSUMQAipSChFDb25maWd1cmF0aW9uVHlwZRIiCh5DT05GSUdVUkFUSU9OX1RZUEVfVU5TUEVDSUZJRUQQABINCglESVNDT1ZFUlkQARIKCgZNQU5VQUwQAiphCgxOYW1lSWRGb3JtYXQSFgoSTkFNRV9JRF9GT1JNQVRfTklMEAASDwoLVU5TUEVDSUZJRUQQARIJCgVFTUFJTBACEg0KCVRSQU5TSUVOVBADEg4KClBFUlNJU1RFTlQQBCpVChBQYXNzd29yZGxlc3NUeXBlEiAKHFBhc3N3b3JkbGVzc1R5cGVfVU5TUEVDSUZJRUQQABIICgRMSU5LEAESBwoDT1RQEAISDAoITElOS19PVFAQAyo5ChBUZXN0UmVzdWx0U3RhdHVzEgsKB1BFTkRJTkcQABILCgdTVUNDRVNTEAESCwoHRkFJTFVSRRACKtgBChJTQU1MU2lnbmluZ09wdGlvbnMSJAogU0FNTF9TSUdOSU5HX09QVElPTlNfVU5TUEVDSUZJRUQQABIOCgpOT19TSUdOSU5HEAESHgoaU0FNTF9PTkxZX1JFU1BPTlNFX1NJR05JTkcQAhIfChtTQU1MX09OTFlfQVNTRVJUSU9OX1NJR05JTkcQAxIjCh9TQU1MX1JFU1BPTlNFX0FTU0VSVElPTl9TSUdOSU5HEAQSJgoiU0FNTF9SRVNQT05TRV9PUl9BU1NFUlRJT05fU0lHTklORxAFKlMKDlJlcXVlc3RCaW5kaW5nEh8KG1JFUVVFU1RfQklORElOR19VTlNQRUNJRklFRBAAEg0KCUhUVFBfUE9TVBABEhEKDUhUVFBfUkVESVJFQ1QQAipQCg1Ub2tlbkF1dGhUeXBlEh8KG1RPS0VOX0FVVEhfVFlQRV9VTlNQRUNJRklFRBAAEg4KClVSTF9QQVJBTVMQARIOCgpCQVNJQ19BVVRIEAIqYwoJT0lEQ1Njb3BlEhoKFk9JRENfU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZvcGVuaWQQARILCgdwcm9maWxlEAISCQoFZW1haWwQAxILCgdhZGRyZXNzEAQSCQoFcGhvbmUQBSqOAQoOQ29ubmVjdGlvblR5cGUSCwoHSU5WQUxJRBAAEggKBE9JREMQARIICgRTQU1MEAISDAoIUEFTU1dPUkQQAxIJCgVPQVVUSBAEEhAKDFBBU1NXT1JETEVTUxAFEgkKBUJBU0lDEAYSCgoGQkVBUkVSEAcSCwoHQVBJX0tFWRAIEgwKCFdFQkFVVEhOEAkqYAoQQ29ubmVjdGlvblN0YXR1cxIhCh1DT05ORUNUSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEgkKBURSQUZUEAESDwoLSU5fUFJPR1JFU1MQAhINCglDT01QTEVURUQQAyqYAgoSQ29ubmVjdGlvblByb3ZpZGVyEiMKH0NPTk5FQ1RJT05fUFJPVklERVJfVU5TUEVDSUZJRUQQABIICgRPS1RBEAESCgoGR09PR0xFEAISEAoMTUlDUk9TT0ZUX0FEEAMSCQoFQVVUSDAQBBIMCghPTkVMT0dJThAFEhEKDVBJTkdfSURFTlRJVFkQBhINCglKVU1QQ0xPVUQQBxIKCgZDVVNUT00QCBIKCgZHSVRIVUIQCRIKCgZHSVRMQUIQChIMCghMSU5LRURJThALEg4KClNBTEVTRk9SQ0UQDBINCglNSUNST1NPRlQQDRIRCg1JRFBfU0lNVUxBVE9SEA4SDAoIU0NBTEVLSVQQDxIICgRBREZTEBAykj4KEUNvbm5lY3Rpb25TZXJ2aWNlEpEDChtDcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQ3JlYXRlQ29ubmVjdGlvblJlc3BvbnNlIoECkkHBAQoLQ29ubmVjdGlvbnMSF0NyZWF0ZSBhIG5ldyBjb25uZWN0aW9uGjhFc3RhYmxpc2ggYSBuZXcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBlbnZpcm9ubWVudEpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiE6CmNvbm5lY3Rpb24iEy9hcGkvdjEvY29ubmVjdGlvbnMSswMKEENyZWF0ZUNvbm5lY3Rpb24SMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkNyZWF0ZUNvbm5lY3Rpb25SZXNwb25zZSK5ApJBxgEKC0Nvbm5lY3Rpb25zEhdDcmVhdGUgYSBuZXcgY29ubmVjdGlvbho9RXN0YWJsaXNoIGEgbmV3IFNTTyBjb25uZWN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIG9yZ2FuaXphdGlvbkpfCgMyMDESWAofQ29ubmVjdGlvbiBjcmVhdGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5DcmVhdGVDb25uZWN0aW9uUmVzcG9uc2WCtRgVChFjb25uZWN0aW9uc193cml0ZRh0+tLkkwIJEgdQUkVWSUVXgtPkkwJBOgpjb25uZWN0aW9uIjMvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMSzQQKGUFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb24SOS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Bc3NpZ25Eb21haW5zVG9Db25uZWN0aW9uUmVxdWVzdBo6LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkFzc2lnbkRvbWFpbnNUb0Nvbm5lY3Rpb25SZXNwb25zZSK4A5JBtgIKC0Nvbm5lY3Rpb25zEh5Bc3NpZ24gZG9tYWlucyB0byBhIGNvbm5lY3Rpb24angFBc3NpZ25zIG9uZSBvciBtb3JlIGRvbWFpbnMgdG8gYSBzcGVjaWZpYyBjb25uZWN0aW9uIHdpdGhpbiBhbiBvcmdhbml6YXRpb24uIFRoaXMgYWxsb3dzIHRoZSBjb25uZWN0aW9uIHRvIGJlIHVzZWQgZm9yIGF1dGhlbnRpY2F0aW9uIG9uIHRoZSBzcGVjaWZpZWQgZG9tYWluc0pmCgMyMDASXwodRG9tYWlucyBhc3NpZ25lZCBzdWNjZXNzZnVsbHkSPgo8Gjouc2NhbGVraXQudjEuY29ubmVjdGlvbnMuQXNzaWduRG9tYWluc1RvQ29ubmVjdGlvblJlc3BvbnNlgrUYFQoRY29ubmVjdGlvbnNfd3JpdGUYdPrS5JMCCRIHUFJFVklFV4LT5JMCUDoBKhpLL2FwaS92MS9vcmdhbml6YXRpb25zL3tvcmdhbml6YXRpb25faWR9L2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfS9kb21haW5zErIDChhHZXRFbnZpcm9ubWVudENvbm5lY3Rpb24SOC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0Gi4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblJlc3BvbnNlIqsCkkHnAQoLQ29ubmVjdGlvbnMSG1JldHJpZXZlIGNvbm5lY3Rpb24gZGV0YWlscxpTT2J0YWluIGRldGFpbGVkIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgY29ubmVjdGlvbiB1c2luZyBpdHMgdW5pcXVlIGlkZW50aWZpZXJKZgoDMjAwEl8KKVN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgY29ubmVjdGlvbiBkZXRhaWxzEjIKMBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCJRIjL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH0SzgQKDUdldENvbm5lY3Rpb24SLS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uUmVxdWVzdBouLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25SZXNwb25zZSLdA5JBgQMKC0Nvbm5lY3Rpb25zEhZHZXQgY29ubmVjdGlvbiBkZXRhaWxzGtEBUmV0cmlldmVzIHRoZSBjb21wbGV0ZSBjb25maWd1cmF0aW9uIGFuZCBzdGF0dXMgZGV0YWlscyBmb3IgYSBzcGVjaWZpYyBjb25uZWN0aW9uIGJ5IGl0cyBJRCB3aXRoaW4gYW4gb3JnYW5pemF0aW9uLiBSZXR1cm5zIGFsbCBjb25uZWN0aW9uIHByb3BlcnRpZXMgaW5jbHVkaW5nIHByb3ZpZGVyIHNldHRpbmdzLCBwcm90b2NvbHMsIGFuZCBjdXJyZW50IHN0YXR1cy5KhQEKAzIwMBJ+CkhTdWNjZXNzZnVsbHkgcmV0cmlldmVkIGNvbm5lY3Rpb24gZGV0YWlscyBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24SMgowGi4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuR2V0Q29ubmVjdGlvblJlc3BvbnNlgrUYFAoQY29ubmVjdGlvbnNfcmVhZBh0gtPkkwI6EjgvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2lkfRLkAgoPTGlzdENvbm5lY3Rpb25zEi8uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdENvbm5lY3Rpb25zUmVxdWVzdBowLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uc1Jlc3BvbnNlIu0BkkG2AQoLQ29ubmVjdGlvbnMSEExpc3QgY29ubmVjdGlvbnMaMlJldHJpZXZlcyBhIGxpc3Qgb2YgY29ubmVjdGlvbnMgaW4gdGhlIGVudmlyb25tZW50SmEKAzIwMBJaCiJTdWNjZXNzZnVsbHkgcmV0cmlldmVkIGNvbm5lY3Rpb25zEjQKMhowLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkxpc3RDb25uZWN0aW9uc1Jlc3BvbnNlgrUYFAoQY29ubmVjdGlvbnNfcmVhZBh0gtPkkwIVEhMvYXBpL3YxL2Nvbm5lY3Rpb25zErUDChtMaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnMSOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0Gjwuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2UimgKSQdYBCgtDb25uZWN0aW9ucxIdTGlzdCBvcmdhbml6YXRpb24gY29ubmVjdGlvbnMaOVJldHJpZXZlcyBhIGxpc3Qgb2YgY29ubmVjdGlvbnMgZm9yIGFsbCB0aGUgb3JnYW5pemF0aW9uc0ptCgMyMDASZgoiU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9ucxJACj4aPC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0T3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCJRIjL2FwaS92MS9vcmdhbml6YXRpb25zLy0vY29ubmVjdGlvbnMSzQMKHVNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zEj0uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU2VhcmNoT3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXF1ZXN0Gj4uc2NhbGVraXQudjEuY29ubmVjdGlvbnMuU2VhcmNoT3JnYW5pemF0aW9uQ29ubmVjdGlvbnNSZXNwb25zZSKsApJB4QEKC0Nvbm5lY3Rpb25zEh9TZWFyY2ggb3JnYW5pemF0aW9uIGNvbm5lY3Rpb25zGkRTZWFyY2ggd2l0aCBxdWVyeSBvciBmaWx0ZXJzIHByb3ZpZGVkIGFuZCByZXR1cm4gbGlzdCBvZiBjb25uZWN0aW9uc0prCgMyMDASZAoeU3VjY2Vzc2Z1bGx5IGZvdW5kIGNvbm5lY3Rpb25zEkIKQBo+LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlNlYXJjaE9yZ2FuaXphdGlvbkNvbm5lY3Rpb25zUmVzcG9uc2WCtRgCGET60uSTAgkSB1BSRVZJRVeC0+STAiwSKi9hcGkvdjEvb3JnYW5pemF0aW9ucy8tL2Nvbm5lY3Rpb25zOnNlYXJjaBLxAgobVXBkYXRlRW52aXJvbm1lbnRDb25uZWN0aW9uEjsuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlRW52aXJvbm1lbnRDb25uZWN0aW9uUmVxdWVzdBoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZSLhAZJBkQEKC0Nvbm5lY3Rpb25zEhNVcGRhdGUgYSBjb25uZWN0aW9uGhdVcGRhdGUgYSBTU08gQ29ubmVjdGlvbkpUCgMyMDASTQoUVXBkYXRlZCBTdWNjZXNzZnVsbHkSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvblJlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIxOgpjb25uZWN0aW9uMiMvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfRKUAwoQVXBkYXRlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVXBkYXRlQ29ubmVjdGlvblJlc3BvbnNlIpoCkkGiAQoLQ29ubmVjdGlvbnMSJFVwZGF0ZSBhIGNvbm5lY3Rpb24gZm9yIG9yZ2FuaXphdGlvbhoXVXBkYXRlIGEgU1NPIENvbm5lY3Rpb25KVAoDMjAwEk0KFFVwZGF0ZWQgU3VjY2Vzc2Z1bGx5EjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlVwZGF0ZUNvbm5lY3Rpb25SZXNwb25zZYK1GBUKEWNvbm5lY3Rpb25zX3dyaXRlGHT60uSTAgkSB1BSRVZJRVeC0+STAkY6CmNvbm5lY3Rpb24yOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9EpICChtEZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5EZWxldGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Ip0BkkFaCgtDb25uZWN0aW9ucxITRGVsZXRlIGEgY29ubmVjdGlvbhoXRGVsZXRlIGEgU1NPIENvbm5lY3Rpb25KHQoDMjAwEhYKFERlbGV0ZWQgU3VjY2Vzc2Z1bGx5grUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwIlKiMvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfRKiAgoQRGVsZXRlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkRlbGV0ZUNvbm5lY3Rpb25SZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5IsMBkkFrCgtDb25uZWN0aW9ucxIkRGVsZXRlIGEgY29ubmVjdGlvbiBmb3Igb3JnYW5pemF0aW9uGhdEZWxldGUgYSBTU08gQ29ubmVjdGlvbkodCgMyMDASFgoURGVsZXRlZCBTdWNjZXNzZnVsbHmCtRgCGGT60uSTAgkSB1BSRVZJRVeC0+STAjoqOC9hcGkvdjEvb3JnYW5pemF0aW9ucy97b3JnYW5pemF0aW9uX2lkfS9jb25uZWN0aW9ucy97aWR9Et8CChtFbmFibGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlIs8BkkGEAQoLQ29ubmVjdGlvbnMSE0VuYWJsZSBhIGNvbm5lY3Rpb24aF0VuYWJsZSBhIFNTTyBDb25uZWN0aW9uSkcKAzIwMBJACgdTdWNjZXNzEjUKMxoxLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXNwb25zZYK1GAIYRPrS5JMCCRIHUFJFVklFV4LT5JMCLDIqL2FwaS92MS9jb25uZWN0aW9ucy97Y29ubmVjdGlvbl9pZH06ZW5hYmxlEt0EChBFbmFibGVDb25uZWN0aW9uEjAuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlcXVlc3QaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2Ui4wOSQf8CCgtDb25uZWN0aW9ucxIeRW5hYmxlIG9yZ2FuaXphdGlvbiBjb25uZWN0aW9uGu4BQWN0aXZhdGUgYW4gZXhpc3RpbmcgY29ubmVjdGlvbiBmb3IgdGhlIHNwZWNpZmllZCBvcmdhbml6YXRpb24uIFdoZW4gZW5hYmxlZCwgdXNlcnMgY2FuIGF1dGhlbnRpY2F0ZSB1c2luZyB0aGlzIGNvbm5lY3Rpb24uIFRoaXMgZW5kcG9pbnQgY2hhbmdlcyB0aGUgY29ubmVjdGlvbiBzdGF0ZSBmcm9tIGRpc2FibGVkIHRvIGVuYWJsZWQgd2l0aG91dCBtb2RpZnlpbmcgb3RoZXIgY29uZmlndXJhdGlvbiBzZXR0aW5nc0pfCgMyMDASWAofQ29ubmVjdGlvbiBlbmFibGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgVChFjb25uZWN0aW9uc193cml0ZRh0gtPkkwJBMj8vYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2lkfTplbmFibGUS4wIKHERpc2FibGVFbnZpcm9ubWVudENvbm5lY3Rpb24SOy5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVFbnZpcm9ubWVudENvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlItIBkkGGAQoLQ29ubmVjdGlvbnMSFERpc2FibGUgYSBjb25uZWN0aW9uGhhEaXNhYmxlIGEgU1NPIENvbm5lY3Rpb25KRwoDMjAwEkAKB1N1Y2Nlc3MSNQozGjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlgrUYAhhE+tLkkwIJEgdQUkVWSUVXgtPkkwItMisvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfTpkaXNhYmxlEucEChFEaXNhYmxlQ29ubmVjdGlvbhIwLnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLlRvZ2dsZUNvbm5lY3Rpb25SZXF1ZXN0GjEuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuVG9nZ2xlQ29ubmVjdGlvblJlc3BvbnNlIuwDkkGHAwoLQ29ubmVjdGlvbnMSH0Rpc2FibGUgb3JnYW5pemF0aW9uIGNvbm5lY3Rpb24a9AFEZWFjdGl2YXRlIGFuIGV4aXN0aW5nIGNvbm5lY3Rpb24gZm9yIHRoZSBzcGVjaWZpZWQgb3JnYW5pemF0aW9uLiBXaGVuIGRpc2FibGVkLCB1c2VycyBjYW5ub3QgYXV0aGVudGljYXRlIHVzaW5nIHRoaXMgY29ubmVjdGlvbi4gVGhpcyBlbmRwb2ludCBjaGFuZ2VzIHRoZSBjb25uZWN0aW9uIHN0YXRlIGZyb20gZW5hYmxlZCB0byBkaXNhYmxlZCB3aXRob3V0IG1vZGlmeWluZyBvdGhlciBjb25maWd1cmF0aW9uIHNldHRpbmdzSmAKAzIwMBJZCiBDb25uZWN0aW9uIGRpc2FibGVkIHN1Y2Nlc3NmdWxseRI1CjMaMS5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5Ub2dnbGVDb25uZWN0aW9uUmVzcG9uc2WCtRgVChFjb25uZWN0aW9uc193cml0ZRh0gtPkkwJCMkAvYXBpL3YxL29yZ2FuaXphdGlvbnMve29yZ2FuaXphdGlvbl9pZH0vY29ubmVjdGlvbnMve2lkfTpkaXNhYmxlEoADChdHZXRDb25uZWN0aW9uVGVzdFJlc3VsdBI3LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25UZXN0UmVzdWx0UmVxdWVzdBo4LnNjYWxla2l0LnYxLmNvbm5lY3Rpb25zLkdldENvbm5lY3Rpb25UZXN0UmVzdWx0UmVzcG9uc2Ui8QGSQY0BCgtDb25uZWN0aW9ucxIWVGVzdCBjb25uZWN0aW9uIHJlc3VsdBoWQ29ubmVjdGlvbiB0ZXN0IHJlc3VsdEpOCgMyMDASRwoHU3VjY2VzcxI8CjoaOC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5HZXRDb25uZWN0aW9uVGVzdFJlc3VsdFJlc3BvbnNlgrUYAhh0+tLkkwIJEgdQUkVWSUVXgtPkkwJFEkMvYXBpL3YxL2Nvbm5lY3Rpb25zL3tjb25uZWN0aW9uX2lkfS90ZXN0LXJlcXVlc3RzL3t0ZXN0X3JlcXVlc3RfaWR9EvYCChJMaXN0QXBwQ29ubmVjdGlvbnMSMi5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0QXBwQ29ubmVjdGlvbnNSZXF1ZXN0GjMuc2NhbGVraXQudjEuY29ubmVjdGlvbnMuTGlzdEFwcENvbm5lY3Rpb25zUmVzcG9uc2Ui9gGSQb4BCgtDb25uZWN0aW9ucxIUTGlzdCBBcHAgY29ubmVjdGlvbnMaNlJldHJpZXZlcyBhIGxpc3Qgb2YgYXBwIGNvbm5lY3Rpb25zIGluIHRoZSBlbnZpcm9ubWVudEphCgMyMDASWgoiU3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBjb25uZWN0aW9ucxI0CjIaMC5zY2FsZWtpdC52MS5jb25uZWN0aW9ucy5MaXN0Q29ubmVjdGlvbnNSZXNwb25zZYK1GAIYZPrS5JMCCRIHUFJFVklFV4LT5JMCGRIXL2FwaS92MS9jb25uZWN0aW9ucy9hcHAamgGSQZYBCgtDb25uZWN0aW9ucxKGAU1hbmFnZSBlbnRlcnByaXNlIGNvbm5lY3Rpb25zIGZvciB5b3VyIFNjYWxla2l0IGVudmlyb25tZW50LiBUaGlzIHNlcnZpY2UgcHJvdmlkZXMgZW5kcG9pbnRzIGZvciByZXRyaWV2aW5nLCBhbmQgdXBkYXRpbmcgY29ubmVjdGlvbnMuQjdaNWdpdGh1Yi5jb20vc2NhbGVraXQtaW5jL3NjYWxla2l0L3BrZy9ncnBjL2Nvbm5lY3Rpb25zYgZwcm90bzM", [validate_pb_1.file_buf_validate_validate, annotations_pb_1.file_google_api_annotations, field_behavior_pb_1.file_google_api_field_behavior, visibility_pb_1.file_google_api_visibility, wkt_1.file_google_protobuf_duration, wkt_1.file_google_protobuf_empty, wkt_1.file_google_protobuf_struct, wkt_1.file_google_protobuf_timestamp, wkt_1.file_google_protobuf_wrappers, annotations_pb_2.file_protoc_gen_openapiv2_options_annotations, domains_pb_1.file_scalekit_v1_domains_domains, options_pb_1.file_scalekit_v1_options_options]);
21
21
  /**
22
22
  * Describes the message scalekit.v1.connections.AssignDomainsToConnectionRequest.
23
23
  * Use `create(AssignDomainsToConnectionRequestSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"connections_pb.js","sourceRoot":"","sources":["../../../../../../src/pkg/grpc/scalekit/v1/connections/connections_pb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connections_pb.js","sourceRoot":"","sources":["../../../../../../src/pkg/grpc/scalekit/v1/connections/connections_pb.ts"],"names":[],"mappings":"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"}