@ultipa-graph/ultipa-driver 6.0.0 → 6.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2024-2025 GQLDB Team
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2024-2025 GQLDB Team
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/dist/client.d.ts CHANGED
@@ -6,7 +6,7 @@ import { GqldbConfig } from './config';
6
6
  import { Response, InsertNodesResult, InsertEdgesResult, DeleteResult, ExportNodesResult, ExportEdgesResult, ExportConfig, ExportChunk } from './response';
7
7
  import { Session } from './session';
8
8
  import { Transaction } from './transaction';
9
- import { GraphInfo, GraphType, HealthStatus, CacheStats, CacheType, Statistics, CompactResult, ComputeTopologyResult, NodeData, EdgeData, BulkCreateNodesOptions, BulkCreateEdgesOptions, BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus, TransactionInfo } from './types';
9
+ import { GraphInfo, GraphType, HealthStatus, CacheStats, CacheType, Statistics, CompactResult, ComputeTopologyResult, SystemMetrics, NodeData, EdgeData, BulkCreateNodesOptions, BulkCreateEdgesOptions, BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus, TransactionInfo } from './types';
10
10
  /** Configuration for a query */
11
11
  export interface QueryConfig {
12
12
  graphName?: string;
@@ -150,6 +150,8 @@ export declare class GqldbClient {
150
150
  getStatistics(graphName?: string): Promise<Statistics>;
151
151
  /** Invalidate the RBAC permission cache */
152
152
  invalidatePermissionCache(username?: string): Promise<void>;
153
+ /** Return system-level metrics (CPU, memory, disk I/O, storage, network) */
154
+ getSystemMetrics(): Promise<SystemMetrics>;
153
155
  /** Trigger manual compaction of the database storage */
154
156
  compact(): Promise<CompactResult>;
155
157
  /** Wait for the computing engine topology to be ready */
package/dist/client.js CHANGED
@@ -307,6 +307,10 @@ class GqldbClient {
307
307
  async invalidatePermissionCache(username = '') {
308
308
  return this.adminService.invalidatePermissionCache(username);
309
309
  }
310
+ /** Return system-level metrics (CPU, memory, disk I/O, storage, network) */
311
+ async getSystemMetrics() {
312
+ return this.adminService.getSystemMetrics();
313
+ }
310
314
  /** Trigger manual compaction of the database storage */
311
315
  async compact() {
312
316
  return this.adminService.compact();
@@ -387,4 +391,4 @@ class GqldbClient {
387
391
  }
388
392
  }
389
393
  exports.GqldbClient = GqldbClient;
390
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG9EQUFzQztBQUV0QyxxQ0FBdUQ7QUFjdkQsdUNBQW9EO0FBQ3BELCtDQUFnRTtBQUNoRSxtQ0FvQmlCO0FBQ2pCLHlDQUE0RjtBQUM1Riw0Q0FXMEI7QUFrQzFCLDZDQUE2QztBQUM3QyxNQUFhLFdBQVc7SUFDZCxNQUFNLENBQWM7SUFDcEIsT0FBTyxDQUFpQjtJQUN4QixRQUFRLENBQWlCO0lBQ3pCLFNBQVMsQ0FBcUI7SUFDOUIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUV2QixvQkFBb0I7SUFDWixjQUFjLENBQWlCO0lBQy9CLFlBQVksQ0FBZTtJQUMzQixZQUFZLENBQWU7SUFDM0Isa0JBQWtCLENBQXFCO0lBQ3ZDLFdBQVcsQ0FBYztJQUN6QixhQUFhLENBQWdCO0lBQzdCLFlBQVksQ0FBZTtJQUMzQixpQkFBaUIsQ0FBb0I7SUFFN0Msc0RBQXNEO0lBQzlDLGtCQUFrQjtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksTUFBbUI7UUFDN0IsSUFBQSx1QkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7UUFD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QVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsbUJBQW1CLENBQUMsU0FBaUI7UUFDekMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELDhFQUE4RTtJQUM5RSxzQkFBc0I7SUFDdEIsOEVBQThFO0lBRTlFLDhCQUE4QjtJQUM5QixVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsbUNBQW1DO0lBQ25DLFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELCtEQUErRDtJQUMvRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxJQUFJLEtBQUssQ0FBQztJQUN4RCxDQUFDO0lBRUQseURBQXlEO0lBQ3pELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDO0lBQ3JELENBQUM7SUFFRCxtREFBbUQ7SUFDbkQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsRUFBRSxjQUFjLElBQUksQ0FBQyxDQUFDO0lBQ3pELENBQUM7Q0FDRjtBQS9iRCxrQ0ErYkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogTWFpbiBjbGllbnQgZm9yIEdRTERCIE5vZGUuanMgZHJpdmVyLlxyXG4gKi9cclxuXHJcbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XHJcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XHJcbmltcG9ydCB7IEdxbGRiQ29uZmlnLCB2YWxpZGF0ZUNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcclxuaW1wb3J0IHsgRW1wdHlRdWVyeUVycm9yLCBMb2dpbkZhaWxlZEVycm9yLCBRdWVyeUZhaWxlZEVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xyXG5pbXBvcnQge1xyXG4gIFJlc3BvbnNlLFxyXG4gIFJvdyxcclxuICBJbnNlcnROb2Rlc1Jlc3VsdCxcclxuICBJbnNlcnRFZGdlc1Jlc3VsdCxcclxuICBEZWxldGVSZXN1bHQsXHJcbiAgRXhwb3J0Tm9kZXNSZXN1bHQsXHJcbiAgRXhwb3J0RWRnZXNSZXN1bHQsXHJcbiAgRXhwb3J0Q29uZmlnLFxyXG4gIEV4cG9ydENodW5rLFxyXG4gIEV4cG9ydFN0YXRzLFxyXG59IGZyb20gJy4vcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uLCBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4vc2Vzc2lvbic7XHJcbmltcG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcclxuaW1wb3J0IHtcclxuICBHcmFwaEluZm8sXHJcbiAgR3JhcGhUeXBlLFxyXG4gIEhlYWx0aFN0YXR1cyxcclxuICBDYWNoZVN0YXRzLFxyXG4gIENhY2hlVHlwZSxcclxuICBTdGF0aXN0aWNzLFxyXG4gIENvbXBhY3RSZXN1bHQsXHJcbiAgQ29tcHV0ZVRvcG9sb2d5UmVzdWx0LFxyXG4gIE5vZGVEYXRhLFxyXG4gIEVkZ2VEYXRhLFxyXG4gIEJ1bGtDcmVhdGVOb2Rlc09wdGlvbnMsXHJcbiAgQnVsa0NyZWF0ZUVkZ2VzT3B0aW9ucyxcclxuICBCdWxrSW1wb3J0T3B0aW9ucyxcclxuICBCdWxrSW1wb3J0U2Vzc2lvbixcclxuICBDaGVja3BvaW50UmVzdWx0LFxyXG4gIEVuZEJ1bGtJbXBvcnRSZXN1bHQsXHJcbiAgQWJvcnRCdWxrSW1wb3J0UmVzdWx0LFxyXG4gIEJ1bGtJbXBvcnRTdGF0dXMsXHJcbiAgVHJhbnNhY3Rpb25JbmZvLFxyXG59IGZyb20gJy4vdHlwZXMnO1xyXG5pbXBvcnQgeyBjcmVhdGVTZXJ2aWNlQ2xpZW50cywgcHJvbWlzaWZ5Q2FsbCwgcHJvbWlzaWZ5Q2FsbFdpdGhEZWFkbGluZSB9IGZyb20gJy4vc2VydmljZXMnO1xyXG5pbXBvcnQge1xyXG4gIFNlcnZpY2VDb250ZXh0LFxyXG4gIFNlcnZpY2VDbGllbnRzLFxyXG4gIFNlc3Npb25TZXJ2aWNlLFxyXG4gIFF1ZXJ5U2VydmljZSxcclxuICBHcmFwaFNlcnZpY2UsXHJcbiAgVHJhbnNhY3Rpb25TZXJ2aWNlLFxyXG4gIERhdGFTZXJ2aWNlLFxyXG4gIEhlYWx0aFNlcnZpY2UsXHJcbiAgQWRtaW5TZXJ2aWNlLFxyXG4gIEJ1bGtJbXBvcnRTZXJ2aWNlLFxyXG59IGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xyXG5cclxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIGEgcXVlcnkgKi9cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeUNvbmZpZyB7XHJcbiAgZ3JhcGhOYW1lPzogc3RyaW5nO1xyXG4gIHBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xyXG4gIHRyYW5zYWN0aW9uSWQ/OiBudW1iZXI7XHJcbiAgdGltZW91dD86IG51bWJlcjtcclxuICByZWFkT25seT86IGJvb2xlYW47XHJcbiAgLyoqIE1heCBwYXRocyB0byByZXR1cm4gZnJvbSBwYXRoIHF1ZXJpZXMgKDAgPSB1bmxpbWl0ZWQpICovXHJcbiAgbWF4UGF0aFJlc3VsdHM/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGZvciBpbnNlcnQgbm9kZXMgKi9cclxuZXhwb3J0IGludGVyZmFjZSBJbnNlcnROb2Rlc0NvbmZpZyB7XHJcbiAgb3B0aW9ucz86IEJ1bGtDcmVhdGVOb2Rlc09wdGlvbnM7XHJcbiAgYnVsa0ltcG9ydFNlc3Npb25JZD86IHN0cmluZztcclxufVxyXG5cclxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIGluc2VydCBlZGdlcyAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIEluc2VydEVkZ2VzQ29uZmlnIHtcclxuICBvcHRpb25zPzogQnVsa0NyZWF0ZUVkZ2VzT3B0aW9ucztcclxuICBidWxrSW1wb3J0U2Vzc2lvbklkPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogSGVhbHRoIHdhdGNoZXIgaW50ZXJmYWNlIGZvciBzdHJlYW1pbmcgaGVhbHRoIHVwZGF0ZXMuXHJcbiAqIEVtaXRzICdzdGF0dXMnIGV2ZW50cyB3aXRoIEhlYWx0aFN0YXR1cyBhbmQgJ2Vycm9yJyBldmVudHMgb24gZmFpbHVyZS5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgSGVhbHRoV2F0Y2hlciBleHRlbmRzIEV2ZW50RW1pdHRlciB7XHJcbiAgLyoqIFN0b3Agd2F0Y2hpbmcgaGVhbHRoIHVwZGF0ZXMgKi9cclxuICBzdG9wKCk6IHZvaWQ7XHJcbn1cclxuXHJcbi8qKiBNYWluIGNsaWVudCBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBHUUxEQiAqL1xyXG5leHBvcnQgY2xhc3MgR3FsZGJDbGllbnQge1xyXG4gIHByaXZhdGUgY29uZmlnOiBHcWxkYkNvbmZpZztcclxuICBwcml2YXRlIGNsaWVudHM6IFNlcnZpY2VDbGllbnRzO1xyXG4gIHByaXZhdGUgc2Vzc2lvbnM6IFNlc3Npb25NYW5hZ2VyO1xyXG4gIHByaXZhdGUgdHhNYW5hZ2VyOiBUcmFuc2FjdGlvbk1hbmFnZXI7XHJcbiAgcHJpdmF0ZSBjbG9zZWQgPSBmYWxzZTtcclxuXHJcbiAgLy8gU2VydmljZSBpbnN0YW5jZXNcclxuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBTZXNzaW9uU2VydmljZTtcclxuICBwcml2YXRlIHF1ZXJ5U2VydmljZTogUXVlcnlTZXJ2aWNlO1xyXG4gIHByaXZhdGUgZ3JhcGhTZXJ2aWNlOiBHcmFwaFNlcnZpY2U7XHJcbiAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZTtcclxuICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZTtcclxuICBwcml2YXRlIGhlYWx0aFNlcnZpY2U6IEhlYWx0aFNlcnZpY2U7XHJcbiAgcHJpdmF0ZSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZTtcclxuICBwcml2YXRlIGJ1bGtJbXBvcnRTZXJ2aWNlOiBCdWxrSW1wb3J0U2VydmljZTtcclxuXHJcbiAgLyoqIEdldCBzZXNzaW9uIG1ldGFkYXRhIGZvciBhdXRoZW50aWNhdGVkIHJlcXVlc3RzICovXHJcbiAgcHJpdmF0ZSBnZXRTZXNzaW9uTWV0YWRhdGEoKTogZ3JwYy5NZXRhZGF0YSB7XHJcbiAgICBjb25zdCBtZXRhZGF0YSA9IG5ldyBncnBjLk1ldGFkYXRhKCk7XHJcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XHJcbiAgICBtZXRhZGF0YS5hZGQoJ3Nlc3Npb24taWQnLCBzZXNzaW9uPy5pZD8udG9TdHJpbmcoKSB8fCAnMCcpO1xyXG4gICAgcmV0dXJuIG1ldGFkYXRhO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBHcWxkYkNvbmZpZykge1xyXG4gICAgdmFsaWRhdGVDb25maWcoY29uZmlnKTtcclxuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xyXG4gICAgdGhpcy5zZXNzaW9ucyA9IG5ldyBTZXNzaW9uTWFuYWdlcigpO1xyXG4gICAgdGhpcy50eE1hbmFnZXIgPSBuZXcgVHJhbnNhY3Rpb25NYW5hZ2VyKCk7XHJcblxyXG4gICAgLy8gQ3JlYXRlIGdSUEMgY3JlZGVudGlhbHNcclxuICAgIGxldCBjcmVkZW50aWFsczogZ3JwYy5DaGFubmVsQ3JlZGVudGlhbHM7XHJcbiAgICBpZiAoY29uZmlnLnRsc09wdGlvbnMpIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZVNzbCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2hhbm5lbCBvcHRpb25zXHJcbiAgICBjb25zdCBvcHRpb25zOiBncnBjLkNoYW5uZWxPcHRpb25zID0ge1xyXG4gICAgICAnZ3JwYy5tYXhfcmVjZWl2ZV9tZXNzYWdlX2xlbmd0aCc6IGNvbmZpZy5tYXhSZWN2U2l6ZSA/PyA0ICogMTAyNCAqIDEwMjQsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lX21zJzogMzAwMDAsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lb3V0X21zJzogMTAwMDAsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSBzZXJ2aWNlIGNsaWVudHMgZm9yIHRoZSBmaXJzdCBob3N0XHJcbiAgICBjb25zdCBob3N0ID0gY29uZmlnLmhvc3RzWzBdO1xyXG4gICAgdGhpcy5jbGllbnRzID0gY3JlYXRlU2VydmljZUNsaWVudHMoaG9zdCwgY3JlZGVudGlhbHMsIG9wdGlvbnMpO1xyXG5cclxuICAgIC8vIEluaXRpYWxpemUgc2VydmljZSBjb250ZXh0XHJcbiAgICBjb25zdCBjdHggPSBuZXcgU2VydmljZUNvbnRleHQodGhpcy5jb25maWcsIHRoaXMuc2Vzc2lvbnMsIHRoaXMudHhNYW5hZ2VyLCB0aGlzLmNsaWVudHMpO1xyXG5cclxuICAgIC8vIEluaXRpYWxpemUgc2VydmljZSBpbnN0YW5jZXNcclxuICAgIHRoaXMuc2Vzc2lvblNlcnZpY2UgPSBuZXcgU2Vzc2lvblNlcnZpY2UoY3R4KTtcclxuICAgIHRoaXMucXVlcnlTZXJ2aWNlID0gbmV3IFF1ZXJ5U2VydmljZShjdHgpO1xyXG4gICAgdGhpcy5ncmFwaFNlcnZpY2UgPSBuZXcgR3JhcGhTZXJ2aWNlKGN0eCk7XHJcbiAgICB0aGlzLnRyYW5zYWN0aW9uU2VydmljZSA9IG5ldyBUcmFuc2FjdGlvblNlcnZpY2UoY3R4KTtcclxuICAgIHRoaXMuZGF0YVNlcnZpY2UgPSBuZXcgRGF0YVNlcnZpY2UoY3R4KTtcclxuICAgIHRoaXMuaGVhbHRoU2VydmljZSA9IG5ldyBIZWFsdGhTZXJ2aWNlKGN0eCk7XHJcbiAgICB0aGlzLmFkbWluU2VydmljZSA9IG5ldyBBZG1pblNlcnZpY2UoY3R4KTtcclxuICAgIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2UgPSBuZXcgQnVsa0ltcG9ydFNlcnZpY2UoY3R4KTtcclxuICB9XHJcblxyXG4gIC8qKiBDbG9zZSB0aGUgY2xpZW50IGFuZCBhbGwgY29ubmVjdGlvbnMgKi9cclxuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLmNsb3NlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLnNlc3Npb25zLmlzTG9nZ2VkSW4oKSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMubG9nb3V0KCk7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBJZ25vcmUgbG9nb3V0IGVycm9ycyBkdXJpbmcgY2xvc2VcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIENsb3NlIGFsbCBzZXJ2aWNlIGNsaWVudHNcclxuICAgIHRyeSB7XHJcbiAgICAgICh0aGlzLmNsaWVudHMuc2Vzc2lvblNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XHJcbiAgICAgICh0aGlzLmNsaWVudHMucXVlcnlTZXJ2aWNlIGFzIGFueSkuY2xvc2U/LigpO1xyXG4gICAgICAodGhpcy5jbGllbnRzLmdyYXBoU2VydmljZSBhcyBhbnkpLmNsb3NlPy4oKTtcclxuICAgICAgKHRoaXMuY2xpZW50cy50cmFuc2FjdGlvblNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XHJcbiAgICAgICh0aGlzLmNsaWVudHMuZGF0YVNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XHJcbiAgICAgICh0aGlzLmNsaWVudHMuaGVhbHRoU2VydmljZSBhcyBhbnkpLmNsb3NlPy4oKTtcclxuICAgICAgKHRoaXMuY2xpZW50cy5hZG1pblNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XHJcbiAgICAgICh0aGlzLmNsaWVudHMuYnVsa0ltcG9ydFNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8vIElnbm9yZSBjbG9zZSBlcnJvcnNcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIC8vIFNlc3Npb24gU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogQXV0aGVudGljYXRlIHRoZSB1c2VyIGFuZCBjcmVhdGUgYSBzZXNzaW9uICovXHJcbiAgYXN5bmMgbG9naW4odXNlcm5hbWU6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8U2Vzc2lvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCB0aGlzLmNvbmZpZy5kZWZhdWx0R3JhcGggfHwgJycpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFRlcm1pbmF0ZSB0aGUgY3VycmVudCBzZXNzaW9uICovXHJcbiAgYXN5bmMgbG9nb3V0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICAvKiogQ2hlY2sgdGhlIGNvbm5lY3Rpb24gYW5kIHJldHVybiB0aGUgbGF0ZW5jeSBpbiBuYW5vc2Vjb25kcyAqL1xyXG4gIGFzeW5jIHBpbmcoKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25TZXJ2aWNlLnBpbmcoKTtcclxuICB9XHJcblxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gIC8vIFF1ZXJ5IFNlcnZpY2VcclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbiAgLyoqIEV4ZWN1dGUgYSBHUUwgcXVlcnkgYW5kIHJldHVybiB0aGUgcmVzdWx0ICovXHJcbiAgYXN5bmMgZ3FsKHF1ZXJ5OiBzdHJpbmcsIGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogUHJvbWlzZTxSZXNwb25zZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZXJ2aWNlLmdxbChxdWVyeSwgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKiBFeGVjdXRlIGEgR1FMIHF1ZXJ5IGFuZCBzdHJlYW0gdGhlIHJlc3VsdHMgKi9cclxuICBhc3luYyBncWxTdHJlYW0oXHJcbiAgICBxdWVyeTogc3RyaW5nLFxyXG4gICAgY29uZmlnPzogUXVlcnlDb25maWcsXHJcbiAgICBjYWxsYmFjaz86IChyZXNwb25zZTogUmVzcG9uc2UpID0+IHZvaWRcclxuICApOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VydmljZS5ncWxTdHJlYW0ocXVlcnksIGNvbmZpZywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldHVybiB0aGUgZXhlY3V0aW9uIHBsYW4gZm9yIGEgcXVlcnkgKi9cclxuICBhc3luYyBleHBsYWluKHF1ZXJ5OiBzdHJpbmcsIGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VydmljZS5leHBsYWluKHF1ZXJ5LCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEV4ZWN1dGUgYSBxdWVyeSB3aXRoIHByb2ZpbGluZyBhbmQgcmV0dXJuIHN0YXRpc3RpY3MgKi9cclxuICBhc3luYyBwcm9maWxlKHF1ZXJ5OiBzdHJpbmcsIGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VydmljZS5wcm9maWxlKHF1ZXJ5LCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gR3JhcGggU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogQ3JlYXRlIGEgbmV3IGdyYXBoICovXHJcbiAgYXN5bmMgY3JlYXRlR3JhcGgoXHJcbiAgICBuYW1lOiBzdHJpbmcsXHJcbiAgICBncmFwaFR5cGU6IEdyYXBoVHlwZSA9IEdyYXBoVHlwZS5PUEVOLFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyA9ICcnXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UuY3JlYXRlR3JhcGgobmFtZSwgZ3JhcGhUeXBlLCBkZXNjcmlwdGlvbik7XHJcbiAgfVxyXG5cclxuICAvKiogRGVsZXRlIGEgZ3JhcGggKi9cclxuICBhc3luYyBkcm9wR3JhcGgobmFtZTogc3RyaW5nLCBpZkV4aXN0czogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UuZHJvcEdyYXBoKG5hbWUsIGlmRXhpc3RzKTtcclxuICB9XHJcblxyXG4gIC8qKiBTZXQgdGhlIGN1cnJlbnQgZ3JhcGggZm9yIHRoZSBzZXNzaW9uICovXHJcbiAgYXN5bmMgdXNlR3JhcGgobmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UudXNlR3JhcGgobmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJuIGFsbCBhdmFpbGFibGUgZ3JhcGhzICovXHJcbiAgYXN5bmMgbGlzdEdyYXBocygpOiBQcm9taXNlPEdyYXBoSW5mb1tdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UubGlzdEdyYXBocygpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJldHVybiBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGdyYXBoICovXHJcbiAgYXN5bmMgZ2V0R3JhcGhJbmZvKG5hbWU6IHN0cmluZyk6IFByb21pc2U8R3JhcGhJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UuZ2V0R3JhcGhJbmZvKG5hbWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gVHJhbnNhY3Rpb24gU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogU3RhcnQgYSBuZXcgdHJhbnNhY3Rpb24gKi9cclxuICBhc3luYyBiZWdpblRyYW5zYWN0aW9uKFxyXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXHJcbiAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlLFxyXG4gICAgdGltZW91dDogbnVtYmVyID0gMFxyXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb24+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5iZWdpblRyYW5zYWN0aW9uKGdyYXBoTmFtZSwgcmVhZE9ubHksIHRpbWVvdXQpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENvbW1pdCBhIHRyYW5zYWN0aW9uICovXHJcbiAgYXN5bmMgY29tbWl0KHRyYW5zYWN0aW9uSWQ6IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLmNvbW1pdCh0cmFuc2FjdGlvbklkKTtcclxuICB9XHJcblxyXG4gIC8qKiBSb2xsYmFjayBhIHRyYW5zYWN0aW9uICovXHJcbiAgYXN5bmMgcm9sbGJhY2sodHJhbnNhY3Rpb25JZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2Uucm9sbGJhY2sodHJhbnNhY3Rpb25JZCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJuIGFjdGl2ZSB0cmFuc2FjdGlvbnMgKi9cclxuICBhc3luYyBsaXN0VHJhbnNhY3Rpb25zKCk6IFByb21pc2U8VHJhbnNhY3Rpb25JbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5saXN0VHJhbnNhY3Rpb25zKCk7XHJcbiAgfVxyXG5cclxuICAvKiogRXhlY3V0ZSBhIGZ1bmN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uICovXHJcbiAgYXN5bmMgd2l0aFRyYW5zYWN0aW9uPFQ+KFxyXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXHJcbiAgICBmbjogKHR4SWQ6IG51bWJlcikgPT4gUHJvbWlzZTxUPixcclxuICAgIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2VcclxuICApOiBQcm9taXNlPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS53aXRoVHJhbnNhY3Rpb24oZ3JhcGhOYW1lLCBmbiwgcmVhZE9ubHkpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gRGF0YSBTZXJ2aWNlXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG4gIC8qKiBJbnNlcnQgbXVsdGlwbGUgbm9kZXMgaW50byBhIGdyYXBoICovXHJcbiAgYXN5bmMgaW5zZXJ0Tm9kZXMoXHJcbiAgICBncmFwaE5hbWU6IHN0cmluZyxcclxuICAgIG5vZGVzOiBOb2RlRGF0YVtdLFxyXG4gICAgY29uZmlnPzogSW5zZXJ0Tm9kZXNDb25maWdcclxuICApOiBQcm9taXNlPEluc2VydE5vZGVzUmVzdWx0PiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5pbnNlcnROb2RlcyhncmFwaE5hbWUsIG5vZGVzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEluc2VydCBtdWx0aXBsZSBlZGdlcyBpbnRvIGEgZ3JhcGggKi9cclxuICBhc3luYyBpbnNlcnRFZGdlcyhcclxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxyXG4gICAgZWRnZXM6IEVkZ2VEYXRhW10sXHJcbiAgICBjb25maWc/OiBJbnNlcnRFZGdlc0NvbmZpZ1xyXG4gICk6IFByb21pc2U8SW5zZXJ0RWRnZXNSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmluc2VydEVkZ2VzKGdyYXBoTmFtZSwgZWRnZXMsIGNvbmZpZyk7XHJcbiAgfVxyXG5cclxuICAvKiogRGVsZXRlIG5vZGVzIGZyb20gYSBncmFwaCAqL1xyXG4gIGFzeW5jIGRlbGV0ZU5vZGVzKFxyXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXHJcbiAgICBub2RlSWRzPzogc3RyaW5nW10sXHJcbiAgICBsYWJlbHM/OiBzdHJpbmdbXSxcclxuICAgIHdoZXJlPzogc3RyaW5nXHJcbiAgKTogUHJvbWlzZTxEZWxldGVSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmRlbGV0ZU5vZGVzKGdyYXBoTmFtZSwgbm9kZUlkcywgbGFiZWxzLCB3aGVyZSk7XHJcbiAgfVxyXG5cclxuICAvKiogRGVsZXRlIGVkZ2VzIGZyb20gYSBncmFwaCAqL1xyXG4gIGFzeW5jIGRlbGV0ZUVkZ2VzKFxyXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXHJcbiAgICBlZGdlSWRzPzogc3RyaW5nW10sXHJcbiAgICBsYWJlbD86IHN0cmluZyxcclxuICAgIHdoZXJlPzogc3RyaW5nXHJcbiAgKTogUHJvbWlzZTxEZWxldGVSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmRlbGV0ZUVkZ2VzKGdyYXBoTmFtZSwgZWRnZUlkcywgbGFiZWwsIHdoZXJlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEV4cG9ydCBncmFwaCBkYXRhIGluIEpTT04gTGluZXMgZm9ybWF0IChzdHJlYW1pbmcpLlxyXG4gICAqIEBwYXJhbSBjb25maWcgRXhwb3J0IGNvbmZpZ3VyYXRpb25cclxuICAgKiBAcGFyYW0gY2FsbGJhY2sgQ2FsbGJhY2sgZm9yIGVhY2ggZXhwb3J0ZWQgY2h1bmtcclxuICAgKi9cclxuICBhc3luYyBleHBvcnQoXHJcbiAgICBjb25maWc6IEV4cG9ydENvbmZpZyxcclxuICAgIGNhbGxiYWNrPzogKGNodW5rOiBFeHBvcnRDaHVuaykgPT4gdm9pZFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZXhwb3J0KGNvbmZpZywgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogU3RyZWFtIG5vZGVzIGZyb20gYSBncmFwaFxyXG4gICAqIEBkZXByZWNhdGVkIFVzZSBleHBvcnQoKSB3aXRoIEV4cG9ydENvbmZpZyBpbnN0ZWFkXHJcbiAgICovXHJcbiAgYXN5bmMgZXhwb3J0Tm9kZXMoXHJcbiAgICBncmFwaE5hbWU6IHN0cmluZyxcclxuICAgIGxhYmVscz86IHN0cmluZ1tdLFxyXG4gICAgbGltaXQ6IG51bWJlciA9IDAsXHJcbiAgICBjYWxsYmFjaz86IChyZXN1bHQ6IEV4cG9ydE5vZGVzUmVzdWx0KSA9PiB2b2lkXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5leHBvcnROb2RlcyhncmFwaE5hbWUsIGxhYmVscywgbGltaXQsIGNhbGxiYWNrKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFN0cmVhbSBlZGdlcyBmcm9tIGEgZ3JhcGhcclxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZXhwb3J0KCkgd2l0aCBFeHBvcnRDb25maWcgaW5zdGVhZFxyXG4gICAqL1xyXG4gIGFzeW5jIGV4cG9ydEVkZ2VzKFxyXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXHJcbiAgICBsYWJlbHM/OiBzdHJpbmdbXSxcclxuICAgIGxpbWl0OiBudW1iZXIgPSAwLFxyXG4gICAgY2FsbGJhY2s/OiAocmVzdWx0OiBFeHBvcnRFZGdlc1Jlc3VsdCkgPT4gdm9pZFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZXhwb3J0RWRnZXMoZ3JhcGhOYW1lLCBsYWJlbHMsIGxpbWl0LCBjYWxsYmFjayk7XHJcbiAgfVxyXG5cclxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAvLyBIZWFsdGggU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogQ2hlY2sgdGhlIGhlYWx0aCBvZiBhIHNlcnZpY2UgKi9cclxuICBhc3luYyBoZWFsdGhDaGVjayhzZXJ2aWNlOiBzdHJpbmcgPSAnJyk6IFByb21pc2U8SGVhbHRoU3RhdHVzPiB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFsdGhTZXJ2aWNlLmhlYWx0aENoZWNrKHNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2F0Y2ggaGVhbHRoIHN0YXR1cyBjaGFuZ2VzIHZpYSBzZXJ2ZXItc2lkZSBzdHJlYW1pbmcuXHJcbiAgICogUmV0dXJucyBhIEhlYWx0aFdhdGNoZXIgdGhhdCBlbWl0cyAnc3RhdHVzJyBldmVudHMgd2l0aCBIZWFsdGhTdGF0dXMgdmFsdWVzLlxyXG4gICAqIENhbGwgc3RvcCgpIHRvIGNhbmNlbCB0aGUgc3RyZWFtLlxyXG4gICAqXHJcbiAgICogQHBhcmFtIHNlcnZpY2UgLSBPcHRpb25hbCBzZXJ2aWNlIG5hbWUgdG8gd2F0Y2hcclxuICAgKiBAcmV0dXJucyBIZWFsdGhXYXRjaGVyIC0gRXZlbnRFbWl0dGVyIHdpdGggc3RvcCgpIG1ldGhvZFxyXG4gICAqXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiBgYGB0eXBlc2NyaXB0XHJcbiAgICogY29uc3Qgd2F0Y2hlciA9IGNsaWVudC53YXRjaCgpO1xyXG4gICAqIHdhdGNoZXIub24oJ3N0YXR1cycsIChzdGF0dXM6IEhlYWx0aFN0YXR1cykgPT4ge1xyXG4gICAqICAgY29uc29sZS5sb2coJ0hlYWx0aCBzdGF0dXM6Jywgc3RhdHVzKTtcclxuICAgKiB9KTtcclxuICAgKiB3YXRjaGVyLm9uKCdlcnJvcicsIChlcnIpID0+IHtcclxuICAgKiAgIGNvbnNvbGUuZXJyb3IoJ1dhdGNoIGVycm9yOicsIGVycik7XHJcbiAgICogfSk7XHJcbiAgICogd2F0Y2hlci5vbignZW5kJywgKCkgPT4ge1xyXG4gICAqICAgY29uc29sZS5sb2coJ1dhdGNoIHN0cmVhbSBlbmRlZCcpO1xyXG4gICAqIH0pO1xyXG4gICAqIC8vIExhdGVyLCB0byBzdG9wIHdhdGNoaW5nOlxyXG4gICAqIHdhdGNoZXIuc3RvcCgpO1xyXG4gICAqIGBgYFxyXG4gICAqL1xyXG4gIHdhdGNoKHNlcnZpY2U6IHN0cmluZyA9ICcnKTogSGVhbHRoV2F0Y2hlciB7XHJcbiAgICByZXR1cm4gdGhpcy5oZWFsdGhTZXJ2aWNlLndhdGNoKHNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gQWRtaW4gU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogUHJlLWFsbG9jYXRlIHBhcnNlciBpbnN0YW5jZXMgKi9cclxuICBhc3luYyB3YXJtdXBQYXJzZXIoY291bnQ6IG51bWJlcik6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRtaW5TZXJ2aWNlLndhcm11cFBhcnNlcihjb3VudCk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJuIGNhY2hlIHN0YXRpc3RpY3MgKi9cclxuICBhc3luYyBnZXRDYWNoZVN0YXRzKGNhY2hlVHlwZTogQ2FjaGVUeXBlID0gQ2FjaGVUeXBlLkFMTCk6IFByb21pc2U8Q2FjaGVTdGF0cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRtaW5TZXJ2aWNlLmdldENhY2hlU3RhdHMoY2FjaGVUeXBlKTtcclxuICB9XHJcblxyXG4gIC8qKiBDbGVhciB0aGUgc3BlY2lmaWVkIGNhY2hlICovXHJcbiAgYXN5bmMgY2xlYXJDYWNoZShjYWNoZVR5cGU6IENhY2hlVHlwZSA9IENhY2hlVHlwZS5BTEwpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5jbGVhckNhY2hlKGNhY2hlVHlwZSk7XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJuIGRhdGFiYXNlIHN0YXRpc3RpY3MgKi9cclxuICBhc3luYyBnZXRTdGF0aXN0aWNzKGdyYXBoTmFtZTogc3RyaW5nID0gJycpOiBQcm9taXNlPFN0YXRpc3RpY3M+IHtcclxuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5nZXRTdGF0aXN0aWNzKGdyYXBoTmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKiogSW52YWxpZGF0ZSB0aGUgUkJBQyBwZXJtaXNzaW9uIGNhY2hlICovXHJcbiAgYXN5bmMgaW52YWxpZGF0ZVBlcm1pc3Npb25DYWNoZSh1c2VybmFtZTogc3RyaW5nID0gJycpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5pbnZhbGlkYXRlUGVybWlzc2lvbkNhY2hlKHVzZXJuYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKiBUcmlnZ2VyIG1hbnVhbCBjb21wYWN0aW9uIG9mIHRoZSBkYXRhYmFzZSBzdG9yYWdlICovXHJcbiAgYXN5bmMgY29tcGFjdCgpOiBQcm9taXNlPENvbXBhY3RSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5jb21wYWN0KCk7XHJcbiAgfVxyXG5cclxuICAvKiogV2FpdCBmb3IgdGhlIGNvbXB1dGluZyBlbmdpbmUgdG9wb2xvZ3kgdG8gYmUgcmVhZHkgKi9cclxuICBhc3luYyB3YWl0Rm9yQ29tcHV0ZVRvcG9sb2d5KGdyYXBoTmFtZTogc3RyaW5nLCB0aW1lb3V0TXM6IG51bWJlciA9IDApOiBQcm9taXNlPENvbXB1dGVUb3BvbG9neVJlc3VsdD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWRtaW5TZXJ2aWNlLndhaXRGb3JDb21wdXRlVG9wb2xvZ3koZ3JhcGhOYW1lLCB0aW1lb3V0TXMpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gQnVsayBJbXBvcnQgU2VydmljZVxyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKipcclxuICAgKiBTdGFydCBhIGJ1bGsgaW1wb3J0IHNlc3Npb24gZm9yIG9wdGltaXplZCBoaWdoLXRocm91Z2hwdXQgaW5zZXJ0cy5cclxuICAgKiBAcGFyYW0gZ3JhcGhOYW1lIFRhcmdldCBncmFwaCBuYW1lXHJcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgYnVsayBpbXBvcnQgY29uZmlndXJhdGlvblxyXG4gICAqL1xyXG4gIGFzeW5jIHN0YXJ0QnVsa0ltcG9ydChncmFwaE5hbWU6IHN0cmluZywgb3B0aW9ucz86IEJ1bGtJbXBvcnRPcHRpb25zKTogUHJvbWlzZTxCdWxrSW1wb3J0U2Vzc2lvbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2Uuc3RhcnRCdWxrSW1wb3J0KGdyYXBoTmFtZSwgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVwcmVjYXRlZCBDaGVja3BvaW50IGlzIG5vIGxvbmdlciBuZWVkZWQuIFVzZSBlbmRCdWxrSW1wb3J0KCkgd2hpY2ggcGVyZm9ybXMgYSBmaW5hbCBmbHVzaC5cclxuICAgKi9cclxuICBhc3luYyBjaGVja3BvaW50KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxDaGVja3BvaW50UmVzdWx0PiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBzdWNjZXNzOiB0cnVlLFxyXG4gICAgICByZWNvcmRDb3VudDogMCxcclxuICAgICAgbGFzdENoZWNrcG9pbnRDb3VudDogMCxcclxuICAgICAgbWVzc2FnZTogJ0NoZWNrcG9pbnQgaGFzIGJlZW4gcmVtb3ZlZDsgdXNlIGVuZEJ1bGtJbXBvcnQgd2hpY2ggcGVyZm9ybXMgYSBmaW5hbCBmbHVzaCcsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW5kIHRoZSBidWxrIGltcG9ydCBzZXNzaW9uIHdpdGggYSBmaW5hbCBjaGVja3BvaW50LlxyXG4gICAqIEBwYXJhbSBzZXNzaW9uSWQgQnVsayBpbXBvcnQgc2Vzc2lvbiBJRFxyXG4gICAqL1xyXG4gIGFzeW5jIGVuZEJ1bGtJbXBvcnQoc2Vzc2lvbklkOiBzdHJpbmcpOiBQcm9taXNlPEVuZEJ1bGtJbXBvcnRSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmJ1bGtJbXBvcnRTZXJ2aWNlLmVuZEJ1bGtJbXBvcnQoc2Vzc2lvbklkKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbmNlbCB0aGUgYnVsayBpbXBvcnQgc2Vzc2lvbiB3aXRob3V0IGZpbmFsIHN5bmMuXHJcbiAgICogQHBhcmFtIHNlc3Npb25JZCBCdWxrIGltcG9ydCBzZXNzaW9uIElEXHJcbiAgICovXHJcbiAgYXN5bmMgYWJvcnRCdWxrSW1wb3J0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxBYm9ydEJ1bGtJbXBvcnRSZXN1bHQ+IHtcclxuICAgIHJldHVybiB0aGlzLmJ1bGtJbXBvcnRTZXJ2aWNlLmFib3J0QnVsa0ltcG9ydChzZXNzaW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJuIHRoZSBjdXJyZW50IHN0YXR1cyBvZiBhIGJ1bGsgaW1wb3J0IHNlc3Npb24uXHJcbiAgICogQHBhcmFtIHNlc3Npb25JZCBCdWxrIGltcG9ydCBzZXNzaW9uIElEXHJcbiAgICovXHJcbiAgYXN5bmMgZ2V0QnVsa0ltcG9ydFN0YXR1cyhzZXNzaW9uSWQ6IHN0cmluZyk6IFByb21pc2U8QnVsa0ltcG9ydFN0YXR1cz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2UuZ2V0QnVsa0ltcG9ydFN0YXR1cyhzZXNzaW9uSWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgLy8gQ29udmVuaWVuY2UgTWV0aG9kc1xyXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG5cclxuICAvKiogR2V0IHRoZSBjdXJyZW50IHNlc3Npb24gKi9cclxuICBnZXRTZXNzaW9uKCk6IFNlc3Npb24gfCBudWxsIHtcclxuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmdldFNlc3Npb24oKTtcclxuICB9XHJcblxyXG4gIC8qKiBDaGVjayBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgc2Vzc2lvbiAqL1xyXG4gIGlzTG9nZ2VkSW4oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9ucy5pc0xvZ2dlZEluKCk7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IHRoZSBjbGllbnQgY29uZmlndXJhdGlvbiAqL1xyXG4gIGdldENvbmZpZygpOiBHcWxkYkNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XHJcbiAgfVxyXG5cclxuICAvKiogV2hldGhlciB0aGlzIGNsaWVudCBpcyBjb25uZWN0ZWQgdG8gYSBjbHVzdGVyIGRlcGxveW1lbnQgKi9cclxuICBnZXQgaXNDbHVzdGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpPy5pc0NsdXN0ZXIgfHwgZmFsc2U7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IHRoZSBjbHVzdGVyIElEIChlbXB0eSBzdHJpbmcgaWYgbm90IGEgY2x1c3RlcikgKi9cclxuICBnZXQgY2x1c3RlcklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9ucy5nZXRTZXNzaW9uKCk/LmNsdXN0ZXJJZCB8fCAnJztcclxuICB9XHJcblxyXG4gIC8qKiBHZXQgdGhlIHBhcnRpdGlvbiBjb3VudCAoMCBpZiBub3QgYSBjbHVzdGVyKSAqL1xyXG4gIGdldCBwYXJ0aXRpb25Db3VudCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpPy5wYXJ0aXRpb25Db3VudCB8fCAwO1xyXG4gIH1cclxufVxyXG4iXX0=
394
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILG9EQUFzQztBQUV0QyxxQ0FBdUQ7QUFjdkQsdUNBQW9EO0FBQ3BELCtDQUFnRTtBQUNoRSxtQ0FxQmlCO0FBQ2pCLHlDQUE0RjtBQUM1Riw0Q0FXMEI7QUFrQzFCLDZDQUE2QztBQUM3QyxNQUFhLFdBQVc7SUFDZCxNQUFNLENBQWM7SUFDcEIsT0FBTyxDQUFpQjtJQUN4QixRQUFRLENBQWlCO0lBQ3pCLFNBQVMsQ0FBcUI7SUFDOUIsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUV2QixvQkFBb0I7SUFDWixjQUFjLENBQWlCO0lBQy9CLFlBQVksQ0FBZTtJQUMzQixZQUFZLENBQWU7SUFDM0Isa0JBQWtCLENBQXFCO0lBQ3ZDLFdBQVcsQ0FBYztJQUN6QixhQUFhLENBQWdCO0lBQzdCLFlBQVksQ0FBZTtJQUMzQixpQkFBaUIsQ0FBb0I7SUFFN0Msc0RBQXNEO0lBQzlDLGtCQUFrQjtRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzNDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUM7UUFDM0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksTUFBbUI7UUFDN0IsSUFBQSx1QkFBYyxFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx3QkFBYyxFQUFFLENBQUM7UUFD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LENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQWlCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCw4RUFBOEU7SUFDOUUsc0JBQXNCO0lBQ3RCLDhFQUE4RTtJQUU5RSw4QkFBOEI7SUFDOUIsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsMENBQTBDO0lBQzFDLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELG1DQUFtQztJQUNuQyxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCwrREFBK0Q7SUFDL0QsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsSUFBSSxLQUFLLENBQUM7SUFDeEQsQ0FBQztJQUVELHlEQUF5RDtJQUN6RCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQsbURBQW1EO0lBQ25ELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLEVBQUUsY0FBYyxJQUFJLENBQUMsQ0FBQztJQUN6RCxDQUFDO0NBQ0Y7QUFwY0Qsa0NBb2NDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYWluIGNsaWVudCBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuaW1wb3J0ICogYXMgZ3JwYyBmcm9tICdAZ3JwYy9ncnBjLWpzJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ2V2ZW50cyc7XG5pbXBvcnQgeyBHcWxkYkNvbmZpZywgdmFsaWRhdGVDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBFbXB0eVF1ZXJ5RXJyb3IsIExvZ2luRmFpbGVkRXJyb3IsIFF1ZXJ5RmFpbGVkRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5pbXBvcnQge1xuICBSZXNwb25zZSxcbiAgUm93LFxuICBJbnNlcnROb2Rlc1Jlc3VsdCxcbiAgSW5zZXJ0RWRnZXNSZXN1bHQsXG4gIERlbGV0ZVJlc3VsdCxcbiAgRXhwb3J0Tm9kZXNSZXN1bHQsXG4gIEV4cG9ydEVkZ2VzUmVzdWx0LFxuICBFeHBvcnRDb25maWcsXG4gIEV4cG9ydENodW5rLFxuICBFeHBvcnRTdGF0cyxcbn0gZnJvbSAnLi9yZXNwb25zZSc7XG5pbXBvcnQgeyBTZXNzaW9uLCBTZXNzaW9uTWFuYWdlciB9IGZyb20gJy4vc2Vzc2lvbic7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiwgVHJhbnNhY3Rpb25NYW5hZ2VyIH0gZnJvbSAnLi90cmFuc2FjdGlvbic7XG5pbXBvcnQge1xuICBHcmFwaEluZm8sXG4gIEdyYXBoVHlwZSxcbiAgSGVhbHRoU3RhdHVzLFxuICBDYWNoZVN0YXRzLFxuICBDYWNoZVR5cGUsXG4gIFN0YXRpc3RpY3MsXG4gIENvbXBhY3RSZXN1bHQsXG4gIENvbXB1dGVUb3BvbG9neVJlc3VsdCxcbiAgU3lzdGVtTWV0cmljcyxcbiAgTm9kZURhdGEsXG4gIEVkZ2VEYXRhLFxuICBCdWxrQ3JlYXRlTm9kZXNPcHRpb25zLFxuICBCdWxrQ3JlYXRlRWRnZXNPcHRpb25zLFxuICBCdWxrSW1wb3J0T3B0aW9ucyxcbiAgQnVsa0ltcG9ydFNlc3Npb24sXG4gIENoZWNrcG9pbnRSZXN1bHQsXG4gIEVuZEJ1bGtJbXBvcnRSZXN1bHQsXG4gIEFib3J0QnVsa0ltcG9ydFJlc3VsdCxcbiAgQnVsa0ltcG9ydFN0YXR1cyxcbiAgVHJhbnNhY3Rpb25JbmZvLFxufSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZVNlcnZpY2VDbGllbnRzLCBwcm9taXNpZnlDYWxsLCBwcm9taXNpZnlDYWxsV2l0aERlYWRsaW5lIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1xuICBTZXJ2aWNlQ29udGV4dCxcbiAgU2VydmljZUNsaWVudHMsXG4gIFNlc3Npb25TZXJ2aWNlLFxuICBRdWVyeVNlcnZpY2UsXG4gIEdyYXBoU2VydmljZSxcbiAgVHJhbnNhY3Rpb25TZXJ2aWNlLFxuICBEYXRhU2VydmljZSxcbiAgSGVhbHRoU2VydmljZSxcbiAgQWRtaW5TZXJ2aWNlLFxuICBCdWxrSW1wb3J0U2VydmljZSxcbn0gZnJvbSAnLi9zZXJ2aWNlcy9pbmRleCc7XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciBhIHF1ZXJ5ICovXG5leHBvcnQgaW50ZXJmYWNlIFF1ZXJ5Q29uZmlnIHtcbiAgZ3JhcGhOYW1lPzogc3RyaW5nO1xuICBwYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgdHJhbnNhY3Rpb25JZD86IG51bWJlcjtcbiAgdGltZW91dD86IG51bWJlcjtcbiAgcmVhZE9ubHk/OiBib29sZWFuO1xuICAvKiogTWF4IHBhdGhzIHRvIHJldHVybiBmcm9tIHBhdGggcXVlcmllcyAoMCA9IHVubGltaXRlZCkgKi9cbiAgbWF4UGF0aFJlc3VsdHM/OiBudW1iZXI7XG59XG5cbi8qKiBDb25maWd1cmF0aW9uIGZvciBpbnNlcnQgbm9kZXMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zZXJ0Tm9kZXNDb25maWcge1xuICBvcHRpb25zPzogQnVsa0NyZWF0ZU5vZGVzT3B0aW9ucztcbiAgYnVsa0ltcG9ydFNlc3Npb25JZD86IHN0cmluZztcbn1cblxuLyoqIENvbmZpZ3VyYXRpb24gZm9yIGluc2VydCBlZGdlcyAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnNlcnRFZGdlc0NvbmZpZyB7XG4gIG9wdGlvbnM/OiBCdWxrQ3JlYXRlRWRnZXNPcHRpb25zO1xuICBidWxrSW1wb3J0U2Vzc2lvbklkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEhlYWx0aCB3YXRjaGVyIGludGVyZmFjZSBmb3Igc3RyZWFtaW5nIGhlYWx0aCB1cGRhdGVzLlxuICogRW1pdHMgJ3N0YXR1cycgZXZlbnRzIHdpdGggSGVhbHRoU3RhdHVzIGFuZCAnZXJyb3InIGV2ZW50cyBvbiBmYWlsdXJlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWx0aFdhdGNoZXIgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAvKiogU3RvcCB3YXRjaGluZyBoZWFsdGggdXBkYXRlcyAqL1xuICBzdG9wKCk6IHZvaWQ7XG59XG5cbi8qKiBNYWluIGNsaWVudCBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBHUUxEQiAqL1xuZXhwb3J0IGNsYXNzIEdxbGRiQ2xpZW50IHtcbiAgcHJpdmF0ZSBjb25maWc6IEdxbGRiQ29uZmlnO1xuICBwcml2YXRlIGNsaWVudHM6IFNlcnZpY2VDbGllbnRzO1xuICBwcml2YXRlIHNlc3Npb25zOiBTZXNzaW9uTWFuYWdlcjtcbiAgcHJpdmF0ZSB0eE1hbmFnZXI6IFRyYW5zYWN0aW9uTWFuYWdlcjtcbiAgcHJpdmF0ZSBjbG9zZWQgPSBmYWxzZTtcblxuICAvLyBTZXJ2aWNlIGluc3RhbmNlc1xuICBwcml2YXRlIHNlc3Npb25TZXJ2aWNlOiBTZXNzaW9uU2VydmljZTtcbiAgcHJpdmF0ZSBxdWVyeVNlcnZpY2U6IFF1ZXJ5U2VydmljZTtcbiAgcHJpdmF0ZSBncmFwaFNlcnZpY2U6IEdyYXBoU2VydmljZTtcbiAgcHJpdmF0ZSB0cmFuc2FjdGlvblNlcnZpY2U6IFRyYW5zYWN0aW9uU2VydmljZTtcbiAgcHJpdmF0ZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XG4gIHByaXZhdGUgaGVhbHRoU2VydmljZTogSGVhbHRoU2VydmljZTtcbiAgcHJpdmF0ZSBhZG1pblNlcnZpY2U6IEFkbWluU2VydmljZTtcbiAgcHJpdmF0ZSBidWxrSW1wb3J0U2VydmljZTogQnVsa0ltcG9ydFNlcnZpY2U7XG5cbiAgLyoqIEdldCBzZXNzaW9uIG1ldGFkYXRhIGZvciBhdXRoZW50aWNhdGVkIHJlcXVlc3RzICovXG4gIHByaXZhdGUgZ2V0U2Vzc2lvbk1ldGFkYXRhKCk6IGdycGMuTWV0YWRhdGEge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gbmV3IGdycGMuTWV0YWRhdGEoKTtcbiAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9ucy5nZXRTZXNzaW9uKCk7XG4gICAgbWV0YWRhdGEuYWRkKCdzZXNzaW9uLWlkJywgc2Vzc2lvbj8uaWQ/LnRvU3RyaW5nKCkgfHwgJzAnKTtcbiAgICByZXR1cm4gbWV0YWRhdGE7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEdxbGRiQ29uZmlnKSB7XG4gICAgdmFsaWRhdGVDb25maWcoY29uZmlnKTtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLnNlc3Npb25zID0gbmV3IFNlc3Npb25NYW5hZ2VyKCk7XG4gICAgdGhpcy50eE1hbmFnZXIgPSBuZXcgVHJhbnNhY3Rpb25NYW5hZ2VyKCk7XG5cbiAgICAvLyBDcmVhdGUgZ1JQQyBjcmVkZW50aWFsc1xuICAgIGxldCBjcmVkZW50aWFsczogZ3JwYy5DaGFubmVsQ3JlZGVudGlhbHM7XG4gICAgaWYgKGNvbmZpZy50bHNPcHRpb25zKSB7XG4gICAgICBjcmVkZW50aWFscyA9IGdycGMuY3JlZGVudGlhbHMuY3JlYXRlU3NsKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNyZWRlbnRpYWxzID0gZ3JwYy5jcmVkZW50aWFscy5jcmVhdGVJbnNlY3VyZSgpO1xuICAgIH1cblxuICAgIC8vIENoYW5uZWwgb3B0aW9uc1xuICAgIGNvbnN0IG9wdGlvbnM6IGdycGMuQ2hhbm5lbE9wdGlvbnMgPSB7XG4gICAgICAnZ3JwYy5tYXhfcmVjZWl2ZV9tZXNzYWdlX2xlbmd0aCc6IGNvbmZpZy5tYXhSZWN2U2l6ZSA/PyA0ICogMTAyNCAqIDEwMjQsXG4gICAgICAnZ3JwYy5rZWVwYWxpdmVfdGltZV9tcyc6IDMwMDAwLFxuICAgICAgJ2dycGMua2VlcGFsaXZlX3RpbWVvdXRfbXMnOiAxMDAwMCxcbiAgICB9O1xuXG4gICAgLy8gQ3JlYXRlIHNlcnZpY2UgY2xpZW50cyBmb3IgdGhlIGZpcnN0IGhvc3RcbiAgICBjb25zdCBob3N0ID0gY29uZmlnLmhvc3RzWzBdO1xuICAgIHRoaXMuY2xpZW50cyA9IGNyZWF0ZVNlcnZpY2VDbGllbnRzKGhvc3QsIGNyZWRlbnRpYWxzLCBvcHRpb25zKTtcblxuICAgIC8vIEluaXRpYWxpemUgc2VydmljZSBjb250ZXh0XG4gICAgY29uc3QgY3R4ID0gbmV3IFNlcnZpY2VDb250ZXh0KHRoaXMuY29uZmlnLCB0aGlzLnNlc3Npb25zLCB0aGlzLnR4TWFuYWdlciwgdGhpcy5jbGllbnRzKTtcblxuICAgIC8vIEluaXRpYWxpemUgc2VydmljZSBpbnN0YW5jZXNcbiAgICB0aGlzLnNlc3Npb25TZXJ2aWNlID0gbmV3IFNlc3Npb25TZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy5xdWVyeVNlcnZpY2UgPSBuZXcgUXVlcnlTZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy5ncmFwaFNlcnZpY2UgPSBuZXcgR3JhcGhTZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy50cmFuc2FjdGlvblNlcnZpY2UgPSBuZXcgVHJhbnNhY3Rpb25TZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy5kYXRhU2VydmljZSA9IG5ldyBEYXRhU2VydmljZShjdHgpO1xuICAgIHRoaXMuaGVhbHRoU2VydmljZSA9IG5ldyBIZWFsdGhTZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy5hZG1pblNlcnZpY2UgPSBuZXcgQWRtaW5TZXJ2aWNlKGN0eCk7XG4gICAgdGhpcy5idWxrSW1wb3J0U2VydmljZSA9IG5ldyBCdWxrSW1wb3J0U2VydmljZShjdHgpO1xuICB9XG5cbiAgLyoqIENsb3NlIHRoZSBjbGllbnQgYW5kIGFsbCBjb25uZWN0aW9ucyAqL1xuICBhc3luYyBjbG9zZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jbG9zZWQpIHJldHVybjtcbiAgICB0aGlzLmNsb3NlZCA9IHRydWU7XG5cbiAgICBpZiAodGhpcy5zZXNzaW9ucy5pc0xvZ2dlZEluKCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMubG9nb3V0KCk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIElnbm9yZSBsb2dvdXQgZXJyb3JzIGR1cmluZyBjbG9zZVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsb3NlIGFsbCBzZXJ2aWNlIGNsaWVudHNcbiAgICB0cnkge1xuICAgICAgKHRoaXMuY2xpZW50cy5zZXNzaW9uU2VydmljZSBhcyBhbnkpLmNsb3NlPy4oKTtcbiAgICAgICh0aGlzLmNsaWVudHMucXVlcnlTZXJ2aWNlIGFzIGFueSkuY2xvc2U/LigpO1xuICAgICAgKHRoaXMuY2xpZW50cy5ncmFwaFNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XG4gICAgICAodGhpcy5jbGllbnRzLnRyYW5zYWN0aW9uU2VydmljZSBhcyBhbnkpLmNsb3NlPy4oKTtcbiAgICAgICh0aGlzLmNsaWVudHMuZGF0YVNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XG4gICAgICAodGhpcy5jbGllbnRzLmhlYWx0aFNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XG4gICAgICAodGhpcy5jbGllbnRzLmFkbWluU2VydmljZSBhcyBhbnkpLmNsb3NlPy4oKTtcbiAgICAgICh0aGlzLmNsaWVudHMuYnVsa0ltcG9ydFNlcnZpY2UgYXMgYW55KS5jbG9zZT8uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gSWdub3JlIGNsb3NlIGVycm9yc1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTZXNzaW9uIFNlcnZpY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqIEF1dGhlbnRpY2F0ZSB0aGUgdXNlciBhbmQgY3JlYXRlIGEgc2Vzc2lvbiAqL1xuICBhc3luYyBsb2dpbih1c2VybmFtZTogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogUHJvbWlzZTxTZXNzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvblNlcnZpY2UubG9naW4odXNlcm5hbWUsIHBhc3N3b3JkLCB0aGlzLmNvbmZpZy5kZWZhdWx0R3JhcGggfHwgJycpO1xuICB9XG5cbiAgLyoqIFRlcm1pbmF0ZSB0aGUgY3VycmVudCBzZXNzaW9uICovXG4gIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5sb2dvdXQoKTtcbiAgfVxuXG4gIC8qKiBDaGVjayB0aGUgY29ubmVjdGlvbiBhbmQgcmV0dXJuIHRoZSBsYXRlbmN5IGluIG5hbm9zZWNvbmRzICovXG4gIGFzeW5jIHBpbmcoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5zZXNzaW9uU2VydmljZS5waW5nKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUXVlcnkgU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogRXhlY3V0ZSBhIEdRTCBxdWVyeSBhbmQgcmV0dXJuIHRoZSByZXN1bHQgKi9cbiAgYXN5bmMgZ3FsKHF1ZXJ5OiBzdHJpbmcsIGNvbmZpZz86IFF1ZXJ5Q29uZmlnKTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VydmljZS5ncWwocXVlcnksIGNvbmZpZyk7XG4gIH1cblxuICAvKiogRXhlY3V0ZSBhIEdRTCBxdWVyeSBhbmQgc3RyZWFtIHRoZSByZXN1bHRzICovXG4gIGFzeW5jIGdxbFN0cmVhbShcbiAgICBxdWVyeTogc3RyaW5nLFxuICAgIGNvbmZpZz86IFF1ZXJ5Q29uZmlnLFxuICAgIGNhbGxiYWNrPzogKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeVNlcnZpY2UuZ3FsU3RyZWFtKHF1ZXJ5LCBjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gdGhlIGV4ZWN1dGlvbiBwbGFuIGZvciBhIHF1ZXJ5ICovXG4gIGFzeW5jIGV4cGxhaW4ocXVlcnk6IHN0cmluZywgY29uZmlnPzogUXVlcnlDb25maWcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5U2VydmljZS5leHBsYWluKHF1ZXJ5LCBjb25maWcpO1xuICB9XG5cbiAgLyoqIEV4ZWN1dGUgYSBxdWVyeSB3aXRoIHByb2ZpbGluZyBhbmQgcmV0dXJuIHN0YXRpc3RpY3MgKi9cbiAgYXN5bmMgcHJvZmlsZShxdWVyeTogc3RyaW5nLCBjb25maWc/OiBRdWVyeUNvbmZpZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnlTZXJ2aWNlLnByb2ZpbGUocXVlcnksIGNvbmZpZyk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gR3JhcGggU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogQ3JlYXRlIGEgbmV3IGdyYXBoICovXG4gIGFzeW5jIGNyZWF0ZUdyYXBoKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICBncmFwaFR5cGU6IEdyYXBoVHlwZSA9IEdyYXBoVHlwZS5PUEVOLFxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJ1xuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UuY3JlYXRlR3JhcGgobmFtZSwgZ3JhcGhUeXBlLCBkZXNjcmlwdGlvbik7XG4gIH1cblxuICAvKiogRGVsZXRlIGEgZ3JhcGggKi9cbiAgYXN5bmMgZHJvcEdyYXBoKG5hbWU6IHN0cmluZywgaWZFeGlzdHM6IGJvb2xlYW4gPSBmYWxzZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmdyYXBoU2VydmljZS5kcm9wR3JhcGgobmFtZSwgaWZFeGlzdHMpO1xuICB9XG5cbiAgLyoqIFNldCB0aGUgY3VycmVudCBncmFwaCBmb3IgdGhlIHNlc3Npb24gKi9cbiAgYXN5bmMgdXNlR3JhcGgobmFtZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ3JhcGhTZXJ2aWNlLnVzZUdyYXBoKG5hbWUpO1xuICB9XG5cbiAgLyoqIFJldHVybiBhbGwgYXZhaWxhYmxlIGdyYXBocyAqL1xuICBhc3luYyBsaXN0R3JhcGhzKCk6IFByb21pc2U8R3JhcGhJbmZvW10+IHtcbiAgICByZXR1cm4gdGhpcy5ncmFwaFNlcnZpY2UubGlzdEdyYXBocygpO1xuICB9XG5cbiAgLyoqIFJldHVybiBpbmZvcm1hdGlvbiBhYm91dCBhIHNwZWNpZmljIGdyYXBoICovXG4gIGFzeW5jIGdldEdyYXBoSW5mbyhuYW1lOiBzdHJpbmcpOiBQcm9taXNlPEdyYXBoSW5mbz4ge1xuICAgIHJldHVybiB0aGlzLmdyYXBoU2VydmljZS5nZXRHcmFwaEluZm8obmFtZSk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gVHJhbnNhY3Rpb24gU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogU3RhcnQgYSBuZXcgdHJhbnNhY3Rpb24gKi9cbiAgYXN5bmMgYmVnaW5UcmFuc2FjdGlvbihcbiAgICBncmFwaE5hbWU6IHN0cmluZyxcbiAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHRpbWVvdXQ6IG51bWJlciA9IDBcbiAgKTogUHJvbWlzZTxUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5iZWdpblRyYW5zYWN0aW9uKGdyYXBoTmFtZSwgcmVhZE9ubHksIHRpbWVvdXQpO1xuICB9XG5cbiAgLyoqIENvbW1pdCBhIHRyYW5zYWN0aW9uICovXG4gIGFzeW5jIGNvbW1pdCh0cmFuc2FjdGlvbklkOiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy50cmFuc2FjdGlvblNlcnZpY2UuY29tbWl0KHRyYW5zYWN0aW9uSWQpO1xuICB9XG5cbiAgLyoqIFJvbGxiYWNrIGEgdHJhbnNhY3Rpb24gKi9cbiAgYXN5bmMgcm9sbGJhY2sodHJhbnNhY3Rpb25JZDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNhY3Rpb25TZXJ2aWNlLnJvbGxiYWNrKHRyYW5zYWN0aW9uSWQpO1xuICB9XG5cbiAgLyoqIFJldHVybiBhY3RpdmUgdHJhbnNhY3Rpb25zICovXG4gIGFzeW5jIGxpc3RUcmFuc2FjdGlvbnMoKTogUHJvbWlzZTxUcmFuc2FjdGlvbkluZm9bXT4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS5saXN0VHJhbnNhY3Rpb25zKCk7XG4gIH1cblxuICAvKiogRXhlY3V0ZSBhIGZ1bmN0aW9uIHdpdGhpbiBhIHRyYW5zYWN0aW9uICovXG4gIGFzeW5jIHdpdGhUcmFuc2FjdGlvbjxUPihcbiAgICBncmFwaE5hbWU6IHN0cmluZyxcbiAgICBmbjogKHR4SWQ6IG51bWJlcikgPT4gUHJvbWlzZTxUPixcbiAgICByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlXG4gICk6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiB0aGlzLnRyYW5zYWN0aW9uU2VydmljZS53aXRoVHJhbnNhY3Rpb24oZ3JhcGhOYW1lLCBmbiwgcmVhZE9ubHkpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERhdGEgU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogSW5zZXJ0IG11bHRpcGxlIG5vZGVzIGludG8gYSBncmFwaCAqL1xuICBhc3luYyBpbnNlcnROb2RlcyhcbiAgICBncmFwaE5hbWU6IHN0cmluZyxcbiAgICBub2RlczogTm9kZURhdGFbXSxcbiAgICBjb25maWc/OiBJbnNlcnROb2Rlc0NvbmZpZ1xuICApOiBQcm9taXNlPEluc2VydE5vZGVzUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuaW5zZXJ0Tm9kZXMoZ3JhcGhOYW1lLCBub2RlcywgY29uZmlnKTtcbiAgfVxuXG4gIC8qKiBJbnNlcnQgbXVsdGlwbGUgZWRnZXMgaW50byBhIGdyYXBoICovXG4gIGFzeW5jIGluc2VydEVkZ2VzKFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIGVkZ2VzOiBFZGdlRGF0YVtdLFxuICAgIGNvbmZpZz86IEluc2VydEVkZ2VzQ29uZmlnXG4gICk6IFByb21pc2U8SW5zZXJ0RWRnZXNSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5pbnNlcnRFZGdlcyhncmFwaE5hbWUsIGVkZ2VzLCBjb25maWcpO1xuICB9XG5cbiAgLyoqIERlbGV0ZSBub2RlcyBmcm9tIGEgZ3JhcGggKi9cbiAgYXN5bmMgZGVsZXRlTm9kZXMoXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXG4gICAgbm9kZUlkcz86IHN0cmluZ1tdLFxuICAgIGxhYmVscz86IHN0cmluZ1tdLFxuICAgIHdoZXJlPzogc3RyaW5nXG4gICk6IFByb21pc2U8RGVsZXRlUmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZGVsZXRlTm9kZXMoZ3JhcGhOYW1lLCBub2RlSWRzLCBsYWJlbHMsIHdoZXJlKTtcbiAgfVxuXG4gIC8qKiBEZWxldGUgZWRnZXMgZnJvbSBhIGdyYXBoICovXG4gIGFzeW5jIGRlbGV0ZUVkZ2VzKFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIGVkZ2VJZHM/OiBzdHJpbmdbXSxcbiAgICBsYWJlbD86IHN0cmluZyxcbiAgICB3aGVyZT86IHN0cmluZ1xuICApOiBQcm9taXNlPERlbGV0ZVJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLmRlbGV0ZUVkZ2VzKGdyYXBoTmFtZSwgZWRnZUlkcywgbGFiZWwsIHdoZXJlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHBvcnQgZ3JhcGggZGF0YSBpbiBKU09OIExpbmVzIGZvcm1hdCAoc3RyZWFtaW5nKS5cbiAgICogQHBhcmFtIGNvbmZpZyBFeHBvcnQgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gY2FsbGJhY2sgQ2FsbGJhY2sgZm9yIGVhY2ggZXhwb3J0ZWQgY2h1bmtcbiAgICovXG4gIGFzeW5jIGV4cG9ydChcbiAgICBjb25maWc6IEV4cG9ydENvbmZpZyxcbiAgICBjYWxsYmFjaz86IChjaHVuazogRXhwb3J0Q2h1bmspID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZXhwb3J0KGNvbmZpZywgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBub2RlcyBmcm9tIGEgZ3JhcGhcbiAgICogQGRlcHJlY2F0ZWQgVXNlIGV4cG9ydCgpIHdpdGggRXhwb3J0Q29uZmlnIGluc3RlYWRcbiAgICovXG4gIGFzeW5jIGV4cG9ydE5vZGVzKFxuICAgIGdyYXBoTmFtZTogc3RyaW5nLFxuICAgIGxhYmVscz86IHN0cmluZ1tdLFxuICAgIGxpbWl0OiBudW1iZXIgPSAwLFxuICAgIGNhbGxiYWNrPzogKHJlc3VsdDogRXhwb3J0Tm9kZXNSZXN1bHQpID0+IHZvaWRcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YVNlcnZpY2UuZXhwb3J0Tm9kZXMoZ3JhcGhOYW1lLCBsYWJlbHMsIGxpbWl0LCBjYWxsYmFjayk7XG4gIH1cblxuICAvKipcbiAgICogU3RyZWFtIGVkZ2VzIGZyb20gYSBncmFwaFxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZXhwb3J0KCkgd2l0aCBFeHBvcnRDb25maWcgaW5zdGVhZFxuICAgKi9cbiAgYXN5bmMgZXhwb3J0RWRnZXMoXG4gICAgZ3JhcGhOYW1lOiBzdHJpbmcsXG4gICAgbGFiZWxzPzogc3RyaW5nW10sXG4gICAgbGltaXQ6IG51bWJlciA9IDAsXG4gICAgY2FsbGJhY2s/OiAocmVzdWx0OiBFeHBvcnRFZGdlc1Jlc3VsdCkgPT4gdm9pZFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5leHBvcnRFZGdlcyhncmFwaE5hbWUsIGxhYmVscywgbGltaXQsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBIZWFsdGggU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKiogQ2hlY2sgdGhlIGhlYWx0aCBvZiBhIHNlcnZpY2UgKi9cbiAgYXN5bmMgaGVhbHRoQ2hlY2soc2VydmljZTogc3RyaW5nID0gJycpOiBQcm9taXNlPEhlYWx0aFN0YXR1cz4ge1xuICAgIHJldHVybiB0aGlzLmhlYWx0aFNlcnZpY2UuaGVhbHRoQ2hlY2soc2VydmljZSk7XG4gIH1cblxuICAvKipcbiAgICogV2F0Y2ggaGVhbHRoIHN0YXR1cyBjaGFuZ2VzIHZpYSBzZXJ2ZXItc2lkZSBzdHJlYW1pbmcuXG4gICAqIFJldHVybnMgYSBIZWFsdGhXYXRjaGVyIHRoYXQgZW1pdHMgJ3N0YXR1cycgZXZlbnRzIHdpdGggSGVhbHRoU3RhdHVzIHZhbHVlcy5cbiAgICogQ2FsbCBzdG9wKCkgdG8gY2FuY2VsIHRoZSBzdHJlYW0uXG4gICAqXG4gICAqIEBwYXJhbSBzZXJ2aWNlIC0gT3B0aW9uYWwgc2VydmljZSBuYW1lIHRvIHdhdGNoXG4gICAqIEByZXR1cm5zIEhlYWx0aFdhdGNoZXIgLSBFdmVudEVtaXR0ZXIgd2l0aCBzdG9wKCkgbWV0aG9kXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3Qgd2F0Y2hlciA9IGNsaWVudC53YXRjaCgpO1xuICAgKiB3YXRjaGVyLm9uKCdzdGF0dXMnLCAoc3RhdHVzOiBIZWFsdGhTdGF0dXMpID0+IHtcbiAgICogICBjb25zb2xlLmxvZygnSGVhbHRoIHN0YXR1czonLCBzdGF0dXMpO1xuICAgKiB9KTtcbiAgICogd2F0Y2hlci5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAqICAgY29uc29sZS5lcnJvcignV2F0Y2ggZXJyb3I6JywgZXJyKTtcbiAgICogfSk7XG4gICAqIHdhdGNoZXIub24oJ2VuZCcsICgpID0+IHtcbiAgICogICBjb25zb2xlLmxvZygnV2F0Y2ggc3RyZWFtIGVuZGVkJyk7XG4gICAqIH0pO1xuICAgKiAvLyBMYXRlciwgdG8gc3RvcCB3YXRjaGluZzpcbiAgICogd2F0Y2hlci5zdG9wKCk7XG4gICAqIGBgYFxuICAgKi9cbiAgd2F0Y2goc2VydmljZTogc3RyaW5nID0gJycpOiBIZWFsdGhXYXRjaGVyIHtcbiAgICByZXR1cm4gdGhpcy5oZWFsdGhTZXJ2aWNlLndhdGNoKHNlcnZpY2UpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIEFkbWluIFNlcnZpY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqIFByZS1hbGxvY2F0ZSBwYXJzZXIgaW5zdGFuY2VzICovXG4gIGFzeW5jIHdhcm11cFBhcnNlcihjb3VudDogbnVtYmVyKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRtaW5TZXJ2aWNlLndhcm11cFBhcnNlcihjb3VudCk7XG4gIH1cblxuICAvKiogUmV0dXJuIGNhY2hlIHN0YXRpc3RpY3MgKi9cbiAgYXN5bmMgZ2V0Q2FjaGVTdGF0cyhjYWNoZVR5cGU6IENhY2hlVHlwZSA9IENhY2hlVHlwZS5BTEwpOiBQcm9taXNlPENhY2hlU3RhdHM+IHtcbiAgICByZXR1cm4gdGhpcy5hZG1pblNlcnZpY2UuZ2V0Q2FjaGVTdGF0cyhjYWNoZVR5cGUpO1xuICB9XG5cbiAgLyoqIENsZWFyIHRoZSBzcGVjaWZpZWQgY2FjaGUgKi9cbiAgYXN5bmMgY2xlYXJDYWNoZShjYWNoZVR5cGU6IENhY2hlVHlwZSA9IENhY2hlVHlwZS5BTEwpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5hZG1pblNlcnZpY2UuY2xlYXJDYWNoZShjYWNoZVR5cGUpO1xuICB9XG5cbiAgLyoqIFJldHVybiBkYXRhYmFzZSBzdGF0aXN0aWNzICovXG4gIGFzeW5jIGdldFN0YXRpc3RpY3MoZ3JhcGhOYW1lOiBzdHJpbmcgPSAnJyk6IFByb21pc2U8U3RhdGlzdGljcz4ge1xuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5nZXRTdGF0aXN0aWNzKGdyYXBoTmFtZSk7XG4gIH1cblxuICAvKiogSW52YWxpZGF0ZSB0aGUgUkJBQyBwZXJtaXNzaW9uIGNhY2hlICovXG4gIGFzeW5jIGludmFsaWRhdGVQZXJtaXNzaW9uQ2FjaGUodXNlcm5hbWU6IHN0cmluZyA9ICcnKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuYWRtaW5TZXJ2aWNlLmludmFsaWRhdGVQZXJtaXNzaW9uQ2FjaGUodXNlcm5hbWUpO1xuICB9XG5cbiAgLyoqIFJldHVybiBzeXN0ZW0tbGV2ZWwgbWV0cmljcyAoQ1BVLCBtZW1vcnksIGRpc2sgSS9PLCBzdG9yYWdlLCBuZXR3b3JrKSAqL1xuICBhc3luYyBnZXRTeXN0ZW1NZXRyaWNzKCk6IFByb21pc2U8U3lzdGVtTWV0cmljcz4ge1xuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5nZXRTeXN0ZW1NZXRyaWNzKCk7XG4gIH1cblxuICAvKiogVHJpZ2dlciBtYW51YWwgY29tcGFjdGlvbiBvZiB0aGUgZGF0YWJhc2Ugc3RvcmFnZSAqL1xuICBhc3luYyBjb21wYWN0KCk6IFByb21pc2U8Q29tcGFjdFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLmFkbWluU2VydmljZS5jb21wYWN0KCk7XG4gIH1cblxuICAvKiogV2FpdCBmb3IgdGhlIGNvbXB1dGluZyBlbmdpbmUgdG9wb2xvZ3kgdG8gYmUgcmVhZHkgKi9cbiAgYXN5bmMgd2FpdEZvckNvbXB1dGVUb3BvbG9neShncmFwaE5hbWU6IHN0cmluZywgdGltZW91dE1zOiBudW1iZXIgPSAwKTogUHJvbWlzZTxDb21wdXRlVG9wb2xvZ3lSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5hZG1pblNlcnZpY2Uud2FpdEZvckNvbXB1dGVUb3BvbG9neShncmFwaE5hbWUsIHRpbWVvdXRNcyk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQnVsayBJbXBvcnQgU2VydmljZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogU3RhcnQgYSBidWxrIGltcG9ydCBzZXNzaW9uIGZvciBvcHRpbWl6ZWQgaGlnaC10aHJvdWdocHV0IGluc2VydHMuXG4gICAqIEBwYXJhbSBncmFwaE5hbWUgVGFyZ2V0IGdyYXBoIG5hbWVcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgYnVsayBpbXBvcnQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgYXN5bmMgc3RhcnRCdWxrSW1wb3J0KGdyYXBoTmFtZTogc3RyaW5nLCBvcHRpb25zPzogQnVsa0ltcG9ydE9wdGlvbnMpOiBQcm9taXNlPEJ1bGtJbXBvcnRTZXNzaW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2Uuc3RhcnRCdWxrSW1wb3J0KGdyYXBoTmFtZSwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgQ2hlY2twb2ludCBpcyBubyBsb25nZXIgbmVlZGVkLiBVc2UgZW5kQnVsa0ltcG9ydCgpIHdoaWNoIHBlcmZvcm1zIGEgZmluYWwgZmx1c2guXG4gICAqL1xuICBhc3luYyBjaGVja3BvaW50KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxDaGVja3BvaW50UmVzdWx0PiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN1Y2Nlc3M6IHRydWUsXG4gICAgICByZWNvcmRDb3VudDogMCxcbiAgICAgIGxhc3RDaGVja3BvaW50Q291bnQ6IDAsXG4gICAgICBtZXNzYWdlOiAnQ2hlY2twb2ludCBoYXMgYmVlbiByZW1vdmVkOyB1c2UgZW5kQnVsa0ltcG9ydCB3aGljaCBwZXJmb3JtcyBhIGZpbmFsIGZsdXNoJyxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEVuZCB0aGUgYnVsayBpbXBvcnQgc2Vzc2lvbiB3aXRoIGEgZmluYWwgY2hlY2twb2ludC5cbiAgICogQHBhcmFtIHNlc3Npb25JZCBCdWxrIGltcG9ydCBzZXNzaW9uIElEXG4gICAqL1xuICBhc3luYyBlbmRCdWxrSW1wb3J0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxFbmRCdWxrSW1wb3J0UmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2UuZW5kQnVsa0ltcG9ydChzZXNzaW9uSWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbCB0aGUgYnVsayBpbXBvcnQgc2Vzc2lvbiB3aXRob3V0IGZpbmFsIHN5bmMuXG4gICAqIEBwYXJhbSBzZXNzaW9uSWQgQnVsayBpbXBvcnQgc2Vzc2lvbiBJRFxuICAgKi9cbiAgYXN5bmMgYWJvcnRCdWxrSW1wb3J0KHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxBYm9ydEJ1bGtJbXBvcnRSZXN1bHQ+IHtcbiAgICByZXR1cm4gdGhpcy5idWxrSW1wb3J0U2VydmljZS5hYm9ydEJ1bGtJbXBvcnQoc2Vzc2lvbklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGN1cnJlbnQgc3RhdHVzIG9mIGEgYnVsayBpbXBvcnQgc2Vzc2lvbi5cbiAgICogQHBhcmFtIHNlc3Npb25JZCBCdWxrIGltcG9ydCBzZXNzaW9uIElEXG4gICAqL1xuICBhc3luYyBnZXRCdWxrSW1wb3J0U3RhdHVzKHNlc3Npb25JZDogc3RyaW5nKTogUHJvbWlzZTxCdWxrSW1wb3J0U3RhdHVzPiB7XG4gICAgcmV0dXJuIHRoaXMuYnVsa0ltcG9ydFNlcnZpY2UuZ2V0QnVsa0ltcG9ydFN0YXR1cyhzZXNzaW9uSWQpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbnZlbmllbmNlIE1ldGhvZHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLyoqIEdldCB0aGUgY3VycmVudCBzZXNzaW9uICovXG4gIGdldFNlc3Npb24oKTogU2Vzc2lvbiB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmdldFNlc3Npb24oKTtcbiAgfVxuXG4gIC8qKiBDaGVjayBpZiB0aGVyZSBpcyBhbiBhY3RpdmUgc2Vzc2lvbiAqL1xuICBpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmlzTG9nZ2VkSW4oKTtcbiAgfVxuXG4gIC8qKiBHZXQgdGhlIGNsaWVudCBjb25maWd1cmF0aW9uICovXG4gIGdldENvbmZpZygpOiBHcWxkYkNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhpcyBjbGllbnQgaXMgY29ubmVjdGVkIHRvIGEgY2x1c3RlciBkZXBsb3ltZW50ICovXG4gIGdldCBpc0NsdXN0ZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2Vzc2lvbnMuZ2V0U2Vzc2lvbigpPy5pc0NsdXN0ZXIgfHwgZmFsc2U7XG4gIH1cblxuICAvKiogR2V0IHRoZSBjbHVzdGVyIElEIChlbXB0eSBzdHJpbmcgaWYgbm90IGEgY2x1c3RlcikgKi9cbiAgZ2V0IGNsdXN0ZXJJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmdldFNlc3Npb24oKT8uY2x1c3RlcklkIHx8ICcnO1xuICB9XG5cbiAgLyoqIEdldCB0aGUgcGFydGl0aW9uIGNvdW50ICgwIGlmIG5vdCBhIGNsdXN0ZXIpICovXG4gIGdldCBwYXJ0aXRpb25Db3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNlc3Npb25zLmdldFNlc3Npb24oKT8ucGFydGl0aW9uQ291bnQgfHwgMDtcbiAgfVxufVxuIl19
package/dist/config.js CHANGED
@@ -132,4 +132,4 @@ function createConfig(options = {}) {
132
132
  validateConfig(config);
133
133
  return config;
134
134
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQTJJSCx3Q0FnQkM7QUFHRCxvQ0FpQkM7QUFqSkQsbUNBQW1DO0FBQ3RCLFFBQUEsY0FBYyxHQUF5RjtJQUNsSCxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsT0FBTztJQUN0QyxRQUFRLEVBQUUsRUFBRTtJQUNaLG1CQUFtQixFQUFFLEtBQUssRUFBRSwrQkFBK0I7SUFDM0QsVUFBVSxFQUFFLENBQUM7SUFDYixVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVE7Q0FDMUIsQ0FBQztBQUVGLHVDQUF1QztBQUN2QyxNQUFhLGFBQWE7SUFDaEIsTUFBTSxHQUF5QixFQUFFLENBQUM7SUFFMUMsMkJBQTJCO0lBQzNCLEtBQUssQ0FBQyxHQUFHLEtBQWU7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDakMsT0FBTyxJQUFJLENB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T0FBTyxDQUFDLFVBQVUsSUFBSSxzQkFBYyxDQUFDLFVBQVU7UUFDM0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksc0JBQWMsQ0FBQyxVQUFVO0tBQzVELENBQUM7SUFFRixjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb25maWd1cmF0aW9uIGZvciBHUUxEQiBOb2RlLmpzIGRyaXZlci5cclxuICovXHJcblxyXG5pbXBvcnQgKiBhcyB0bHMgZnJvbSAndGxzJztcclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEdxbGRiQ2xpZW50ICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgR3FsZGJDb25maWcge1xyXG4gIC8qKiBTZXJ2ZXIgaG9zdHMgaW4gZm9ybWF0IFwiaG9zdDpwb3J0XCIgKi9cclxuICBob3N0czogc3RyaW5nW107XHJcbiAgLyoqIFVzZXJuYW1lIGZvciBhdXRoZW50aWNhdGlvbiAqL1xyXG4gIHVzZXJuYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBQYXNzd29yZCBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICBwYXNzd29yZD86IHN0cmluZztcclxuICAvKiogRGVmYXVsdCBncmFwaCB0byB1c2UgKi9cclxuICBkZWZhdWx0R3JhcGg/OiBzdHJpbmc7XHJcbiAgLyoqIFF1ZXJ5IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0IDMwMDAwbXMgPSAzMHMpICovXHJcbiAgdGltZW91dD86IG51bWJlcjtcclxuICAvKiogTWF4aW11bSByZWNlaXZlIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcyAoZGVmYXVsdCA2NE1CKSAqL1xyXG4gIG1heFJlY3ZTaXplPzogbnVtYmVyO1xyXG4gIC8qKiBUTFMgb3B0aW9ucyBmb3Igc2VjdXJlIGNvbm5lY3Rpb25zICovXHJcbiAgdGxzT3B0aW9ucz86IHRscy5Db25uZWN0aW9uT3B0aW9ucztcclxuICAvKiogQ29ubmVjdGlvbiBwb29sIHNpemUgcGVyIGhvc3QgKi9cclxuICBwb29sU2l6ZT86IG51bWJlcjtcclxuICAvKiogSGVhbHRoIGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdCAzMDAwMG1zID0gMzBzKSAqL1xyXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWw/OiBudW1iZXI7XHJcbiAgLyoqIE51bWJlciBvZiByZXRyaWVzIGZvciBmYWlsZWQgcmVxdWVzdHMgKi9cclxuICByZXRyeUNvdW50PzogbnVtYmVyO1xyXG4gIC8qKiBEZWxheSBiZXR3ZWVuIHJldHJpZXMgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0IDEwMG1zKSAqL1xyXG4gIHJldHJ5RGVsYXk/OiBudW1iZXI7XHJcbn1cclxuXHJcbi8qKiBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gdmFsdWVzICovXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogUmVxdWlyZWQ8T21pdDxHcWxkYkNvbmZpZywgJ3VzZXJuYW1lJyB8ICdwYXNzd29yZCcgfCAnZGVmYXVsdEdyYXBoJyB8ICd0bHNPcHRpb25zJz4+ID0ge1xyXG4gIGhvc3RzOiBbJ2xvY2FsaG9zdDo5MDAwJ10sXHJcbiAgdGltZW91dDogMzAwMDAsIC8vIDMwIHNlY29uZHMgKGluIG1pbGxpc2Vjb25kcylcclxuICBtYXhSZWN2U2l6ZTogNjQgKiAxMDI0ICogMTAyNCwgLy8gNjRNQlxyXG4gIHBvb2xTaXplOiAxMCxcclxuICBoZWFsdGhDaGVja0ludGVydmFsOiAzMDAwMCwgLy8gMzAgc2Vjb25kcyAoaW4gbWlsbGlzZWNvbmRzKVxyXG4gIHJldHJ5Q291bnQ6IDMsXHJcbiAgcmV0cnlEZWxheTogMTAwLCAvLyAxMDBtc1xyXG59O1xyXG5cclxuLyoqIEJ1aWxkZXIgZm9yIGNyZWF0aW5nIEdxbGRiQ29uZmlnICovXHJcbmV4cG9ydCBjbGFzcyBDb25maWdCdWlsZGVyIHtcclxuICBwcml2YXRlIGNvbmZpZzogUGFydGlhbDxHcWxkYkNvbmZpZz4gPSB7fTtcclxuXHJcbiAgLyoqIFNldCB0aGUgc2VydmVyIGhvc3RzICovXHJcbiAgaG9zdHMoLi4uaG9zdHM6IHN0cmluZ1tdKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5ob3N0cyA9IGhvc3RzO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSB1c2VybmFtZSBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICB1c2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy51c2VybmFtZSA9IHVzZXJuYW1lO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBwYXNzd29yZCBmb3IgYXV0aGVudGljYXRpb24gKi9cclxuICBwYXNzd29yZChwYXNzd29yZDogc3RyaW5nKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5wYXNzd29yZCA9IHBhc3N3b3JkO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBkZWZhdWx0IGdyYXBoICovXHJcbiAgZGVmYXVsdEdyYXBoKGdyYXBoOiBzdHJpbmcpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLmRlZmF1bHRHcmFwaCA9IGdyYXBoO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBxdWVyeSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAqL1xyXG4gIHRpbWVvdXQobXM6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcudGltZW91dCA9IG1zO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBxdWVyeSB0aW1lb3V0IGluIHNlY29uZHMgKGNvbnZlbmllbmNlIG1ldGhvZCkgKi9cclxuICB0aW1lb3V0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLnRpbWVvdXQgPSBzZWNvbmRzICogMTAwMDtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgbWF4aW11bSByZWNlaXZlIG1lc3NhZ2Ugc2l6ZSAqL1xyXG4gIG1heFJlY3ZTaXplKGJ5dGVzOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLm1heFJlY3ZTaXplID0gYnl0ZXM7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBTZXQgVExTIG9wdGlvbnMgKi9cclxuICB0bHMob3B0aW9uczogdGxzLkNvbm5lY3Rpb25PcHRpb25zKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy50bHNPcHRpb25zID0gb3B0aW9ucztcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgY29ubmVjdGlvbiBwb29sIHNpemUgcGVyIGhvc3QgKi9cclxuICBwb29sU2l6ZShzaXplOiBudW1iZXIpOiB0aGlzIHtcclxuICAgIHRoaXMuY29uZmlnLnBvb2xTaXplID0gc2l6ZTtcclxuICAgIHJldHVybiB0aGlzO1xyXG4gIH1cclxuXHJcbiAgLyoqIFNldCB0aGUgaGVhbHRoIGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAqL1xyXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWwobXM6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcuaGVhbHRoQ2hlY2tJbnRlcnZhbCA9IG1zO1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBudW1iZXIgb2YgcmV0cmllcyAqL1xyXG4gIHJldHJ5Q291bnQoY291bnQ6IG51bWJlcik6IHRoaXMge1xyXG4gICAgdGhpcy5jb25maWcucmV0cnlDb3VudCA9IGNvdW50O1xyXG4gICAgcmV0dXJuIHRoaXM7XHJcbiAgfVxyXG5cclxuICAvKiogU2V0IHRoZSBkZWxheSBiZXR3ZWVuIHJldHJpZXMgaW4gbWlsbGlzZWNvbmRzICovXHJcbiAgcmV0cnlEZWxheShtczogbnVtYmVyKTogdGhpcyB7XHJcbiAgICB0aGlzLmNvbmZpZy5yZXRyeURlbGF5ID0gbXM7XHJcbiAgICByZXR1cm4gdGhpcztcclxuICB9XHJcblxyXG4gIC8qKiBCdWlsZCBhbmQgcmV0dXJuIHRoZSBjb25maWd1cmF0aW9uICovXHJcbiAgYnVpbGQoKTogR3FsZGJDb25maWcge1xyXG4gICAgY29uc3QgY29uZmlnOiBHcWxkYkNvbmZpZyA9IHtcclxuICAgICAgaG9zdHM6IHRoaXMuY29uZmlnLmhvc3RzID8/IERFRkFVTFRfQ09ORklHLmhvc3RzLFxyXG4gICAgICB1c2VybmFtZTogdGhpcy5jb25maWcudXNlcm5hbWUsXHJcbiAgICAgIHBhc3N3b3JkOiB0aGlzLmNvbmZpZy5wYXNzd29yZCxcclxuICAgICAgZGVmYXVsdEdyYXBoOiB0aGlzLmNvbmZpZy5kZWZhdWx0R3JhcGgsXHJcbiAgICAgIHRpbWVvdXQ6IHRoaXMuY29uZmlnLnRpbWVvdXQgPz8gREVGQVVMVF9DT05GSUcudGltZW91dCxcclxuICAgICAgbWF4UmVjdlNpemU6IHRoaXMuY29uZmlnLm1heFJlY3ZTaXplID8/IERFRkFVTFRfQ09ORklHLm1heFJlY3ZTaXplLFxyXG4gICAgICB0bHNPcHRpb25zOiB0aGlzLmNvbmZpZy50bHNPcHRpb25zLFxyXG4gICAgICBwb29sU2l6ZTogdGhpcy5jb25maWcucG9vbFNpemUgPz8gREVGQVVMVF9DT05GSUcucG9vbFNpemUsXHJcbiAgICAgIGhlYWx0aENoZWNrSW50ZXJ2YWw6IHRoaXMuY29uZmlnLmhlYWx0aENoZWNrSW50ZXJ2YWwgPz8gREVGQVVMVF9DT05GSUcuaGVhbHRoQ2hlY2tJbnRlcnZhbCxcclxuICAgICAgcmV0cnlDb3VudDogdGhpcy5jb25maWcucmV0cnlDb3VudCA/PyBERUZBVUxUX0NPTkZJRy5yZXRyeUNvdW50LFxyXG4gICAgICByZXRyeURlbGF5OiB0aGlzLmNvbmZpZy5yZXRyeURlbGF5ID8/IERFRkFVTFRfQ09ORklHLnJldHJ5RGVsYXksXHJcbiAgICB9O1xyXG5cclxuICAgIHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XHJcbiAgICByZXR1cm4gY29uZmlnO1xyXG4gIH1cclxufVxyXG5cclxuLyoqIFZhbGlkYXRlIHRoZSBjb25maWd1cmF0aW9uICovXHJcbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbmZpZyhjb25maWc6IEdxbGRiQ29uZmlnKTogdm9pZCB7XHJcbiAgaWYgKCFjb25maWcuaG9zdHMgfHwgY29uZmlnLmhvc3RzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdObyBob3N0cyBjb25maWd1cmVkJyk7XHJcbiAgfVxyXG5cclxuICBpZiAoY29uZmlnLnRpbWVvdXQgIT09IHVuZGVmaW5lZCAmJiBjb25maWcudGltZW91dCA8IDApIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0aW1lb3V0IHZhbHVlJyk7XHJcbiAgfVxyXG5cclxuICBpZiAoY29uZmlnLm1heFJlY3ZTaXplICE9PSB1bmRlZmluZWQgJiYgY29uZmlnLm1heFJlY3ZTaXplIDw9IDApIHtcclxuICAgIGNvbmZpZy5tYXhSZWN2U2l6ZSA9IERFRkFVTFRfQ09ORklHLm1heFJlY3ZTaXplO1xyXG4gIH1cclxuXHJcbiAgaWYgKGNvbmZpZy5wb29sU2l6ZSAhPT0gdW5kZWZpbmVkICYmIGNvbmZpZy5wb29sU2l6ZSA8PSAwKSB7XHJcbiAgICBjb25maWcucG9vbFNpemUgPSBERUZBVUxUX0NPTkZJRy5wb29sU2l6ZTtcclxuICB9XHJcbn1cclxuXHJcbi8qKiBDcmVhdGUgYSBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdHMgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhvcHRpb25zOiBQYXJ0aWFsPEdxbGRiQ29uZmlnPiA9IHt9KTogR3FsZGJDb25maWcge1xyXG4gIGNvbnN0IGNvbmZpZzogR3FsZGJDb25maWcgPSB7XHJcbiAgICBob3N0czogb3B0aW9ucy5ob3N0cyA/PyBERUZBVUxUX0NPTkZJRy5ob3N0cyxcclxuICAgIHVzZXJuYW1lOiBvcHRpb25zLnVzZXJuYW1lLFxyXG4gICAgcGFzc3dvcmQ6IG9wdGlvbnMucGFzc3dvcmQsXHJcbiAgICBkZWZhdWx0R3JhcGg6IG9wdGlvbnMuZGVmYXVsdEdyYXBoLFxyXG4gICAgdGltZW91dDogb3B0aW9ucy50aW1lb3V0ID8/IERFRkFVTFRfQ09ORklHLnRpbWVvdXQsXHJcbiAgICBtYXhSZWN2U2l6ZTogb3B0aW9ucy5tYXhSZWN2U2l6ZSA/PyBERUZBVUxUX0NPTkZJRy5tYXhSZWN2U2l6ZSxcclxuICAgIHRsc09wdGlvbnM6IG9wdGlvbnMudGxzT3B0aW9ucyxcclxuICAgIHBvb2xTaXplOiBvcHRpb25zLnBvb2xTaXplID8/IERFRkFVTFRfQ09ORklHLnBvb2xTaXplLFxyXG4gICAgaGVhbHRoQ2hlY2tJbnRlcnZhbDogb3B0aW9ucy5oZWFsdGhDaGVja0ludGVydmFsID8/IERFRkFVTFRfQ09ORklHLmhlYWx0aENoZWNrSW50ZXJ2YWwsXHJcbiAgICByZXRyeUNvdW50OiBvcHRpb25zLnJldHJ5Q291bnQgPz8gREVGQVVMVF9DT05GSUcucmV0cnlDb3VudCxcclxuICAgIHJldHJ5RGVsYXk6IG9wdGlvbnMucmV0cnlEZWxheSA/PyBERUZBVUxUX0NPTkZJRy5yZXRyeURlbGF5LFxyXG4gIH07XHJcblxyXG4gIHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XHJcbiAgcmV0dXJuIGNvbmZpZztcclxufVxyXG4iXX0=
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQTJJSCx3Q0FnQkM7QUFHRCxvQ0FpQkM7QUFqSkQsbUNBQW1DO0FBQ3RCLFFBQUEsY0FBYyxHQUF5RjtJQUNsSCxLQUFLLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN6QixPQUFPLEVBQUUsS0FBSyxFQUFFLCtCQUErQjtJQUMvQyxXQUFXLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsT0FBTztJQUN0QyxRQUFRLEVBQUUsRUFBRTtJQUNaLG1CQUFtQixFQUFFLEtBQUssRUFBRSwrQkFBK0I7SUFDM0QsVUFBVSxFQUFFLENBQUM7SUFDYixVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVE7Q0FDMUIsQ0FBQztBQUVGLHVDQUF1QztBQUN2QyxNQUFhLGFBQWE7SUFDaEIsTUFBTSxHQUF5QixFQUFFLENBQUM7SUFFMUMsMkJBQTJCO0lBQzNCLEtBQUssQ0FBQyxHQUFHLEtBQWU7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxRQUFRLENBQUMsUUFBZ0I7UUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ2hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELDRCQUE0QjtJQUM1QixZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDakMsT0FBTyxJQUFJLENB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T0FBTyxDQUFDLFVBQVUsSUFBSSxzQkFBYyxDQUFDLFVBQVU7UUFDM0QsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksc0JBQWMsQ0FBQyxVQUFVO0tBQzVELENBQUM7SUFFRixjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkIsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXG4gKi9cblxuaW1wb3J0ICogYXMgdGxzIGZyb20gJ3Rscyc7XG5cbi8qKiBDb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIEdxbGRiQ2xpZW50ICovXG5leHBvcnQgaW50ZXJmYWNlIEdxbGRiQ29uZmlnIHtcbiAgLyoqIFNlcnZlciBob3N0cyBpbiBmb3JtYXQgXCJob3N0OnBvcnRcIiAqL1xuICBob3N0czogc3RyaW5nW107XG4gIC8qKiBVc2VybmFtZSBmb3IgYXV0aGVudGljYXRpb24gKi9cbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIC8qKiBQYXNzd29yZCBmb3IgYXV0aGVudGljYXRpb24gKi9cbiAgcGFzc3dvcmQ/OiBzdHJpbmc7XG4gIC8qKiBEZWZhdWx0IGdyYXBoIHRvIHVzZSAqL1xuICBkZWZhdWx0R3JhcGg/OiBzdHJpbmc7XG4gIC8qKiBRdWVyeSB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdCAzMDAwMG1zID0gMzBzKSAqL1xuICB0aW1lb3V0PzogbnVtYmVyO1xuICAvKiogTWF4aW11bSByZWNlaXZlIG1lc3NhZ2Ugc2l6ZSBpbiBieXRlcyAoZGVmYXVsdCA2NE1CKSAqL1xuICBtYXhSZWN2U2l6ZT86IG51bWJlcjtcbiAgLyoqIFRMUyBvcHRpb25zIGZvciBzZWN1cmUgY29ubmVjdGlvbnMgKi9cbiAgdGxzT3B0aW9ucz86IHRscy5Db25uZWN0aW9uT3B0aW9ucztcbiAgLyoqIENvbm5lY3Rpb24gcG9vbCBzaXplIHBlciBob3N0ICovXG4gIHBvb2xTaXplPzogbnVtYmVyO1xuICAvKiogSGVhbHRoIGNoZWNrIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdCAzMDAwMG1zID0gMzBzKSAqL1xuICBoZWFsdGhDaGVja0ludGVydmFsPzogbnVtYmVyO1xuICAvKiogTnVtYmVyIG9mIHJldHJpZXMgZm9yIGZhaWxlZCByZXF1ZXN0cyAqL1xuICByZXRyeUNvdW50PzogbnVtYmVyO1xuICAvKiogRGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdCAxMDBtcykgKi9cbiAgcmV0cnlEZWxheT86IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgY29uZmlndXJhdGlvbiB2YWx1ZXMgKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPTkZJRzogUmVxdWlyZWQ8T21pdDxHcWxkYkNvbmZpZywgJ3VzZXJuYW1lJyB8ICdwYXNzd29yZCcgfCAnZGVmYXVsdEdyYXBoJyB8ICd0bHNPcHRpb25zJz4+ID0ge1xuICBob3N0czogWydsb2NhbGhvc3Q6OTAwMCddLFxuICB0aW1lb3V0OiAzMDAwMCwgLy8gMzAgc2Vjb25kcyAoaW4gbWlsbGlzZWNvbmRzKVxuICBtYXhSZWN2U2l6ZTogNjQgKiAxMDI0ICogMTAyNCwgLy8gNjRNQlxuICBwb29sU2l6ZTogMTAsXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWw6IDMwMDAwLCAvLyAzMCBzZWNvbmRzIChpbiBtaWxsaXNlY29uZHMpXG4gIHJldHJ5Q291bnQ6IDMsXG4gIHJldHJ5RGVsYXk6IDEwMCwgLy8gMTAwbXNcbn07XG5cbi8qKiBCdWlsZGVyIGZvciBjcmVhdGluZyBHcWxkYkNvbmZpZyAqL1xuZXhwb3J0IGNsYXNzIENvbmZpZ0J1aWxkZXIge1xuICBwcml2YXRlIGNvbmZpZzogUGFydGlhbDxHcWxkYkNvbmZpZz4gPSB7fTtcblxuICAvKiogU2V0IHRoZSBzZXJ2ZXIgaG9zdHMgKi9cbiAgaG9zdHMoLi4uaG9zdHM6IHN0cmluZ1tdKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWcuaG9zdHMgPSBob3N0cztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHVzZXJuYW1lIGZvciBhdXRoZW50aWNhdGlvbiAqL1xuICB1c2VybmFtZSh1c2VybmFtZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWcudXNlcm5hbWUgPSB1c2VybmFtZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHBhc3N3b3JkIGZvciBhdXRoZW50aWNhdGlvbiAqL1xuICBwYXNzd29yZChwYXNzd29yZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWcucGFzc3dvcmQgPSBwYXNzd29yZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIGRlZmF1bHQgZ3JhcGggKi9cbiAgZGVmYXVsdEdyYXBoKGdyYXBoOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZy5kZWZhdWx0R3JhcGggPSBncmFwaDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHF1ZXJ5IHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzICovXG4gIHRpbWVvdXQobXM6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlnLnRpbWVvdXQgPSBtcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIHF1ZXJ5IHRpbWVvdXQgaW4gc2Vjb25kcyAoY29udmVuaWVuY2UgbWV0aG9kKSAqL1xuICB0aW1lb3V0U2Vjb25kcyhzZWNvbmRzOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZy50aW1lb3V0ID0gc2Vjb25kcyAqIDEwMDA7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBtYXhpbXVtIHJlY2VpdmUgbWVzc2FnZSBzaXplICovXG4gIG1heFJlY3ZTaXplKGJ5dGVzOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZy5tYXhSZWN2U2l6ZSA9IGJ5dGVzO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIFNldCBUTFMgb3B0aW9ucyAqL1xuICB0bHMob3B0aW9uczogdGxzLkNvbm5lY3Rpb25PcHRpb25zKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWcudGxzT3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBjb25uZWN0aW9uIHBvb2wgc2l6ZSBwZXIgaG9zdCAqL1xuICBwb29sU2l6ZShzaXplOiBudW1iZXIpOiB0aGlzIHtcbiAgICB0aGlzLmNvbmZpZy5wb29sU2l6ZSA9IHNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiogU2V0IHRoZSBoZWFsdGggY2hlY2sgaW50ZXJ2YWwgaW4gbWlsbGlzZWNvbmRzICovXG4gIGhlYWx0aENoZWNrSW50ZXJ2YWwobXM6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlnLmhlYWx0aENoZWNrSW50ZXJ2YWwgPSBtcztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIG51bWJlciBvZiByZXRyaWVzICovXG4gIHJldHJ5Q291bnQoY291bnQ6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMuY29uZmlnLnJldHJ5Q291bnQgPSBjb3VudDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKiBTZXQgdGhlIGRlbGF5IGJldHdlZW4gcmV0cmllcyBpbiBtaWxsaXNlY29uZHMgKi9cbiAgcmV0cnlEZWxheShtczogbnVtYmVyKTogdGhpcyB7XG4gICAgdGhpcy5jb25maWcucmV0cnlEZWxheSA9IG1zO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqIEJ1aWxkIGFuZCByZXR1cm4gdGhlIGNvbmZpZ3VyYXRpb24gKi9cbiAgYnVpbGQoKTogR3FsZGJDb25maWcge1xuICAgIGNvbnN0IGNvbmZpZzogR3FsZGJDb25maWcgPSB7XG4gICAgICBob3N0czogdGhpcy5jb25maWcuaG9zdHMgPz8gREVGQVVMVF9DT05GSUcuaG9zdHMsXG4gICAgICB1c2VybmFtZTogdGhpcy5jb25maWcudXNlcm5hbWUsXG4gICAgICBwYXNzd29yZDogdGhpcy5jb25maWcucGFzc3dvcmQsXG4gICAgICBkZWZhdWx0R3JhcGg6IHRoaXMuY29uZmlnLmRlZmF1bHRHcmFwaCxcbiAgICAgIHRpbWVvdXQ6IHRoaXMuY29uZmlnLnRpbWVvdXQgPz8gREVGQVVMVF9DT05GSUcudGltZW91dCxcbiAgICAgIG1heFJlY3ZTaXplOiB0aGlzLmNvbmZpZy5tYXhSZWN2U2l6ZSA/PyBERUZBVUxUX0NPTkZJRy5tYXhSZWN2U2l6ZSxcbiAgICAgIHRsc09wdGlvbnM6IHRoaXMuY29uZmlnLnRsc09wdGlvbnMsXG4gICAgICBwb29sU2l6ZTogdGhpcy5jb25maWcucG9vbFNpemUgPz8gREVGQVVMVF9DT05GSUcucG9vbFNpemUsXG4gICAgICBoZWFsdGhDaGVja0ludGVydmFsOiB0aGlzLmNvbmZpZy5oZWFsdGhDaGVja0ludGVydmFsID8/IERFRkFVTFRfQ09ORklHLmhlYWx0aENoZWNrSW50ZXJ2YWwsXG4gICAgICByZXRyeUNvdW50OiB0aGlzLmNvbmZpZy5yZXRyeUNvdW50ID8/IERFRkFVTFRfQ09ORklHLnJldHJ5Q291bnQsXG4gICAgICByZXRyeURlbGF5OiB0aGlzLmNvbmZpZy5yZXRyeURlbGF5ID8/IERFRkFVTFRfQ09ORklHLnJldHJ5RGVsYXksXG4gICAgfTtcblxuICAgIHZhbGlkYXRlQ29uZmlnKGNvbmZpZyk7XG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfVxufVxuXG4vKiogVmFsaWRhdGUgdGhlIGNvbmZpZ3VyYXRpb24gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNvbmZpZyhjb25maWc6IEdxbGRiQ29uZmlnKTogdm9pZCB7XG4gIGlmICghY29uZmlnLmhvc3RzIHx8IGNvbmZpZy5ob3N0cy5sZW5ndGggPT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGhvc3RzIGNvbmZpZ3VyZWQnKTtcbiAgfVxuXG4gIGlmIChjb25maWcudGltZW91dCAhPT0gdW5kZWZpbmVkICYmIGNvbmZpZy50aW1lb3V0IDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCB0aW1lb3V0IHZhbHVlJyk7XG4gIH1cblxuICBpZiAoY29uZmlnLm1heFJlY3ZTaXplICE9PSB1bmRlZmluZWQgJiYgY29uZmlnLm1heFJlY3ZTaXplIDw9IDApIHtcbiAgICBjb25maWcubWF4UmVjdlNpemUgPSBERUZBVUxUX0NPTkZJRy5tYXhSZWN2U2l6ZTtcbiAgfVxuXG4gIGlmIChjb25maWcucG9vbFNpemUgIT09IHVuZGVmaW5lZCAmJiBjb25maWcucG9vbFNpemUgPD0gMCkge1xuICAgIGNvbmZpZy5wb29sU2l6ZSA9IERFRkFVTFRfQ09ORklHLnBvb2xTaXplO1xuICB9XG59XG5cbi8qKiBDcmVhdGUgYSBjb25maWd1cmF0aW9uIHdpdGggZGVmYXVsdHMgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVDb25maWcob3B0aW9uczogUGFydGlhbDxHcWxkYkNvbmZpZz4gPSB7fSk6IEdxbGRiQ29uZmlnIHtcbiAgY29uc3QgY29uZmlnOiBHcWxkYkNvbmZpZyA9IHtcbiAgICBob3N0czogb3B0aW9ucy5ob3N0cyA/PyBERUZBVUxUX0NPTkZJRy5ob3N0cyxcbiAgICB1c2VybmFtZTogb3B0aW9ucy51c2VybmFtZSxcbiAgICBwYXNzd29yZDogb3B0aW9ucy5wYXNzd29yZCxcbiAgICBkZWZhdWx0R3JhcGg6IG9wdGlvbnMuZGVmYXVsdEdyYXBoLFxuICAgIHRpbWVvdXQ6IG9wdGlvbnMudGltZW91dCA/PyBERUZBVUxUX0NPTkZJRy50aW1lb3V0LFxuICAgIG1heFJlY3ZTaXplOiBvcHRpb25zLm1heFJlY3ZTaXplID8/IERFRkFVTFRfQ09ORklHLm1heFJlY3ZTaXplLFxuICAgIHRsc09wdGlvbnM6IG9wdGlvbnMudGxzT3B0aW9ucyxcbiAgICBwb29sU2l6ZTogb3B0aW9ucy5wb29sU2l6ZSA/PyBERUZBVUxUX0NPTkZJRy5wb29sU2l6ZSxcbiAgICBoZWFsdGhDaGVja0ludGVydmFsOiBvcHRpb25zLmhlYWx0aENoZWNrSW50ZXJ2YWwgPz8gREVGQVVMVF9DT05GSUcuaGVhbHRoQ2hlY2tJbnRlcnZhbCxcbiAgICByZXRyeUNvdW50OiBvcHRpb25zLnJldHJ5Q291bnQgPz8gREVGQVVMVF9DT05GSUcucmV0cnlDb3VudCxcbiAgICByZXRyeURlbGF5OiBvcHRpb25zLnJldHJ5RGVsYXkgPz8gREVGQVVMVF9DT05GSUcucmV0cnlEZWxheSxcbiAgfTtcblxuICB2YWxpZGF0ZUNvbmZpZyhjb25maWcpO1xuICByZXR1cm4gY29uZmlnO1xufVxuIl19
@@ -187,4 +187,4 @@ class ConnectionPool {
187
187
  }
188
188
  }
189
189
  exports.ConnectionPool = ConnectionPool;
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsb0RBQXNDO0FBRXRDLHFDQUF5RjtBQVV6RixxREFBcUQ7QUFDckQsTUFBYSxjQUFjO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixXQUFXLEdBQTRCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakQsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLGdCQUFnQixDQUFrQjtJQUUxQyxZQUFZLE1BQW1CO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZUFBZTtRQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLDRCQUE0QjtnQkFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSw0QkFBbUIsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENB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SSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxTQUFTO1lBQ1gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsZ0JBQWdCO1FBQ2QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDN0MsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEtBQUs7UUFDSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFsS0Qsd0NBa0tDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvbm5lY3Rpb24gbWFuYWdlbWVudCBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXHJcbiAqL1xyXG5cclxuaW1wb3J0ICogYXMgZ3JwYyBmcm9tICdAZ3JwYy9ncnBjLWpzJztcclxuaW1wb3J0IHsgR3FsZGJDb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XHJcbmltcG9ydCB7IEFsbEhvc3RzRmFpbGVkRXJyb3IsIENvbm5lY3Rpb25DbG9zZWRFcnJvciwgTm9Db25uZWN0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XHJcblxyXG4vKiogUmVwcmVzZW50cyBhIHNpbmdsZSBnUlBDIGNvbm5lY3Rpb24gKi9cclxuaW50ZXJmYWNlIENvbm5lY3Rpb24ge1xyXG4gIGhvc3Q6IHN0cmluZztcclxuICBjbGllbnQ6IGdycGMuQ2xpZW50O1xyXG4gIGhlYWx0aHk6IGJvb2xlYW47XHJcbiAgbGFzdFBpbmc6IG51bWJlcjtcclxufVxyXG5cclxuLyoqIE1hbmFnZXMgYSBwb29sIG9mIGNvbm5lY3Rpb25zIHRvIEdRTERCIHNlcnZlcnMgKi9cclxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25Qb29sIHtcclxuICBwcml2YXRlIGNvbmZpZzogR3FsZGJDb25maWc7XHJcbiAgcHJpdmF0ZSBjb25uZWN0aW9uczogTWFwPHN0cmluZywgQ29ubmVjdGlvbj4gPSBuZXcgTWFwKCk7XHJcbiAgcHJpdmF0ZSBjbG9zZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIGhlYWx0aENoZWNrVGltZXI/OiBOb2RlSlMuVGltZW91dDtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBHcWxkYkNvbmZpZykge1xyXG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XHJcbiAgICB0aGlzLmluaXRDb25uZWN0aW9ucygpO1xyXG4gICAgdGhpcy5zdGFydEhlYWx0aENoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRDb25uZWN0aW9ucygpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgaG9zdCBvZiB0aGlzLmNvbmZpZy5ob3N0cykge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGNvbm4gPSB0aGlzLmNyZWF0ZUNvbm5lY3Rpb24oaG9zdCk7XHJcbiAgICAgICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoaG9zdCwgY29ubik7XHJcbiAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAvLyBDb250aW51ZSB3aXRoIG90aGVyIGhvc3RzXHJcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvbm5lY3QgdG8gJHtob3N0fTpgLCBlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmNvbm5lY3Rpb25zLnNpemUgPT09IDApIHtcclxuICAgICAgdGhyb3cgbmV3IEFsbEhvc3RzRmFpbGVkRXJyb3IoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlQ29ubmVjdGlvbihob3N0OiBzdHJpbmcpOiBDb25uZWN0aW9uIHtcclxuICAgIGxldCBjcmVkZW50aWFsczogZ3JwYy5DaGFubmVsQ3JlZGVudGlhbHM7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnRsc09wdGlvbnMpIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZVNzbCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb3B0aW9uczogZ3JwYy5DaGFubmVsT3B0aW9ucyA9IHtcclxuICAgICAgJ2dycGMubWF4X3JlY2VpdmVfbWVzc2FnZV9sZW5ndGgnOiB0aGlzLmNvbmZpZy5tYXhSZWN2U2l6ZSA/PyA0ICogMTAyNCAqIDEwMjQsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lX21zJzogMzAwMDAsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lb3V0X21zJzogMTAwMDAsXHJcbiAgICAgICdncnBjLmtlZXBhbGl2ZV9wZXJtaXRfd2l0aG91dF9jYWxscyc6IDEsXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIENyZWF0ZSBhIGdlbmVyaWMgY2xpZW50IGZvciB0aGUgY2hhbm5lbFxyXG4gICAgY29uc3QgY2xpZW50ID0gbmV3IGdycGMuQ2xpZW50KGhvc3QsIGNyZWRlbnRpYWxzLCBvcHRpb25zKTtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBob3N0LFxyXG4gICAgICBjbGllbnQsXHJcbiAgICAgIGhlYWx0aHk6IHRydWUsXHJcbiAgICAgIGxhc3RQaW5nOiBEYXRlLm5vdygpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKiBHZXQgYSBoZWFsdGh5IGNvbm5lY3Rpb24gZnJvbSB0aGUgcG9vbCAqL1xyXG4gIGdldENvbm5lY3Rpb24oKTogZ3JwYy5DbGllbnQge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSB7XHJcbiAgICAgIHRocm93IG5ldyBDb25uZWN0aW9uQ2xvc2VkRXJyb3IoKTtcclxuICAgIH1cclxuXHJcbiAgICBmb3IgKGNvbnN0IGNvbm4gb2YgdGhpcy5jb25uZWN0aW9ucy52YWx1ZXMoKSkge1xyXG4gICAgICBpZiAoY29ubi5oZWFsdGh5KSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbm4uY2xpZW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhyb3cgbmV3IE5vQ29ubmVjdGlvbkVycm9yKCk7XHJcbiAgfVxyXG5cclxuICAvKiogR2V0IGEgY29ubmVjdGlvbiBmb3IgYSBzcGVjaWZpYyBob3N0ICovXHJcbiAgZ2V0Q29ubmVjdGlvbkZvckhvc3QoaG9zdDogc3RyaW5nKTogZ3JwYy5DbGllbnQge1xyXG4gICAgY29uc3QgY29ubiA9IHRoaXMuY29ubmVjdGlvbnMuZ2V0KGhvc3QpO1xyXG4gICAgaWYgKCFjb25uIHx8ICFjb25uLmhlYWx0aHkpIHtcclxuICAgICAgdGhyb3cgbmV3IE5vQ29ubmVjdGlvbkVycm9yKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY29ubi5jbGllbnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXJ0SGVhbHRoQ2hlY2soKTogdm9pZCB7XHJcbiAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuY29uZmlnLmhlYWx0aENoZWNrSW50ZXJ2YWwgPz8gMzAwMDA7XHJcbiAgICBpZiAoaW50ZXJ2YWwgPiAwKSB7XHJcbiAgICAgIHRoaXMuaGVhbHRoQ2hlY2tUaW1lciA9IHNldEludGVydmFsKCgpID0+IHRoaXMuY2hlY2tIZWFsdGgoKSwgaW50ZXJ2YWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0hlYWx0aCgpOiB2b2lkIHtcclxuICAgIGZvciAoY29uc3QgW2hvc3QsIGNvbm5dIG9mIHRoaXMuY29ubmVjdGlvbnMpIHtcclxuICAgICAgY29uc3Qgc3RhdGUgPSBjb25uLmNsaWVudC5nZXRDaGFubmVsKCkuZ2V0Q29ubmVjdGl2aXR5U3RhdGUoZmFsc2UpO1xyXG4gICAgICBjb25zdCBoZWFsdGh5ID0gc3RhdGUgPT09IGdycGMuY29ubmVjdGl2aXR5U3RhdGUuUkVBRFkgfHxcclxuICAgICAgICAgICAgICAgICAgICAgc3RhdGUgPT09IGdycGMuY29ubmVjdGl2aXR5U3RhdGUuSURMRTtcclxuXHJcbiAgICAgIGNvbm4uaGVhbHRoeSA9IGhlYWx0aHk7XHJcbiAgICAgIGlmIChoZWFsdGh5KSB7XHJcbiAgICAgICAgY29ubi5sYXN0UGluZyA9IERhdGUubm93KCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5yZWNvbm5lY3QoaG9zdCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgcmVjb25uZWN0KGhvc3Q6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSByZXR1cm47XHJcblxyXG4gICAgY29uc3Qgb2xkQ29ubiA9IHRoaXMuY29ubmVjdGlvbnMuZ2V0KGhvc3QpO1xyXG4gICAgaWYgKG9sZENvbm4pIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBvbGRDb25uLmNsaWVudC5jbG9zZSgpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgLy8gSWdub3JlXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jb25uZWN0aW9ucy5kZWxldGUoaG9zdCk7XHJcbiAgICB9XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgbmV3Q29ubiA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbihob3N0KTtcclxuICAgICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoaG9zdCwgbmV3Q29ubik7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIC8vIExvZyBhbmQgY29udGludWVcclxuICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlY29ubmVjdCB0byAke2hvc3R9OmAsIGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqIENsb3NlIGFsbCBjb25uZWN0aW9ucyBpbiB0aGUgcG9vbCAqL1xyXG4gIGNsb3NlKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuY2xvc2VkKSByZXR1cm47XHJcblxyXG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xyXG5cclxuICAgIGlmICh0aGlzLmhlYWx0aENoZWNrVGltZXIpIHtcclxuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmhlYWx0aENoZWNrVGltZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY29ubiBvZiB0aGlzLmNvbm5lY3Rpb25zLnZhbHVlcygpKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29ubi5jbGllbnQuY2xvc2UoKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIC8vIElnbm9yZVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jb25uZWN0aW9ucy5jbGVhcigpO1xyXG4gIH1cclxuXHJcbiAgLyoqIEdldCB0aGUgbnVtYmVyIG9mIGhlYWx0aHkgaG9zdHMgKi9cclxuICBoZWFsdGh5SG9zdENvdW50KCk6IG51bWJlciB7XHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgZm9yIChjb25zdCBjb25uIG9mIHRoaXMuY29ubmVjdGlvbnMudmFsdWVzKCkpIHtcclxuICAgICAgaWYgKGNvbm4uaGVhbHRoeSkgY291bnQrKztcclxuICAgIH1cclxuICAgIHJldHVybiBjb3VudDtcclxuICB9XHJcblxyXG4gIC8qKiBHZXQgdGhlIGxpc3Qgb2YgY29uZmlndXJlZCBob3N0cyAqL1xyXG4gIGhvc3RzKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuY29ubmVjdGlvbnMua2V5cygpKTtcclxuICB9XHJcblxyXG4gIC8qKiBDaGVjayBpZiB0aGUgcG9vbCBpcyBjbG9zZWQgKi9cclxuICBpc0Nsb3NlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmNsb3NlZDtcclxuICB9XHJcbn1cclxuIl19
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25uZWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsb0RBQXNDO0FBRXRDLHFDQUF5RjtBQVV6RixxREFBcUQ7QUFDckQsTUFBYSxjQUFjO0lBQ2pCLE1BQU0sQ0FBYztJQUNwQixXQUFXLEdBQTRCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDakQsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUNmLGdCQUFnQixDQUFrQjtJQUUxQyxZQUFZLE1BQW1CO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sZUFBZTtRQUNyQixLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDO2dCQUNILE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ25DLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLDRCQUE0QjtnQkFDNUIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hDLE1BQU0sSUFBSSw0QkFBbUIsRUFBRSxDQUFDO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRU8sZ0JBQWdCLENB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SSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDWCxTQUFTO1lBQ1gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsZ0JBQWdCO1FBQ2QsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDN0MsSUFBSSxJQUFJLENBQUMsT0FBTztnQkFBRSxLQUFLLEVBQUUsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsdUNBQXVDO0lBQ3ZDLEtBQUs7UUFDSCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsUUFBUTtRQUNOLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0NBQ0Y7QUFsS0Qsd0NBa0tDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb25uZWN0aW9uIG1hbmFnZW1lbnQgZm9yIEdRTERCIE5vZGUuanMgZHJpdmVyLlxuICovXG5cbmltcG9ydCAqIGFzIGdycGMgZnJvbSAnQGdycGMvZ3JwYy1qcyc7XG5pbXBvcnQgeyBHcWxkYkNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IEFsbEhvc3RzRmFpbGVkRXJyb3IsIENvbm5lY3Rpb25DbG9zZWRFcnJvciwgTm9Db25uZWN0aW9uRXJyb3IgfSBmcm9tICcuL2Vycm9ycyc7XG5cbi8qKiBSZXByZXNlbnRzIGEgc2luZ2xlIGdSUEMgY29ubmVjdGlvbiAqL1xuaW50ZXJmYWNlIENvbm5lY3Rpb24ge1xuICBob3N0OiBzdHJpbmc7XG4gIGNsaWVudDogZ3JwYy5DbGllbnQ7XG4gIGhlYWx0aHk6IGJvb2xlYW47XG4gIGxhc3RQaW5nOiBudW1iZXI7XG59XG5cbi8qKiBNYW5hZ2VzIGEgcG9vbCBvZiBjb25uZWN0aW9ucyB0byBHUUxEQiBzZXJ2ZXJzICovXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvblBvb2wge1xuICBwcml2YXRlIGNvbmZpZzogR3FsZGJDb25maWc7XG4gIHByaXZhdGUgY29ubmVjdGlvbnM6IE1hcDxzdHJpbmcsIENvbm5lY3Rpb24+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGNsb3NlZCA9IGZhbHNlO1xuICBwcml2YXRlIGhlYWx0aENoZWNrVGltZXI/OiBOb2RlSlMuVGltZW91dDtcblxuICBjb25zdHJ1Y3Rvcihjb25maWc6IEdxbGRiQ29uZmlnKSB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5pbml0Q29ubmVjdGlvbnMoKTtcbiAgICB0aGlzLnN0YXJ0SGVhbHRoQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbm5lY3Rpb25zKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3QgaG9zdCBvZiB0aGlzLmNvbmZpZy5ob3N0cykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29ubiA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbihob3N0KTtcbiAgICAgICAgdGhpcy5jb25uZWN0aW9ucy5zZXQoaG9zdCwgY29ubik7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIENvbnRpbnVlIHdpdGggb3RoZXIgaG9zdHNcbiAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvbm5lY3QgdG8gJHtob3N0fTpgLCBlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb25uZWN0aW9ucy5zaXplID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgQWxsSG9zdHNGYWlsZWRFcnJvcigpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlQ29ubmVjdGlvbihob3N0OiBzdHJpbmcpOiBDb25uZWN0aW9uIHtcbiAgICBsZXQgY3JlZGVudGlhbHM6IGdycGMuQ2hhbm5lbENyZWRlbnRpYWxzO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLnRsc09wdGlvbnMpIHtcbiAgICAgIGNyZWRlbnRpYWxzID0gZ3JwYy5jcmVkZW50aWFscy5jcmVhdGVTc2woKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY3JlZGVudGlhbHMgPSBncnBjLmNyZWRlbnRpYWxzLmNyZWF0ZUluc2VjdXJlKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9uczogZ3JwYy5DaGFubmVsT3B0aW9ucyA9IHtcbiAgICAgICdncnBjLm1heF9yZWNlaXZlX21lc3NhZ2VfbGVuZ3RoJzogdGhpcy5jb25maWcubWF4UmVjdlNpemUgPz8gNCAqIDEwMjQgKiAxMDI0LFxuICAgICAgJ2dycGMua2VlcGFsaXZlX3RpbWVfbXMnOiAzMDAwMCxcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lb3V0X21zJzogMTAwMDAsXG4gICAgICAnZ3JwYy5rZWVwYWxpdmVfcGVybWl0X3dpdGhvdXRfY2FsbHMnOiAxLFxuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgYSBnZW5lcmljIGNsaWVudCBmb3IgdGhlIGNoYW5uZWxcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgZ3JwYy5DbGllbnQoaG9zdCwgY3JlZGVudGlhbHMsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGhvc3QsXG4gICAgICBjbGllbnQsXG4gICAgICBoZWFsdGh5OiB0cnVlLFxuICAgICAgbGFzdFBpbmc6IERhdGUubm93KCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKiBHZXQgYSBoZWFsdGh5IGNvbm5lY3Rpb24gZnJvbSB0aGUgcG9vbCAqL1xuICBnZXRDb25uZWN0aW9uKCk6IGdycGMuQ2xpZW50IHtcbiAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgIHRocm93IG5ldyBDb25uZWN0aW9uQ2xvc2VkRXJyb3IoKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNvbm4gb2YgdGhpcy5jb25uZWN0aW9ucy52YWx1ZXMoKSkge1xuICAgICAgaWYgKGNvbm4uaGVhbHRoeSkge1xuICAgICAgICByZXR1cm4gY29ubi5jbGllbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IE5vQ29ubmVjdGlvbkVycm9yKCk7XG4gIH1cblxuICAvKiogR2V0IGEgY29ubmVjdGlvbiBmb3IgYSBzcGVjaWZpYyBob3N0ICovXG4gIGdldENvbm5lY3Rpb25Gb3JIb3N0KGhvc3Q6IHN0cmluZyk6IGdycGMuQ2xpZW50IHtcbiAgICBjb25zdCBjb25uID0gdGhpcy5jb25uZWN0aW9ucy5nZXQoaG9zdCk7XG4gICAgaWYgKCFjb25uIHx8ICFjb25uLmhlYWx0aHkpIHtcbiAgICAgIHRocm93IG5ldyBOb0Nvbm5lY3Rpb25FcnJvcigpO1xuICAgIH1cbiAgICByZXR1cm4gY29ubi5jbGllbnQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0SGVhbHRoQ2hlY2soKTogdm9pZCB7XG4gICAgY29uc3QgaW50ZXJ2YWwgPSB0aGlzLmNvbmZpZy5oZWFsdGhDaGVja0ludGVydmFsID8/IDMwMDAwO1xuICAgIGlmIChpbnRlcnZhbCA+IDApIHtcbiAgICAgIHRoaXMuaGVhbHRoQ2hlY2tUaW1lciA9IHNldEludGVydmFsKCgpID0+IHRoaXMuY2hlY2tIZWFsdGgoKSwgaW50ZXJ2YWwpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hlY2tIZWFsdGgoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBbaG9zdCwgY29ubl0gb2YgdGhpcy5jb25uZWN0aW9ucykge1xuICAgICAgY29uc3Qgc3RhdGUgPSBjb25uLmNsaWVudC5nZXRDaGFubmVsKCkuZ2V0Q29ubmVjdGl2aXR5U3RhdGUoZmFsc2UpO1xuICAgICAgY29uc3QgaGVhbHRoeSA9IHN0YXRlID09PSBncnBjLmNvbm5lY3Rpdml0eVN0YXRlLlJFQURZIHx8XG4gICAgICAgICAgICAgICAgICAgICBzdGF0ZSA9PT0gZ3JwYy5jb25uZWN0aXZpdHlTdGF0ZS5JRExFO1xuXG4gICAgICBjb25uLmhlYWx0aHkgPSBoZWFsdGh5O1xuICAgICAgaWYgKGhlYWx0aHkpIHtcbiAgICAgICAgY29ubi5sYXN0UGluZyA9IERhdGUubm93KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlY29ubmVjdChob3N0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJlY29ubmVjdChob3N0OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5jbG9zZWQpIHJldHVybjtcblxuICAgIGNvbnN0IG9sZENvbm4gPSB0aGlzLmNvbm5lY3Rpb25zLmdldChob3N0KTtcbiAgICBpZiAob2xkQ29ubikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgb2xkQ29ubi5jbGllbnQuY2xvc2UoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gSWdub3JlXG4gICAgICB9XG4gICAgICB0aGlzLmNvbm5lY3Rpb25zLmRlbGV0ZShob3N0KTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgbmV3Q29ubiA9IHRoaXMuY3JlYXRlQ29ubmVjdGlvbihob3N0KTtcbiAgICAgIHRoaXMuY29ubmVjdGlvbnMuc2V0KGhvc3QsIG5ld0Nvbm4pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIExvZyBhbmQgY29udGludWVcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZWNvbm5lY3QgdG8gJHtob3N0fTpgLCBlKTtcbiAgICB9XG4gIH1cblxuICAvKiogQ2xvc2UgYWxsIGNvbm5lY3Rpb25zIGluIHRoZSBwb29sICovXG4gIGNsb3NlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNsb3NlZCkgcmV0dXJuO1xuXG4gICAgdGhpcy5jbG9zZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuaGVhbHRoQ2hlY2tUaW1lcikge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmhlYWx0aENoZWNrVGltZXIpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY29ubiBvZiB0aGlzLmNvbm5lY3Rpb25zLnZhbHVlcygpKSB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25uLmNsaWVudC5jbG9zZSgpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBJZ25vcmVcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zLmNsZWFyKCk7XG4gIH1cblxuICAvKiogR2V0IHRoZSBudW1iZXIgb2YgaGVhbHRoeSBob3N0cyAqL1xuICBoZWFsdGh5SG9zdENvdW50KCk6IG51bWJlciB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBmb3IgKGNvbnN0IGNvbm4gb2YgdGhpcy5jb25uZWN0aW9ucy52YWx1ZXMoKSkge1xuICAgICAgaWYgKGNvbm4uaGVhbHRoeSkgY291bnQrKztcbiAgICB9XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgLyoqIEdldCB0aGUgbGlzdCBvZiBjb25maWd1cmVkIGhvc3RzICovXG4gIGhvc3RzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNvbm5lY3Rpb25zLmtleXMoKSk7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgdGhlIHBvb2wgaXMgY2xvc2VkICovXG4gIGlzQ2xvc2VkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNsb3NlZDtcbiAgfVxufVxuIl19
package/dist/errors.js CHANGED
@@ -234,4 +234,4 @@ class UnsupportedTypeError extends GqldbError {
234
234
  }
235
235
  }
236
236
  exports.UnsupportedTypeError = UnsupportedTypeError;
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHdDQUF3QztBQUN4QyxNQUFhLFVBQVcsU0FBUSxLQUFLO0lBR2pCO0lBQ0E7SUFIbEIsWUFDRSxPQUFlLEVBQ0MsT0FBZSxDQUFDLEVBQ2hCLEtBQWE7UUFFN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBRzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELGdDQVNDO0FBRUQsdUJBQXVCO0FBQ3ZCLE1BQWEsWUFBYSxTQUFRLFVBQVU7SUFDMUM7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFMRCxvQ0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRDtRQUNFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRCxvQkFBb0I7QUFDcEIsTUFBYSxpQkFBa0IsU0FBUSxVQUFVO0lBQy9DO1FBQ0UsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFMRCw4Q0FLQztBQUVELE1BQWEscUJBQXNCLFNBQVEsVUFBVTtJQUNuRDtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBTEQsc0RBS0M7QUFFRCxN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QUFHLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUxELDhDQUtDO0FBRUQsY0FBYztBQUNkLE1BQWEsZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxZQUFZLFVBQWtCLGNBQWM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFMRCw0Q0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRCxZQUFZLFVBQWtCLHdCQUF3QjtRQUNwRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUxELGtEQUtDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSxVQUFVO0lBQ2xELFlBQVksV0FBbUIsRUFBRTtRQUMvQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFMRCxvREFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBFcnJvciBkZWZpbml0aW9ucyBmb3IgR1FMREIgTm9kZS5qcyBkcml2ZXIuXHJcbiAqL1xyXG5cclxuLyoqIEJhc2UgZXJyb3IgY2xhc3MgZm9yIEdRTERCIGVycm9ycyAqL1xyXG5leHBvcnQgY2xhc3MgR3FsZGJFcnJvciBleHRlbmRzIEVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgIHB1YmxpYyByZWFkb25seSBjb2RlOiBudW1iZXIgPSAwLFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogRXJyb3JcclxuICApIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0dxbGRiRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ29uZmlndXJhdGlvbiBlcnJvcnNcclxuZXhwb3J0IGNsYXNzIE5vSG9zdHNFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ05vIGhvc3RzIGNvbmZpZ3VyZWQnKTtcclxuICAgIHRoaXMubmFtZSA9ICdOb0hvc3RzRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEludmFsaWRUaW1lb3V0RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdJbnZhbGlkIHRpbWVvdXQgdmFsdWUnKTtcclxuICAgIHRoaXMubmFtZSA9ICdJbnZhbGlkVGltZW91dEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbi8vIENvbm5lY3Rpb24gZXJyb3JzXHJcbmV4cG9ydCBjbGFzcyBOb0Nvbm5lY3Rpb25FcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ05vIGNvbm5lY3Rpb24gYXZhaWxhYmxlJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnTm9Db25uZWN0aW9uRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25DbG9zZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ0Nvbm5lY3Rpb24gY2xvc2VkJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnQ29ubmVjdGlvbkNsb3NlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBDb25uZWN0aW9uRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnQ29ubmVjdGlvbiBmYWlsZWQnLCBjYXVzZT86IEVycm9yKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XHJcbiAgICB0aGlzLm5hbWUgPSAnQ29ubmVjdGlvbkZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBbGxIb3N0c0ZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignQWxsIGhvc3RzIGZhaWxlZCB0byBjb25uZWN0Jyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnQWxsSG9zdHNGYWlsZWRFcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSGVhbHRoQ2hlY2tGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ0hlYWx0aCBjaGVjayBmYWlsZWQnKTtcclxuICAgIHRoaXMubmFtZSA9ICdIZWFsdGhDaGVja0ZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbi8vIFNlc3Npb24gZXJyb3JzXHJcbmV4cG9ydCBjbGFzcyBOb3RMb2dnZWRJbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignTm90IGxvZ2dlZCBpbicpO1xyXG4gICAgdGhpcy5uYW1lID0gJ05vdExvZ2dlZEluRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvZ2luRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnTG9naW4gZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0xvZ2luRmFpbGVkRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIExvZ291dEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0xvZ291dCBmYWlsZWQnLCBjYXVzZT86IEVycm9yKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XHJcbiAgICB0aGlzLm5hbWUgPSAnTG9nb3V0RmFpbGVkRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlc3Npb25FeHBpcmVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdTZXNzaW9uIGV4cGlyZWQnKTtcclxuICAgIHRoaXMubmFtZSA9ICdTZXNzaW9uRXhwaXJlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2Vzc2lvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignSW52YWxpZCBzZXNzaW9uJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFNlc3Npb25FcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUcmFuc2FjdGlvbiBlcnJvcnNcclxuZXhwb3J0IGNsYXNzIE5vVHJhbnNhY3Rpb25FcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ05vIGFjdGl2ZSB0cmFuc2FjdGlvbicpO1xyXG4gICAgdGhpcy5uYW1lID0gJ05vVHJhbnNhY3Rpb25FcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdUcmFuc2FjdGlvbiBmYWlsZWQnLCBjYXVzZT86IEVycm9yKSB7XHJcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XHJcbiAgICB0aGlzLm5hbWUgPSAnVHJhbnNhY3Rpb25GYWlsZWRFcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcignVHJhbnNhY3Rpb24gbm90IGZvdW5kJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2FjdGlvbkFscmVhZHlPcGVuRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdUcmFuc2FjdGlvbiBhbHJlYWR5IG9wZW4nKTtcclxuICAgIHRoaXMubmFtZSA9ICdUcmFuc2FjdGlvbkFscmVhZHlPcGVuRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUXVlcnkgZXJyb3JzXHJcbmV4cG9ydCBjbGFzcyBRdWVyeUZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ1F1ZXJ5IGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcclxuICAgIHRoaXMubmFtZSA9ICdRdWVyeUZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBRdWVyeVRpbWVvdXRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgc3VwZXIoJ1F1ZXJ5IHRpbWVvdXQnKTtcclxuICAgIHRoaXMubmFtZSA9ICdRdWVyeVRpbWVvdXRFcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgSW52YWxpZFF1ZXJ5RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnSW52YWxpZCBxdWVyeScpIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRRdWVyeUVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFbXB0eVF1ZXJ5RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCdFbXB0eSBxdWVyeScpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0VtcHR5UXVlcnlFcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBHcmFwaCBlcnJvcnNcclxuZXhwb3J0IGNsYXNzIEdyYXBoTm90Rm91bmRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKGdyYXBoTmFtZTogc3RyaW5nID0gJycpIHtcclxuICAgIHN1cGVyKGdyYXBoTmFtZSA/IGBHcmFwaCBub3QgZm91bmQ6ICR7Z3JhcGhOYW1lfWAgOiAnR3JhcGggbm90IGZvdW5kJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnR3JhcGhOb3RGb3VuZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBHcmFwaEV4aXN0c0Vycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IoZ3JhcGhOYW1lOiBzdHJpbmcgPSAnJykge1xyXG4gICAgc3VwZXIoZ3JhcGhOYW1lID8gYEdyYXBoIGFscmVhZHkgZXhpc3RzOiAke2dyYXBoTmFtZX1gIDogJ0dyYXBoIGFscmVhZHkgZXhpc3RzJyk7XHJcbiAgICB0aGlzLm5hbWUgPSAnR3JhcGhFeGlzdHNFcnJvcic7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlR3JhcGhGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdDcmVhdGUgZ3JhcGggZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0NyZWF0ZUdyYXBoRmFpbGVkRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIERyb3BHcmFwaEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0Ryb3AgZ3JhcGggZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0Ryb3BHcmFwaEZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbi8vIERhdGEgZXJyb3JzXHJcbmV4cG9ydCBjbGFzcyBJbnNlcnRGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdJbnNlcnQgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0luc2VydEZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBEZWxldGVGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdEZWxldGUgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0RlbGV0ZUZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBFeHBvcnRGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdFeHBvcnQgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xyXG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0V4cG9ydEZhaWxlZEVycm9yJztcclxuICB9XHJcbn1cclxuXHJcbi8vIFR5cGUgZXJyb3JzXHJcbmV4cG9ydCBjbGFzcyBJbnZhbGlkVHlwZUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0ludmFsaWQgdHlwZScpIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRUeXBlRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFR5cGVDb252ZXJzaW9uRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcclxuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnVHlwZSBjb252ZXJzaW9uIGZhaWxlZCcpIHtcclxuICAgIHN1cGVyKG1lc3NhZ2UpO1xyXG4gICAgdGhpcy5uYW1lID0gJ1R5cGVDb252ZXJzaW9uRXJyb3InO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIFVuc3VwcG9ydGVkVHlwZUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XHJcbiAgY29uc3RydWN0b3IodHlwZU5hbWU6IHN0cmluZyA9ICcnKSB7XHJcbiAgICBzdXBlcih0eXBlTmFtZSA/IGBVbnN1cHBvcnRlZCB0eXBlOiAke3R5cGVOYW1lfWAgOiAnVW5zdXBwb3J0ZWQgdHlwZScpO1xyXG4gICAgdGhpcy5uYW1lID0gJ1Vuc3VwcG9ydGVkVHlwZUVycm9yJztcclxuICB9XHJcbn1cclxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHdDQUF3QztBQUN4QyxNQUFhLFVBQVcsU0FBUSxLQUFLO0lBR2pCO0lBQ0E7SUFIbEIsWUFDRSxPQUFlLEVBQ0MsT0FBZSxDQUFDLEVBQ2hCLEtBQWE7UUFFN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBRzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELGdDQVNDO0FBRUQsdUJBQXVCO0FBQ3ZCLE1BQWEsWUFBYSxTQUFRLFVBQVU7SUFDMUM7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFMRCxvQ0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRDtRQUNFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRCxvQkFBb0I7QUFDcEIsTUFBYSxpQkFBa0IsU0FBUSxVQUFVO0lBQy9DO1FBQ0UsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFMRCw4Q0FLQztBQUVELE1BQWEscUJBQXNCLFNBQVEsVUFBVTtJQUNuRDtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBTEQsc0RBS0M7QUFFRCxN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QUFHLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUxELDhDQUtDO0FBRUQsY0FBYztBQUNkLE1BQWEsZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxZQUFZLFVBQWtCLGNBQWM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFMRCw0Q0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRCxZQUFZLFVBQWtCLHdCQUF3QjtRQUNwRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUxELGtEQUtDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSxVQUFVO0lBQ2xELFlBQVksV0FBbUIsRUFBRTtRQUMvQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFMRCxvREFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXJyb3IgZGVmaW5pdGlvbnMgZm9yIEdRTERCIE5vZGUuanMgZHJpdmVyLlxuICovXG5cbi8qKiBCYXNlIGVycm9yIGNsYXNzIGZvciBHUUxEQiBlcnJvcnMgKi9cbmV4cG9ydCBjbGFzcyBHcWxkYkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvZGU6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogRXJyb3JcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0dxbGRiRXJyb3InO1xuICB9XG59XG5cbi8vIENvbmZpZ3VyYXRpb24gZXJyb3JzXG5leHBvcnQgY2xhc3MgTm9Ib3N0c0Vycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBob3N0cyBjb25maWd1cmVkJyk7XG4gICAgdGhpcy5uYW1lID0gJ05vSG9zdHNFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRUaW1lb3V0RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ludmFsaWQgdGltZW91dCB2YWx1ZScpO1xuICAgIHRoaXMubmFtZSA9ICdJbnZhbGlkVGltZW91dEVycm9yJztcbiAgfVxufVxuXG4vLyBDb25uZWN0aW9uIGVycm9yc1xuZXhwb3J0IGNsYXNzIE5vQ29ubmVjdGlvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBjb25uZWN0aW9uIGF2YWlsYWJsZScpO1xuICAgIHRoaXMubmFtZSA9ICdOb0Nvbm5lY3Rpb25FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25DbG9zZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignQ29ubmVjdGlvbiBjbG9zZWQnKTtcbiAgICB0aGlzLm5hbWUgPSAnQ29ubmVjdGlvbkNsb3NlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdDb25uZWN0aW9uIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0Nvbm5lY3Rpb25GYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFsbEhvc3RzRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0FsbCBob3N0cyBmYWlsZWQgdG8gY29ubmVjdCcpO1xuICAgIHRoaXMubmFtZSA9ICdBbGxIb3N0c0ZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSGVhbHRoQ2hlY2tGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSGVhbHRoIGNoZWNrIGZhaWxlZCcpO1xuICAgIHRoaXMubmFtZSA9ICdIZWFsdGhDaGVja0ZhaWxlZEVycm9yJztcbiAgfVxufVxuXG4vLyBTZXNzaW9uIGVycm9yc1xuZXhwb3J0IGNsYXNzIE5vdExvZ2dlZEluRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ05vdCBsb2dnZWQgaW4nKTtcbiAgICB0aGlzLm5hbWUgPSAnTm90TG9nZ2VkSW5FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvZ2luRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0xvZ2luIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvZ2luRmFpbGVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dvdXRGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnTG9nb3V0IGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvZ291dEZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkV4cGlyZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2Vzc2lvbiBleHBpcmVkJyk7XG4gICAgdGhpcy5uYW1lID0gJ1Nlc3Npb25FeHBpcmVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2Vzc2lvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdJbnZhbGlkIHNlc3Npb24nKTtcbiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFNlc3Npb25FcnJvcic7XG4gIH1cbn1cblxuLy8gVHJhbnNhY3Rpb24gZXJyb3JzXG5leHBvcnQgY2xhc3MgTm9UcmFuc2FjdGlvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBhY3RpdmUgdHJhbnNhY3Rpb24nKTtcbiAgICB0aGlzLm5hbWUgPSAnTm9UcmFuc2FjdGlvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnVHJhbnNhY3Rpb24gZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnVHJhbnNhY3Rpb25GYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignVHJhbnNhY3Rpb24gbm90IGZvdW5kJyk7XG4gICAgdGhpcy5uYW1lID0gJ1RyYW5zYWN0aW9uTm90Rm91bmRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignVHJhbnNhY3Rpb24gYWxyZWFkeSBvcGVuJyk7XG4gICAgdGhpcy5uYW1lID0gJ1RyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvcic7XG4gIH1cbn1cblxuLy8gUXVlcnkgZXJyb3JzXG5leHBvcnQgY2xhc3MgUXVlcnlGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnUXVlcnkgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnUXVlcnlGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJ5VGltZW91dEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdRdWVyeSB0aW1lb3V0Jyk7XG4gICAgdGhpcy5uYW1lID0gJ1F1ZXJ5VGltZW91dEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZFF1ZXJ5RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0ludmFsaWQgcXVlcnknKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRRdWVyeUVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRW1wdHlRdWVyeUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdFbXB0eSBxdWVyeScpO1xuICAgIHRoaXMubmFtZSA9ICdFbXB0eVF1ZXJ5RXJyb3InO1xuICB9XG59XG5cbi8vIEdyYXBoIGVycm9yc1xuZXhwb3J0IGNsYXNzIEdyYXBoTm90Rm91bmRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihncmFwaE5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIoZ3JhcGhOYW1lID8gYEdyYXBoIG5vdCBmb3VuZDogJHtncmFwaE5hbWV9YCA6ICdHcmFwaCBub3QgZm91bmQnKTtcbiAgICB0aGlzLm5hbWUgPSAnR3JhcGhOb3RGb3VuZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgR3JhcGhFeGlzdHNFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihncmFwaE5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIoZ3JhcGhOYW1lID8gYEdyYXBoIGFscmVhZHkgZXhpc3RzOiAke2dyYXBoTmFtZX1gIDogJ0dyYXBoIGFscmVhZHkgZXhpc3RzJyk7XG4gICAgdGhpcy5uYW1lID0gJ0dyYXBoRXhpc3RzRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVHcmFwaEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdDcmVhdGUgZ3JhcGggZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnQ3JlYXRlR3JhcGhGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERyb3BHcmFwaEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdEcm9wIGdyYXBoIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0Ryb3BHcmFwaEZhaWxlZEVycm9yJztcbiAgfVxufVxuXG4vLyBEYXRhIGVycm9yc1xuZXhwb3J0IGNsYXNzIEluc2VydEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdJbnNlcnQgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW5zZXJ0RmFpbGVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnRGVsZXRlIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0RlbGV0ZUZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXhwb3J0RmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0V4cG9ydCBmYWlsZWQnLCBjYXVzZT86IEVycm9yKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xuICAgIHRoaXMubmFtZSA9ICdFeHBvcnRGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuLy8gVHlwZSBlcnJvcnNcbmV4cG9ydCBjbGFzcyBJbnZhbGlkVHlwZUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdJbnZhbGlkIHR5cGUnKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRUeXBlRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUeXBlQ29udmVyc2lvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdUeXBlIGNvbnZlcnNpb24gZmFpbGVkJykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdUeXBlQ29udmVyc2lvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdXBwb3J0ZWRUeXBlRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IodHlwZU5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIodHlwZU5hbWUgPyBgVW5zdXBwb3J0ZWQgdHlwZTogJHt0eXBlTmFtZX1gIDogJ1Vuc3VwcG9ydGVkIHR5cGUnKTtcbiAgICB0aGlzLm5hbWUgPSAnVW5zdXBwb3J0ZWRUeXBlRXJyb3InO1xuICB9XG59XG4iXX0=
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export { GqldbClient, QueryConfig, HealthWatcher } from './client';
5
5
  export { GqldbConfig, ConfigBuilder, createConfig, validateConfig, DEFAULT_CONFIG } from './config';
6
- export { PropertyType, GraphType, HealthStatus, CacheType, TypedValue, createTypedValue, typedValueToJS, Parameter, createParameter, Point, Point3D, NodeData, EdgeData, GraphInfo, TransactionInfo, ASTCacheStats, PlanCacheStats, CacheStats, Statistics, ExportedNode, ExportedEdge, BulkCreateNodesOptions, BulkCreateEdgesOptions, BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus, Schema, PropertyDef, Header, Table, Attr, } from './types';
6
+ export { PropertyType, GraphType, HealthStatus, CacheType, TypedValue, createTypedValue, typedValueToJS, Parameter, createParameter, Point, Point3D, NodeData, EdgeData, GraphInfo, TransactionInfo, ASTCacheStats, PlanCacheStats, CacheStats, Statistics, SystemMetrics, CpuMetrics, MemoryMetrics, DiskIOMetrics, StorageMetrics, NetworkMetrics, ExportedNode, ExportedEdge, BulkCreateNodesOptions, BulkCreateEdgesOptions, BulkImportOptions, BulkImportSession, CheckpointResult, EndBulkImportResult, AbortBulkImportResult, BulkImportStatus, Schema, PropertyDef, Header, Table, Attr, } from './types';
7
7
  export { Response, Row, InsertNodesResult, InsertEdgesResult, DeleteResult, ExportNodesResult, ExportEdgesResult, Node, Edge, Path, NodeResult, EdgeResult, } from './response';
8
8
  export { printNodes, printNodesWithoutSchema, printEdges, printEdgesWithoutSchema, printPaths, printTable, printAny, } from './printers';
9
9
  export { Session, SessionManager } from './session';
package/dist/index.js CHANGED
@@ -85,4 +85,4 @@ Object.defineProperty(exports, "TypeConversionError", { enumerable: true, get: f
85
85
  Object.defineProperty(exports, "UnsupportedTypeError", { enumerable: true, get: function () { return errors_1.UnsupportedTypeError; } });
86
86
  // Version
87
87
  exports.VERSION = '0.1.0';
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7O0FBRUgsY0FBYztBQUNkLG1DQUFtRTtBQUExRCxxR0FBQSxXQUFXLE9BQUE7QUFFcEIsZ0JBQWdCO0FBQ2hCLG1DQUFvRztBQUE5RSx1R0FBQSxhQUFhLE9BQUE7QUFBRSxzR0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFFakYsUUFBUTtBQUNSLGlDQW1DaUI7QUFsQ2YscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBRVQseUdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsY0FBYyxPQUFBO0FBRWQsd0dBQUEsZUFBZSxPQUFBO0FBNEJqQixXQUFXO0FBQ1gsdUNBYW9CO0FBWmxCLG9HQUFBLFFBQVEsT0FBQTtBQUNSLCtGQUFBLEdBQUcsT0FBQTtBQWFMLFdBQVc7QUFDWCx1Q0FRb0I7QUFQbEIsc0dBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsc0dBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsc0dBQUEsVUFBVSxPQUFBO0FBQ1Ysc0dBQUEsVUFBVSxPQUFBO0FBQ1Ysb0dBQUEsUUFBUSxPQUFBO0FBR1YsVUFBVTtBQUNWLHFDQUFvRDtBQUFsQyx5R0FBQSxjQUFjLE9BQUE7QUFFaEMsY0FBYztBQUNkLDZDQUFnRTtBQUExQyxpSEFBQSxrQkFBa0IsT0FBQTtBQUV4QyxhQUFhO0FBQ2IsMkNBQThDO0FBQXJDLDRHQUFBLGNBQWMsT0FBQTtBQUV2QixXQUFXO0FBQ1gsdUNBQTRHO0FBQW5HLGdIQUFBLG9CQUFvQixPQUFBO0FBQWtCLHlHQUFBLGFBQWEsT0FBQTtBQUFFLHFIQUFBLHlCQUF5QixPQUFBO0FBRXZGLFNBQVM7QUFDVCxtQ0FnQ2tCO0FBL0JoQixvR0FBQSxVQUFVLE9BQUE7QUFDVixzR0FBQSxZQUFZLE9BQUE7QUFDWiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwrR0FBQSxxQkFBcUIsT0FBQTtBQUNyQiwrR0FBQSxxQkFBcUIsT0FBQTtBQUNyQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0QixrSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSwyQkFBMkIsT0FBQTtBQUMzQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQix5R0FBQSxlQUFlLE9BQUE7QUFDZiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0Qiw4R0FBQSxvQkFBb0IsT0FBQTtBQUNwQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw4R0FBQSxvQkFBb0IsT0FBQTtBQUd0QixVQUFVO0FBQ0csUUFBQSxPQUFPLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEdRTERCIE5vZGUuanMgRHJpdmVyIC0gQSBnUlBDLWJhc2VkIGNsaWVudCBmb3IgR1FMREIgZ3JhcGggZGF0YWJhc2UuXHJcbiAqL1xyXG5cclxuLy8gTWFpbiBjbGllbnRcclxuZXhwb3J0IHsgR3FsZGJDbGllbnQsIFF1ZXJ5Q29uZmlnLCBIZWFsdGhXYXRjaGVyIH0gZnJvbSAnLi9jbGllbnQnO1xyXG5cclxuLy8gQ29uZmlndXJhdGlvblxyXG5leHBvcnQgeyBHcWxkYkNvbmZpZywgQ29uZmlnQnVpbGRlciwgY3JlYXRlQ29uZmlnLCB2YWxpZGF0ZUNvbmZpZywgREVGQVVMVF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZyc7XHJcblxyXG4vLyBUeXBlc1xyXG5leHBvcnQge1xyXG4gIFByb3BlcnR5VHlwZSxcclxuICBHcmFwaFR5cGUsXHJcbiAgSGVhbHRoU3RhdHVzLFxyXG4gIENhY2hlVHlwZSxcclxuICBUeXBlZFZhbHVlLFxyXG4gIGNyZWF0ZVR5cGVkVmFsdWUsXHJcbiAgdHlwZWRWYWx1ZVRvSlMsXHJcbiAgUGFyYW1ldGVyLFxyXG4gIGNyZWF0ZVBhcmFtZXRlcixcclxuICBQb2ludCxcclxuICBQb2ludDNELFxyXG4gIE5vZGVEYXRhLFxyXG4gIEVkZ2VEYXRhLFxyXG4gIEdyYXBoSW5mbyxcclxuICBUcmFuc2FjdGlvbkluZm8sXHJcbiAgQVNUQ2FjaGVTdGF0cyxcclxuICBQbGFuQ2FjaGVTdGF0cyxcclxuICBDYWNoZVN0YXRzLFxyXG4gIFN0YXRpc3RpY3MsXHJcbiAgRXhwb3J0ZWROb2RlLFxyXG4gIEV4cG9ydGVkRWRnZSxcclxuICBCdWxrQ3JlYXRlTm9kZXNPcHRpb25zLFxyXG4gIEJ1bGtDcmVhdGVFZGdlc09wdGlvbnMsXHJcbiAgQnVsa0ltcG9ydE9wdGlvbnMsXHJcbiAgQnVsa0ltcG9ydFNlc3Npb24sXHJcbiAgQ2hlY2twb2ludFJlc3VsdCxcclxuICBFbmRCdWxrSW1wb3J0UmVzdWx0LFxyXG4gIEFib3J0QnVsa0ltcG9ydFJlc3VsdCxcclxuICBCdWxrSW1wb3J0U3RhdHVzLFxyXG4gIFNjaGVtYSxcclxuICBQcm9wZXJ0eURlZixcclxuICBIZWFkZXIsXHJcbiAgVGFibGUsXHJcbiAgQXR0cixcclxufSBmcm9tICcuL3R5cGVzJztcclxuXHJcbi8vIFJlc3BvbnNlXHJcbmV4cG9ydCB7XHJcbiAgUmVzcG9uc2UsXHJcbiAgUm93LFxyXG4gIEluc2VydE5vZGVzUmVzdWx0LFxyXG4gIEluc2VydEVkZ2VzUmVzdWx0LFxyXG4gIERlbGV0ZVJlc3VsdCxcclxuICBFeHBvcnROb2Rlc1Jlc3VsdCxcclxuICBFeHBvcnRFZGdlc1Jlc3VsdCxcclxuICBOb2RlLFxyXG4gIEVkZ2UsXHJcbiAgUGF0aCxcclxuICBOb2RlUmVzdWx0LFxyXG4gIEVkZ2VSZXN1bHQsXHJcbn0gZnJvbSAnLi9yZXNwb25zZSc7XHJcblxyXG4vLyBQcmludGVyc1xyXG5leHBvcnQge1xyXG4gIHByaW50Tm9kZXMsXHJcbiAgcHJpbnROb2Rlc1dpdGhvdXRTY2hlbWEsXHJcbiAgcHJpbnRFZGdlcyxcclxuICBwcmludEVkZ2VzV2l0aG91dFNjaGVtYSxcclxuICBwcmludFBhdGhzLFxyXG4gIHByaW50VGFibGUsXHJcbiAgcHJpbnRBbnksXHJcbn0gZnJvbSAnLi9wcmludGVycyc7XHJcblxyXG4vLyBTZXNzaW9uXHJcbmV4cG9ydCB7IFNlc3Npb24sIFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uJztcclxuXHJcbi8vIFRyYW5zYWN0aW9uXHJcbmV4cG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcclxuXHJcbi8vIENvbm5lY3Rpb25cclxuZXhwb3J0IHsgQ29ubmVjdGlvblBvb2wgfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xyXG5cclxuLy8gU2VydmljZXNcclxuZXhwb3J0IHsgY3JlYXRlU2VydmljZUNsaWVudHMsIFNlcnZpY2VDbGllbnRzLCBwcm9taXNpZnlDYWxsLCBwcm9taXNpZnlDYWxsV2l0aERlYWRsaW5lIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XHJcblxyXG4vLyBFcnJvcnNcclxuZXhwb3J0IHtcclxuICBHcWxkYkVycm9yLFxyXG4gIE5vSG9zdHNFcnJvcixcclxuICBJbnZhbGlkVGltZW91dEVycm9yLFxyXG4gIE5vQ29ubmVjdGlvbkVycm9yLFxyXG4gIENvbm5lY3Rpb25DbG9zZWRFcnJvcixcclxuICBDb25uZWN0aW9uRmFpbGVkRXJyb3IsXHJcbiAgQWxsSG9zdHNGYWlsZWRFcnJvcixcclxuICBIZWFsdGhDaGVja0ZhaWxlZEVycm9yLFxyXG4gIE5vdExvZ2dlZEluRXJyb3IsXHJcbiAgTG9naW5GYWlsZWRFcnJvcixcclxuICBMb2dvdXRGYWlsZWRFcnJvcixcclxuICBTZXNzaW9uRXhwaXJlZEVycm9yLFxyXG4gIEludmFsaWRTZXNzaW9uRXJyb3IsXHJcbiAgTm9UcmFuc2FjdGlvbkVycm9yLFxyXG4gIFRyYW5zYWN0aW9uRmFpbGVkRXJyb3IsXHJcbiAgVHJhbnNhY3Rpb25Ob3RGb3VuZEVycm9yLFxyXG4gIFRyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvcixcclxuICBRdWVyeUZhaWxlZEVycm9yLFxyXG4gIFF1ZXJ5VGltZW91dEVycm9yLFxyXG4gIEludmFsaWRRdWVyeUVycm9yLFxyXG4gIEVtcHR5UXVlcnlFcnJvcixcclxuICBHcmFwaE5vdEZvdW5kRXJyb3IsXHJcbiAgR3JhcGhFeGlzdHNFcnJvcixcclxuICBDcmVhdGVHcmFwaEZhaWxlZEVycm9yLFxyXG4gIERyb3BHcmFwaEZhaWxlZEVycm9yLFxyXG4gIEluc2VydEZhaWxlZEVycm9yLFxyXG4gIERlbGV0ZUZhaWxlZEVycm9yLFxyXG4gIEV4cG9ydEZhaWxlZEVycm9yLFxyXG4gIEludmFsaWRUeXBlRXJyb3IsXHJcbiAgVHlwZUNvbnZlcnNpb25FcnJvcixcclxuICBVbnN1cHBvcnRlZFR5cGVFcnJvcixcclxufSBmcm9tICcuL2Vycm9ycyc7XHJcblxyXG4vLyBWZXJzaW9uXHJcbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzAuMS4wJztcclxuIl19
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7O0FBRUgsY0FBYztBQUNkLG1DQUFtRTtBQUExRCxxR0FBQSxXQUFXLE9BQUE7QUFFcEIsZ0JBQWdCO0FBQ2hCLG1DQUFvRztBQUE5RSx1R0FBQSxhQUFhLE9BQUE7QUFBRSxzR0FBQSxZQUFZLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFBRSx3R0FBQSxjQUFjLE9BQUE7QUFFakYsUUFBUTtBQUNSLGlDQXlDaUI7QUF4Q2YscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBQ1QscUdBQUEsWUFBWSxPQUFBO0FBQ1osa0dBQUEsU0FBUyxPQUFBO0FBRVQseUdBQUEsZ0JBQWdCLE9BQUE7QUFDaEIsdUdBQUEsY0FBYyxPQUFBO0FBRWQsd0dBQUEsZUFBZSxPQUFBO0FBa0NqQixXQUFXO0FBQ1gsdUNBYW9CO0FBWmxCLG9HQUFBLFFBQVEsT0FBQTtBQUNSLCtGQUFBLEdBQUcsT0FBQTtBQWFMLFdBQVc7QUFDWCx1Q0FRb0I7QUFQbEIsc0dBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsc0dBQUEsVUFBVSxPQUFBO0FBQ1YsbUhBQUEsdUJBQXVCLE9BQUE7QUFDdkIsc0dBQUEsVUFBVSxPQUFBO0FBQ1Ysc0dBQUEsVUFBVSxPQUFBO0FBQ1Ysb0dBQUEsUUFBUSxPQUFBO0FBR1YsVUFBVTtBQUNWLHFDQUFvRDtBQUFsQyx5R0FBQSxjQUFjLE9BQUE7QUFFaEMsY0FBYztBQUNkLDZDQUFnRTtBQUExQyxpSEFBQSxrQkFBa0IsT0FBQTtBQUV4QyxhQUFhO0FBQ2IsMkNBQThDO0FBQXJDLDRHQUFBLGNBQWMsT0FBQTtBQUV2QixXQUFXO0FBQ1gsdUNBQTRHO0FBQW5HLGdIQUFBLG9CQUFvQixPQUFBO0FBQWtCLHlHQUFBLGFBQWEsT0FBQTtBQUFFLHFIQUFBLHlCQUF5QixPQUFBO0FBRXZGLFNBQVM7QUFDVCxtQ0FnQ2tCO0FBL0JoQixvR0FBQSxVQUFVLE9BQUE7QUFDVixzR0FBQSxZQUFZLE9BQUE7QUFDWiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwrR0FBQSxxQkFBcUIsT0FBQTtBQUNyQiwrR0FBQSxxQkFBcUIsT0FBQTtBQUNyQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0QiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0QixrSEFBQSx3QkFBd0IsT0FBQTtBQUN4QixxSEFBQSwyQkFBMkIsT0FBQTtBQUMzQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQix5R0FBQSxlQUFlLE9BQUE7QUFDZiw0R0FBQSxrQkFBa0IsT0FBQTtBQUNsQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQixnSEFBQSxzQkFBc0IsT0FBQTtBQUN0Qiw4R0FBQSxvQkFBb0IsT0FBQTtBQUNwQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwyR0FBQSxpQkFBaUIsT0FBQTtBQUNqQiwwR0FBQSxnQkFBZ0IsT0FBQTtBQUNoQiw2R0FBQSxtQkFBbUIsT0FBQTtBQUNuQiw4R0FBQSxvQkFBb0IsT0FBQTtBQUd0QixVQUFVO0FBQ0csUUFBQSxPQUFPLEdBQUcsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHUUxEQiBOb2RlLmpzIERyaXZlciAtIEEgZ1JQQy1iYXNlZCBjbGllbnQgZm9yIEdRTERCIGdyYXBoIGRhdGFiYXNlLlxuICovXG5cbi8vIE1haW4gY2xpZW50XG5leHBvcnQgeyBHcWxkYkNsaWVudCwgUXVlcnlDb25maWcsIEhlYWx0aFdhdGNoZXIgfSBmcm9tICcuL2NsaWVudCc7XG5cbi8vIENvbmZpZ3VyYXRpb25cbmV4cG9ydCB7IEdxbGRiQ29uZmlnLCBDb25maWdCdWlsZGVyLCBjcmVhdGVDb25maWcsIHZhbGlkYXRlQ29uZmlnLCBERUZBVUxUX0NPTkZJRyB9IGZyb20gJy4vY29uZmlnJztcblxuLy8gVHlwZXNcbmV4cG9ydCB7XG4gIFByb3BlcnR5VHlwZSxcbiAgR3JhcGhUeXBlLFxuICBIZWFsdGhTdGF0dXMsXG4gIENhY2hlVHlwZSxcbiAgVHlwZWRWYWx1ZSxcbiAgY3JlYXRlVHlwZWRWYWx1ZSxcbiAgdHlwZWRWYWx1ZVRvSlMsXG4gIFBhcmFtZXRlcixcbiAgY3JlYXRlUGFyYW1ldGVyLFxuICBQb2ludCxcbiAgUG9pbnQzRCxcbiAgTm9kZURhdGEsXG4gIEVkZ2VEYXRhLFxuICBHcmFwaEluZm8sXG4gIFRyYW5zYWN0aW9uSW5mbyxcbiAgQVNUQ2FjaGVTdGF0cyxcbiAgUGxhbkNhY2hlU3RhdHMsXG4gIENhY2hlU3RhdHMsXG4gIFN0YXRpc3RpY3MsXG4gIFN5c3RlbU1ldHJpY3MsXG4gIENwdU1ldHJpY3MsXG4gIE1lbW9yeU1ldHJpY3MsXG4gIERpc2tJT01ldHJpY3MsXG4gIFN0b3JhZ2VNZXRyaWNzLFxuICBOZXR3b3JrTWV0cmljcyxcbiAgRXhwb3J0ZWROb2RlLFxuICBFeHBvcnRlZEVkZ2UsXG4gIEJ1bGtDcmVhdGVOb2Rlc09wdGlvbnMsXG4gIEJ1bGtDcmVhdGVFZGdlc09wdGlvbnMsXG4gIEJ1bGtJbXBvcnRPcHRpb25zLFxuICBCdWxrSW1wb3J0U2Vzc2lvbixcbiAgQ2hlY2twb2ludFJlc3VsdCxcbiAgRW5kQnVsa0ltcG9ydFJlc3VsdCxcbiAgQWJvcnRCdWxrSW1wb3J0UmVzdWx0LFxuICBCdWxrSW1wb3J0U3RhdHVzLFxuICBTY2hlbWEsXG4gIFByb3BlcnR5RGVmLFxuICBIZWFkZXIsXG4gIFRhYmxlLFxuICBBdHRyLFxufSBmcm9tICcuL3R5cGVzJztcblxuLy8gUmVzcG9uc2VcbmV4cG9ydCB7XG4gIFJlc3BvbnNlLFxuICBSb3csXG4gIEluc2VydE5vZGVzUmVzdWx0LFxuICBJbnNlcnRFZGdlc1Jlc3VsdCxcbiAgRGVsZXRlUmVzdWx0LFxuICBFeHBvcnROb2Rlc1Jlc3VsdCxcbiAgRXhwb3J0RWRnZXNSZXN1bHQsXG4gIE5vZGUsXG4gIEVkZ2UsXG4gIFBhdGgsXG4gIE5vZGVSZXN1bHQsXG4gIEVkZ2VSZXN1bHQsXG59IGZyb20gJy4vcmVzcG9uc2UnO1xuXG4vLyBQcmludGVyc1xuZXhwb3J0IHtcbiAgcHJpbnROb2RlcyxcbiAgcHJpbnROb2Rlc1dpdGhvdXRTY2hlbWEsXG4gIHByaW50RWRnZXMsXG4gIHByaW50RWRnZXNXaXRob3V0U2NoZW1hLFxuICBwcmludFBhdGhzLFxuICBwcmludFRhYmxlLFxuICBwcmludEFueSxcbn0gZnJvbSAnLi9wcmludGVycyc7XG5cbi8vIFNlc3Npb25cbmV4cG9ydCB7IFNlc3Npb24sIFNlc3Npb25NYW5hZ2VyIH0gZnJvbSAnLi9zZXNzaW9uJztcblxuLy8gVHJhbnNhY3Rpb25cbmV4cG9ydCB7IFRyYW5zYWN0aW9uLCBUcmFuc2FjdGlvbk1hbmFnZXIgfSBmcm9tICcuL3RyYW5zYWN0aW9uJztcblxuLy8gQ29ubmVjdGlvblxuZXhwb3J0IHsgQ29ubmVjdGlvblBvb2wgfSBmcm9tICcuL2Nvbm5lY3Rpb24nO1xuXG4vLyBTZXJ2aWNlc1xuZXhwb3J0IHsgY3JlYXRlU2VydmljZUNsaWVudHMsIFNlcnZpY2VDbGllbnRzLCBwcm9taXNpZnlDYWxsLCBwcm9taXNpZnlDYWxsV2l0aERlYWRsaW5lIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbi8vIEVycm9yc1xuZXhwb3J0IHtcbiAgR3FsZGJFcnJvcixcbiAgTm9Ib3N0c0Vycm9yLFxuICBJbnZhbGlkVGltZW91dEVycm9yLFxuICBOb0Nvbm5lY3Rpb25FcnJvcixcbiAgQ29ubmVjdGlvbkNsb3NlZEVycm9yLFxuICBDb25uZWN0aW9uRmFpbGVkRXJyb3IsXG4gIEFsbEhvc3RzRmFpbGVkRXJyb3IsXG4gIEhlYWx0aENoZWNrRmFpbGVkRXJyb3IsXG4gIE5vdExvZ2dlZEluRXJyb3IsXG4gIExvZ2luRmFpbGVkRXJyb3IsXG4gIExvZ291dEZhaWxlZEVycm9yLFxuICBTZXNzaW9uRXhwaXJlZEVycm9yLFxuICBJbnZhbGlkU2Vzc2lvbkVycm9yLFxuICBOb1RyYW5zYWN0aW9uRXJyb3IsXG4gIFRyYW5zYWN0aW9uRmFpbGVkRXJyb3IsXG4gIFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvcixcbiAgVHJhbnNhY3Rpb25BbHJlYWR5T3BlbkVycm9yLFxuICBRdWVyeUZhaWxlZEVycm9yLFxuICBRdWVyeVRpbWVvdXRFcnJvcixcbiAgSW52YWxpZFF1ZXJ5RXJyb3IsXG4gIEVtcHR5UXVlcnlFcnJvcixcbiAgR3JhcGhOb3RGb3VuZEVycm9yLFxuICBHcmFwaEV4aXN0c0Vycm9yLFxuICBDcmVhdGVHcmFwaEZhaWxlZEVycm9yLFxuICBEcm9wR3JhcGhGYWlsZWRFcnJvcixcbiAgSW5zZXJ0RmFpbGVkRXJyb3IsXG4gIERlbGV0ZUZhaWxlZEVycm9yLFxuICBFeHBvcnRGYWlsZWRFcnJvcixcbiAgSW52YWxpZFR5cGVFcnJvcixcbiAgVHlwZUNvbnZlcnNpb25FcnJvcixcbiAgVW5zdXBwb3J0ZWRUeXBlRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuLy8gVmVyc2lvblxuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnMC4xLjAnO1xuIl19