@bitgo-beta/sdk-coin-sui 3.0.3-beta.21 → 3.0.3-beta.211

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.
Files changed (57) hide show
  1. package/.mocharc.yml +1 -2
  2. package/CHANGELOG.md +324 -0
  3. package/dist/src/lib/compareTransactionBlocks.d.ts +8 -0
  4. package/dist/src/lib/compareTransactionBlocks.d.ts.map +1 -0
  5. package/dist/src/lib/compareTransactionBlocks.js +13 -0
  6. package/dist/src/lib/constants.d.ts +1 -0
  7. package/dist/src/lib/constants.d.ts.map +1 -1
  8. package/dist/src/lib/constants.js +3 -2
  9. package/dist/src/lib/customTransaction.d.ts +57 -0
  10. package/dist/src/lib/customTransaction.d.ts.map +1 -0
  11. package/dist/src/lib/customTransaction.js +159 -0
  12. package/dist/src/lib/customTransactionBuilder.d.ts +46 -0
  13. package/dist/src/lib/customTransactionBuilder.d.ts.map +1 -0
  14. package/dist/src/lib/customTransactionBuilder.js +117 -0
  15. package/dist/src/lib/iface.d.ts +22 -4
  16. package/dist/src/lib/iface.d.ts.map +1 -1
  17. package/dist/src/lib/iface.js +14 -1
  18. package/dist/src/lib/index.d.ts +2 -0
  19. package/dist/src/lib/index.d.ts.map +1 -1
  20. package/dist/src/lib/index.js +6 -2
  21. package/dist/src/lib/mystenlab/builder/Inputs.d.ts.map +1 -1
  22. package/dist/src/lib/mystenlab/builder/Inputs.js +1 -1
  23. package/dist/src/lib/mystenlab/builder/TransactionBlock.js +33 -35
  24. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts +2 -0
  25. package/dist/src/lib/mystenlab/framework/sui-system-state.d.ts.map +1 -1
  26. package/dist/src/lib/mystenlab/framework/sui-system-state.js +5 -2
  27. package/dist/src/lib/mystenlab/types/coin.d.ts +4 -4
  28. package/dist/src/lib/mystenlab/types/events.d.ts +12 -12
  29. package/dist/src/lib/mystenlab/types/objects.d.ts +49 -49
  30. package/dist/src/lib/mystenlab/types/sui-bcs.d.ts.map +1 -1
  31. package/dist/src/lib/mystenlab/types/sui-bcs.js +2 -2
  32. package/dist/src/lib/mystenlab/types/transactions.d.ts +76 -76
  33. package/dist/src/lib/mystenlab/types/validator.d.ts +4 -4
  34. package/dist/src/lib/stakingBuilder.d.ts +3 -3
  35. package/dist/src/lib/stakingBuilder.d.ts.map +1 -1
  36. package/dist/src/lib/stakingBuilder.js +28 -25
  37. package/dist/src/lib/stakingTransaction.d.ts +1 -0
  38. package/dist/src/lib/stakingTransaction.d.ts.map +1 -1
  39. package/dist/src/lib/stakingTransaction.js +9 -12
  40. package/dist/src/lib/transaction.d.ts +2 -0
  41. package/dist/src/lib/transaction.d.ts.map +1 -1
  42. package/dist/src/lib/transaction.js +19 -2
  43. package/dist/src/lib/transactionBuilderFactory.d.ts +4 -1
  44. package/dist/src/lib/transactionBuilderFactory.d.ts.map +1 -1
  45. package/dist/src/lib/transactionBuilderFactory.js +11 -1
  46. package/dist/src/lib/transferTransaction.d.ts +1 -0
  47. package/dist/src/lib/transferTransaction.d.ts.map +1 -1
  48. package/dist/src/lib/unstakingBuilder.d.ts +8 -1
  49. package/dist/src/lib/unstakingBuilder.d.ts.map +1 -1
  50. package/dist/src/lib/unstakingBuilder.js +95 -16
  51. package/dist/src/lib/unstakingTransaction.d.ts +26 -1
  52. package/dist/src/lib/unstakingTransaction.d.ts.map +1 -1
  53. package/dist/src/lib/unstakingTransaction.js +146 -21
  54. package/dist/src/lib/utils.d.ts +14 -4
  55. package/dist/src/lib/utils.d.ts.map +1 -1
  56. package/dist/src/lib/utils.js +84 -14
  57. package/package.json +13 -10
@@ -163,27 +163,27 @@ export declare const SuiObjectData: import("superstruct").Struct<{
163
163
  initial_shared_version: number;
164
164
  };
165
165
  } | "Immutable" | undefined;
166
- bcs?: {
166
+ content?: {
167
167
  type: string;
168
168
  fields: Record<string, any>;
169
169
  hasPublicTransfer: boolean;
170
170
  dataType: "moveObject";
171
171
  } | {
172
- id: string;
172
+ disassembled: Record<string, string>;
173
173
  dataType: "package";
174
- moduleMap: Record<string, string>;
175
174
  } | undefined;
176
- storageRebate?: number | undefined;
177
- previousTransaction?: string | undefined;
178
- content?: {
175
+ bcs?: {
179
176
  type: string;
180
177
  fields: Record<string, any>;
181
178
  hasPublicTransfer: boolean;
182
179
  dataType: "moveObject";
183
180
  } | {
184
- disassembled: Record<string, string>;
181
+ id: string;
185
182
  dataType: "package";
183
+ moduleMap: Record<string, string>;
186
184
  } | undefined;
185
+ previousTransaction?: string | undefined;
186
+ storageRebate?: number | undefined;
187
187
  display?: Record<string, string> | undefined;
188
188
  }, {
189
189
  objectId: import("superstruct").Struct<string, null>;
@@ -347,27 +347,27 @@ export declare const SuiObjectResponse: import("superstruct").Struct<{
347
347
  initial_shared_version: number;
348
348
  };
349
349
  } | "Immutable" | undefined;
350
- bcs?: {
350
+ content?: {
351
351
  type: string;
352
352
  fields: Record<string, any>;
353
353
  hasPublicTransfer: boolean;
354
354
  dataType: "moveObject";
355
355
  } | {
356
- id: string;
356
+ disassembled: Record<string, string>;
357
357
  dataType: "package";
358
- moduleMap: Record<string, string>;
359
358
  } | undefined;
360
- storageRebate?: number | undefined;
361
- previousTransaction?: string | undefined;
362
- content?: {
359
+ bcs?: {
363
360
  type: string;
364
361
  fields: Record<string, any>;
365
362
  hasPublicTransfer: boolean;
366
363
  dataType: "moveObject";
367
364
  } | {
368
- disassembled: Record<string, string>;
365
+ id: string;
369
366
  dataType: "package";
367
+ moduleMap: Record<string, string>;
370
368
  } | undefined;
369
+ previousTransaction?: string | undefined;
370
+ storageRebate?: number | undefined;
371
371
  display?: Record<string, string> | undefined;
372
372
  } | undefined;
373
373
  error?: {
@@ -391,27 +391,27 @@ export declare const SuiObjectResponse: import("superstruct").Struct<{
391
391
  initial_shared_version: number;
392
392
  };
393
393
  } | "Immutable" | undefined;
394
- bcs?: {
394
+ content?: {
395
395
  type: string;
396
396
  fields: Record<string, any>;
397
397
  hasPublicTransfer: boolean;
398
398
  dataType: "moveObject";
399
399
  } | {
400
- id: string;
400
+ disassembled: Record<string, string>;
401
401
  dataType: "package";
402
- moduleMap: Record<string, string>;
403
402
  } | undefined;
404
- storageRebate?: number | undefined;
405
- previousTransaction?: string | undefined;
406
- content?: {
403
+ bcs?: {
407
404
  type: string;
408
405
  fields: Record<string, any>;
409
406
  hasPublicTransfer: boolean;
410
407
  dataType: "moveObject";
411
408
  } | {
412
- disassembled: Record<string, string>;
409
+ id: string;
413
410
  dataType: "package";
411
+ moduleMap: Record<string, string>;
414
412
  } | undefined;
413
+ previousTransaction?: string | undefined;
414
+ storageRebate?: number | undefined;
415
415
  display?: Record<string, string> | undefined;
416
416
  } | undefined, {
417
417
  objectId: import("superstruct").Struct<string, null>;
@@ -542,27 +542,27 @@ export declare const PaginatedObjectsResponse: import("superstruct").Struct<{
542
542
  initial_shared_version: number;
543
543
  };
544
544
  } | "Immutable" | undefined;
545
- bcs?: {
545
+ content?: {
546
546
  type: string;
547
547
  fields: Record<string, any>;
548
548
  hasPublicTransfer: boolean;
549
549
  dataType: "moveObject";
550
550
  } | {
551
- id: string;
551
+ disassembled: Record<string, string>;
552
552
  dataType: "package";
553
- moduleMap: Record<string, string>;
554
553
  } | undefined;
555
- storageRebate?: number | undefined;
556
- previousTransaction?: string | undefined;
557
- content?: {
554
+ bcs?: {
558
555
  type: string;
559
556
  fields: Record<string, any>;
560
557
  hasPublicTransfer: boolean;
561
558
  dataType: "moveObject";
562
559
  } | {
563
- disassembled: Record<string, string>;
560
+ id: string;
564
561
  dataType: "package";
562
+ moduleMap: Record<string, string>;
565
563
  } | undefined;
564
+ previousTransaction?: string | undefined;
565
+ storageRebate?: number | undefined;
566
566
  display?: Record<string, string> | undefined;
567
567
  } | undefined;
568
568
  error?: {
@@ -593,27 +593,27 @@ export declare const PaginatedObjectsResponse: import("superstruct").Struct<{
593
593
  initial_shared_version: number;
594
594
  };
595
595
  } | "Immutable" | undefined;
596
- bcs?: {
596
+ content?: {
597
597
  type: string;
598
598
  fields: Record<string, any>;
599
599
  hasPublicTransfer: boolean;
600
600
  dataType: "moveObject";
601
601
  } | {
602
- id: string;
602
+ disassembled: Record<string, string>;
603
603
  dataType: "package";
604
- moduleMap: Record<string, string>;
605
604
  } | undefined;
606
- storageRebate?: number | undefined;
607
- previousTransaction?: string | undefined;
608
- content?: {
605
+ bcs?: {
609
606
  type: string;
610
607
  fields: Record<string, any>;
611
608
  hasPublicTransfer: boolean;
612
609
  dataType: "moveObject";
613
610
  } | {
614
- disassembled: Record<string, string>;
611
+ id: string;
615
612
  dataType: "package";
613
+ moduleMap: Record<string, string>;
616
614
  } | undefined;
615
+ previousTransaction?: string | undefined;
616
+ storageRebate?: number | undefined;
617
617
  display?: Record<string, string> | undefined;
618
618
  } | undefined;
619
619
  error?: {
@@ -637,27 +637,27 @@ export declare const PaginatedObjectsResponse: import("superstruct").Struct<{
637
637
  initial_shared_version: number;
638
638
  };
639
639
  } | "Immutable" | undefined;
640
- bcs?: {
640
+ content?: {
641
641
  type: string;
642
642
  fields: Record<string, any>;
643
643
  hasPublicTransfer: boolean;
644
644
  dataType: "moveObject";
645
645
  } | {
646
- id: string;
646
+ disassembled: Record<string, string>;
647
647
  dataType: "package";
648
- moduleMap: Record<string, string>;
649
648
  } | undefined;
650
- storageRebate?: number | undefined;
651
- previousTransaction?: string | undefined;
652
- content?: {
649
+ bcs?: {
653
650
  type: string;
654
651
  fields: Record<string, any>;
655
652
  hasPublicTransfer: boolean;
656
653
  dataType: "moveObject";
657
654
  } | {
658
- disassembled: Record<string, string>;
655
+ id: string;
659
656
  dataType: "package";
657
+ moduleMap: Record<string, string>;
660
658
  } | undefined;
659
+ previousTransaction?: string | undefined;
660
+ storageRebate?: number | undefined;
661
661
  display?: Record<string, string> | undefined;
662
662
  } | undefined;
663
663
  error?: {
@@ -681,27 +681,27 @@ export declare const PaginatedObjectsResponse: import("superstruct").Struct<{
681
681
  initial_shared_version: number;
682
682
  };
683
683
  } | "Immutable" | undefined;
684
- bcs?: {
684
+ content?: {
685
685
  type: string;
686
686
  fields: Record<string, any>;
687
687
  hasPublicTransfer: boolean;
688
688
  dataType: "moveObject";
689
689
  } | {
690
- id: string;
690
+ disassembled: Record<string, string>;
691
691
  dataType: "package";
692
- moduleMap: Record<string, string>;
693
692
  } | undefined;
694
- storageRebate?: number | undefined;
695
- previousTransaction?: string | undefined;
696
- content?: {
693
+ bcs?: {
697
694
  type: string;
698
695
  fields: Record<string, any>;
699
696
  hasPublicTransfer: boolean;
700
697
  dataType: "moveObject";
701
698
  } | {
702
- disassembled: Record<string, string>;
699
+ id: string;
703
700
  dataType: "package";
701
+ moduleMap: Record<string, string>;
704
702
  } | undefined;
703
+ previousTransaction?: string | undefined;
704
+ storageRebate?: number | undefined;
705
705
  display?: Record<string, string> | undefined;
706
706
  } | undefined, {
707
707
  objectId: import("superstruct").Struct<string, null>;
@@ -1 +1 @@
1
- {"version":3,"file":"sui-bcs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/sui-bcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA8D,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAiBzC;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS,GAAG;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF;;GAEG;AACH,oBAAY,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oBAAY,OAAO,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,oBAAY,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,oBAAY,OAAO,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAInB;;GAEG;AACH,oBAAY,OAAO,GAAG;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,oBAAY,qBAAqB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkGvE,QAAA,MAAM,GAAG,KAAsD,CAAC;AAGhE,OAAO,EAAE,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"sui-bcs.d.ts","sourceRoot":"","sources":["../../../../../src/lib/mystenlab/types/sui-bcs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAA8D,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAgBzC;;GAEG;AACH,oBAAY,eAAe,GAAG;IAC5B,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IAEjB,2CAA2C;IAC3C,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtC,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,oBAAY,SAAS,GAAG;IAAE,UAAU,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,CAAC;AAEnF;;GAEG;AACH,oBAAY,OAAO,GAAG;IAAE,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElD,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,oBAAY,OAAO,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC;AAEtD;;GAEG;AACH,oBAAY,SAAS,GAAG;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,oBAAY,OAAO,GACf;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAChB;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GACnB;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GACrB;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,GAAG,EAAE,IAAI,CAAA;CAAE,GACb;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC;AAInB;;GAEG;AACH,oBAAY,OAAO,GAAG;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;GAIG;AACH,oBAAY,qBAAqB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAkGvE,QAAA,MAAM,GAAG,KAAsD,CAAC;AAGhE,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -7,7 +7,7 @@ function registerUTF8String(bcs) {
7
7
  const bytes = Array.from(new TextEncoder().encode(str));
8
8
  return writer.writeVec(bytes, (writer, el) => writer.write8(el));
9
9
  }, (reader) => {
10
- let bytes = reader.readVec((reader) => reader.read8());
10
+ const bytes = reader.readVec((reader) => reader.read8());
11
11
  return new TextDecoder().decode(new Uint8Array(bytes));
12
12
  });
13
13
  }
@@ -104,4 +104,4 @@ const BCS_SPEC = {
104
104
  const bcs = new bcs_1.BCS({ ...bcs_1.getSuiMoveConfig(), types: BCS_SPEC });
105
105
  exports.bcs = bcs;
106
106
  registerUTF8String(bcs);
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VpLWJjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL3N1aS1iY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQThGO0FBSTlGLFNBQVMsa0JBQWtCLENBQUMsR0FBUTtJQUNsQyxHQUFHLENBQUMsWUFBWSxDQUNkLFlBQVksRUFDWixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNkLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsRUFDRCxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ1QsSUFBSSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQTBCRCxTQUFnQixTQUFTLENBQUMsR0FBUTtJQUNoQyxPQUFRLEdBQWUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzdDLENBQUM7QUFGRCw4QkFFQztBQXdFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBU3hCLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixNQUFNLEVBQUUsU0FBRyxDQUFDLE9BQU87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ZywgU3RydWN0VHlwZURlZmluaXRpb24gfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQgeyBTdWlPYmplY3RSZWYgfSBmcm9tICcuL29iamVjdHMnO1xuaW1wb3J0IHsgUHVyZUNhbGxBcmcgfSBmcm9tICcuLi9idWlsZGVyJztcblxuZnVuY3Rpb24gcmVnaXN0ZXJVVEY4U3RyaW5nKGJjczogQkNTKSB7XG4gIGJjcy5yZWdpc3RlclR5cGUoXG4gICAgJ3V0ZjhzdHJpbmcnLFxuICAgICh3cml0ZXIsIHN0cikgPT4ge1xuICAgICAgY29uc3QgYnl0ZXMgPSBBcnJheS5mcm9tKG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShzdHIpKTtcbiAgICAgIHJldHVybiB3cml0ZXIud3JpdGVWZWMoYnl0ZXMsICh3cml0ZXIsIGVsKSA9PiB3cml0ZXIud3JpdGU4KGVsKSk7XG4gICAgfSxcbiAgICAocmVhZGVyKSA9PiB7XG4gICAgICBsZXQgYnl0ZXMgPSByZWFkZXIucmVhZFZlYygocmVhZGVyKSA9PiByZWFkZXIucmVhZDgoKSk7XG4gICAgICByZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKG5ldyBVaW50OEFycmF5KGJ5dGVzKSk7XG4gICAgfVxuICApO1xufVxuXG4vKipcbiAqIEEgcmVmZXJlbmNlIHRvIGEgc2hhcmVkIG9iamVjdC5cbiAqL1xuZXhwb3J0IHR5cGUgU2hhcmVkT2JqZWN0UmVmID0ge1xuICAvKiogSGV4IGNvZGUgYXMgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgb2JqZWN0IGlkICovXG4gIG9iamVjdElkOiBzdHJpbmc7XG5cbiAgLyoqIFRoZSB2ZXJzaW9uIHRoZSBvYmplY3Qgd2FzIHNoYXJlZCBhdCAqL1xuICBpbml0aWFsU2hhcmVkVmVyc2lvbjogbnVtYmVyIHwgc3RyaW5nO1xuXG4gIC8qKiBXaGV0aGVyIHJlZmVyZW5jZSBpcyBtdXRhYmxlICovXG4gIG11dGFibGU6IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEFuIG9iamVjdCBhcmd1bWVudC5cbiAqL1xuZXhwb3J0IHR5cGUgT2JqZWN0QXJnID0geyBJbW1Pck93bmVkOiBTdWlPYmplY3RSZWYgfSB8IHsgU2hhcmVkOiBTaGFyZWRPYmplY3RSZWYgfTtcblxuLyoqXG4gKiBBIHB1cmUgYXJndW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIFB1cmVBcmcgPSB7IFB1cmU6IEFycmF5TGlrZTxudW1iZXI+IH07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1B1cmVBcmcoYXJnOiBhbnkpOiBhcmcgaXMgUHVyZUFyZyB7XG4gIHJldHVybiAoYXJnIGFzIFB1cmVBcmcpLlB1cmUgIT09IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBBbiBhcmd1bWVudCBmb3IgdGhlIHRyYW5zYWN0aW9uLiBJdCBpcyBhICdtZWFudCcgZW51bSB3aGljaCBleHBlY3RzIHRvIGhhdmVcbiAqIG9uZSBvZiB0aGUgb3B0aW9uYWwgcHJvcGVydGllcy4gSWYgbm90LCB0aGUgQkNTIGVycm9yIHdpbGwgYmUgdGhyb3duIHdoaWxlXG4gKiBhdHRlbXB0aW5nIHRvIGZvcm0gYSB0cmFuc2FjdGlvbi5cbiAqXG4gKiBFeGFtcGxlOlxuICogYGBganNcbiAqIGxldCBhcmcxOiBDYWxsQXJnID0geyBPYmplY3Q6IHsgU2hhcmVkOiB7XG4gKiAgIG9iamVjdElkOiAnNTQ2MGNmOTJiNWUzZTcwNjdhYWFjZTYwZDg4MzI0MDk1ZmQyMjk0NCcsXG4gKiAgIGluaXRpYWxTaGFyZWRWZXJzaW9uOiAxLFxuICogICBtdXRhYmxlOiB0cnVlLFxuICogfSB9IH07XG4gKiBsZXQgYXJnMjogQ2FsbEFyZyA9IHsgUHVyZTogYmNzLnNlcihCQ1MuU1RSSU5HLCAxMDAwMDApLnRvQnl0ZXMoKSB9O1xuICogbGV0IGFyZzM6IENhbGxBcmcgPSB7IE9iamVjdDogeyBJbW1Pck93bmVkOiB7XG4gKiAgIG9iamVjdElkOiAnNDA0N2QyZTI1MjExZDg3OTIyYjY2NTAyMzNiZDA1MDNhNjczNDI3OScsXG4gKiAgIHZlcnNpb246IDEsXG4gKiAgIGRpZ2VzdDogJ2JDaUFOQ2h0NE85TUVVaHVZamRSQ3FSUFpqcjJySjhNZnFOaXd5aG1SZ0E9J1xuICogfSB9IH07XG4gKiBgYGBcbiAqXG4gKiBGb3IgYFB1cmVgIGFyZ3VtZW50cyBCQ1MgaXMgcmVxdWlyZWQuIFlvdSBtdXN0IGVuY29kZSB0aGUgdmFsdWVzIHdpdGggQkNTIGFjY29yZGluZ1xuICogdG8gdGhlIHR5cGUgcmVxdWlyZWQgYnkgdGhlIGNhbGxlZCBmdW5jdGlvbi4gUHVyZSBhY2NlcHRzIG9ubHkgc2VyaWFsaXplZCB2YWx1ZXNcbiAqL1xuZXhwb3J0IHR5cGUgQ2FsbEFyZyA9IFB1cmVBcmcgfCB7IE9iamVjdDogT2JqZWN0QXJnIH07XG5cbi8qKlxuICogS2luZCBvZiBhIFR5cGVUYWcgd2hpY2ggaXMgcmVwcmVzZW50ZWQgYnkgYSBNb3ZlIHR5cGUgaWRlbnRpZmllci5cbiAqL1xuZXhwb3J0IHR5cGUgU3RydWN0VGFnID0ge1xuICBhZGRyZXNzOiBzdHJpbmc7XG4gIG1vZHVsZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGVQYXJhbXM6IFR5cGVUYWdbXTtcbn07XG5cbi8qKlxuICogU3VpIFR5cGVUYWcgb2JqZWN0LiBBIGRlY291cGxlZCBgMHguLi46Om1vZHVsZTo6VHlwZTw/Pz8+YCBwYXJhbWV0ZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFR5cGVUYWcgPVxuICB8IHsgYm9vbDogbnVsbCB9XG4gIHwgeyB1ODogbnVsbCB9XG4gIHwgeyB1NjQ6IG51bGwgfVxuICB8IHsgdTEyODogbnVsbCB9XG4gIHwgeyBhZGRyZXNzOiBudWxsIH1cbiAgfCB7IHNpZ25lcjogbnVsbCB9XG4gIHwgeyB2ZWN0b3I6IFR5cGVUYWcgfVxuICB8IHsgc3RydWN0OiBTdHJ1Y3RUYWcgfVxuICB8IHsgdTE2OiBudWxsIH1cbiAgfCB7IHUzMjogbnVsbCB9XG4gIHwgeyB1MjU2OiBudWxsIH07XG5cbi8vID09PT09PT09PT0gVHJhbnNhY3Rpb25EYXRhID09PT09PT09PT09XG5cbi8qKlxuICogVGhlIEdhc0RhdGEgdG8gYmUgdXNlZCBpbiB0aGUgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIEdhc0RhdGEgPSB7XG4gIHBheW1lbnQ6IFN1aU9iamVjdFJlZltdO1xuICBvd25lcjogc3RyaW5nOyAvLyBHYXMgT2JqZWN0J3Mgb3duZXJcbiAgcHJpY2U6IG51bWJlcjtcbiAgYnVkZ2V0OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIFRyYW5zYWN0aW9uRXhwaXJhdGlvblxuICpcbiAqIEluZGljYXRpb25zIHRoZSBleHBpcmF0aW9uIHRpbWUgZm9yIGEgdHJhbnNhY3Rpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFRyYW5zYWN0aW9uRXhwaXJhdGlvbiA9IHsgTm9uZTogbnVsbCB9IHwgeyBFcG9jaDogbnVtYmVyIH07XG5cbi8vIE1vdmUgbmFtZSBvZiB0aGUgVmVjdG9yIHR5cGUuXG5jb25zdCBWRUNUT1IgPSAndmVjdG9yJztcblxuLy8gSW1wb3J0ZWQgdG8gZXhwbGljaXRseSB0ZWxsIHR5cGVzY3JpcHQgdGhhdCB0eXBlcyBtYXRjaFxudHlwZSBUeXBlU2NoZW1hID0ge1xuICBzdHJ1Y3RzPzogeyBba2V5OiBzdHJpbmddOiBTdHJ1Y3RUeXBlRGVmaW5pdGlvbiB9O1xuICBlbnVtcz86IHsgW2tleTogc3RyaW5nXTogRW51bVR5cGVEZWZpbml0aW9uIH07XG4gIGFsaWFzZXM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufTtcblxuY29uc3QgVHJhbnNhY3Rpb25EYXRhVjEgPSB7XG4gIGtpbmQ6ICdUcmFuc2FjdGlvbktpbmQnLFxuICBzZW5kZXI6IEJDUy5BRERSRVNTLFxuICBnYXNEYXRhOiAnR2FzRGF0YScsXG4gIGV4cGlyYXRpb246ICdUcmFuc2FjdGlvbkV4cGlyYXRpb24nLFxufTtcblxuY29uc3QgQkNTX1NQRUM6IFR5cGVTY2hlbWEgPSB7XG4gIGVudW1zOiB7XG4gICAgJ09wdGlvbjxUPic6IHtcbiAgICAgIE5vbmU6IG51bGwsXG4gICAgICBTb21lOiAnVCcsXG4gICAgfSxcbiAgICBPYmplY3RBcmc6IHtcbiAgICAgIEltbU9yT3duZWQ6ICdTdWlPYmplY3RSZWYnLFxuICAgICAgU2hhcmVkOiAnU2hhcmVkT2JqZWN0UmVmJyxcbiAgICB9LFxuICAgIENhbGxBcmc6IHtcbiAgICAgIFB1cmU6IFtWRUNUT1IsIEJDUy5VOF0sXG4gICAgICBPYmplY3Q6ICdPYmplY3RBcmcnLFxuICAgICAgT2JqVmVjOiBbVkVDVE9SLCAnT2JqZWN0QXJnJ10sXG4gICAgfSxcbiAgICBUeXBlVGFnOiB7XG4gICAgICBib29sOiBudWxsLFxuICAgICAgdTg6IG51bGwsXG4gICAgICB1NjQ6IG51bGwsXG4gICAgICB1MTI4OiBudWxsLFxuICAgICAgYWRkcmVzczogbnVsbCxcbiAgICAgIHNpZ25lcjogbnVsbCxcbiAgICAgIHZlY3RvcjogJ1R5cGVUYWcnLFxuICAgICAgc3RydWN0OiAnU3RydWN0VGFnJyxcbiAgICAgIHUxNjogbnVsbCxcbiAgICAgIHUzMjogbnVsbCxcbiAgICAgIHUyNTY6IG51bGwsXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbktpbmQ6IHtcbiAgICAgIC8vIGNhbiBub3QgYmUgY2FsbGVkIGZyb20gc3VpLmpzOyBkdW1teSBwbGFjZW1lbnRcbiAgICAgIC8vIHRvIHNldCB0aGUgZW51bSBjb3VudGVyIHJpZ2h0IGZvciBQcm9ncmFtbWFibGVUcmFuc2FjdFxuICAgICAgUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb246ICdQcm9ncmFtbWFibGVUcmFuc2FjdGlvbicsXG4gICAgICBDaGFuZ2VFcG9jaDogbnVsbCxcbiAgICAgIEdlbmVzaXM6IG51bGwsXG4gICAgICBDb25zZW5zdXNDb21taXRQcm9sb2d1ZTogbnVsbCxcbiAgICB9LFxuICAgIFRyYW5zYWN0aW9uRXhwaXJhdGlvbjoge1xuICAgICAgTm9uZTogbnVsbCxcbiAgICAgIEVwb2NoOiBCQ1MuVTY0LFxuICAgIH0sXG4gICAgVHJhbnNhY3Rpb25EYXRhOiB7XG4gICAgICBWMTogJ1RyYW5zYWN0aW9uRGF0YVYxJyxcbiAgICB9LFxuICB9LFxuICBzdHJ1Y3RzOiB7XG4gICAgU3VpT2JqZWN0UmVmOiB7XG4gICAgICBvYmplY3RJZDogQkNTLkFERFJFU1MsXG4gICAgICB2ZXJzaW9uOiBCQ1MuVTY0LFxuICAgICAgZGlnZXN0OiAnT2JqZWN0RGlnZXN0JyxcbiAgICB9LFxuICAgIFNoYXJlZE9iamVjdFJlZjoge1xuICAgICAgb2JqZWN0SWQ6IEJDUy5BRERSRVNTLFxuICAgICAgaW5pdGlhbFNoYXJlZFZlcnNpb246IEJDUy5VNjQsXG4gICAgICBtdXRhYmxlOiBCQ1MuQk9PTCxcbiAgICB9LFxuICAgIFN0cnVjdFRhZzoge1xuICAgICAgYWRkcmVzczogQkNTLkFERFJFU1MsXG4gICAgICBtb2R1bGU6IEJDUy5TVFJJTkcsXG4gICAgICBuYW1lOiBCQ1MuU1RSSU5HLFxuICAgICAgdHlwZVBhcmFtczogW1ZFQ1RPUiwgJ1R5cGVUYWcnXSxcbiAgICB9LFxuICAgIEdhc0RhdGE6IHtcbiAgICAgIHBheW1lbnQ6IFtWRUNUT1IsICdTdWlPYmplY3RSZWYnXSxcbiAgICAgIG93bmVyOiBCQ1MuQUREUkVTUyxcbiAgICAgIHByaWNlOiBCQ1MuVTY0LFxuICAgICAgYnVkZ2V0OiBCQ1MuVTY0LFxuICAgIH0sXG4gICAgLy8gU2lnbmVkIHRyYW5zYWN0aW9uIGRhdGEgbmVlZGVkIHRvIGdlbmVyYXRlIHRyYW5zYWN0aW9uIGRpZ2VzdC5cbiAgICBTZW5kZXJTaWduZWREYXRhOiB7XG4gICAgICBkYXRhOiAnVHJhbnNhY3Rpb25EYXRhJyxcbiAgICAgIHR4U2lnbmF0dXJlczogW1ZFQ1RPUiwgW1ZFQ1RPUiwgQkNTLlU4XV0sXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbkRhdGFWMSxcbiAgfSxcbiAgYWxpYXNlczoge1xuICAgIE9iamVjdERpZ2VzdDogQkNTLkJBU0U1OCxcbiAgfSxcbn07XG5cbmNvbnN0IGJjcyA9IG5ldyBCQ1MoeyAuLi5nZXRTdWlNb3ZlQ29uZmlnKCksIHR5cGVzOiBCQ1NfU1BFQyB9KTtcbnJlZ2lzdGVyVVRGOFN0cmluZyhiY3MpO1xuXG5leHBvcnQgeyBiY3MgfTtcbiJdfQ==
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VpLWJjcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvbXlzdGVubGFiL3R5cGVzL3N1aS1iY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQThGO0FBRzlGLFNBQVMsa0JBQWtCLENBQUMsR0FBUTtJQUNsQyxHQUFHLENBQUMsWUFBWSxDQUNkLFlBQVksRUFDWixDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFBRTtRQUNkLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ25FLENBQUMsRUFDRCxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ1QsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsT0FBTyxJQUFJLFdBQVcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3pELENBQUMsQ0FDRixDQUFDO0FBQ0osQ0FBQztBQTBCRCxTQUFnQixTQUFTLENBQUMsR0FBUTtJQUNoQyxPQUFRLEdBQWUsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDO0FBQzdDLENBQUM7QUFGRCw4QkFFQztBQXdFRCxnQ0FBZ0M7QUFDaEMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDO0FBU3hCLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixNQUFNLEVBQUUsU0FBRyxDQUFDLE9BQU87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ZywgU3RydWN0VHlwZURlZmluaXRpb24gfSBmcm9tICdAbXlzdGVuL2Jjcyc7XG5pbXBvcnQgeyBTdWlPYmplY3RSZWYgfSBmcm9tICcuL29iamVjdHMnO1xuXG5mdW5jdGlvbiByZWdpc3RlclVURjhTdHJpbmcoYmNzOiBCQ1MpIHtcbiAgYmNzLnJlZ2lzdGVyVHlwZShcbiAgICAndXRmOHN0cmluZycsXG4gICAgKHdyaXRlciwgc3RyKSA9PiB7XG4gICAgICBjb25zdCBieXRlcyA9IEFycmF5LmZyb20obmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHN0cikpO1xuICAgICAgcmV0dXJuIHdyaXRlci53cml0ZVZlYyhieXRlcywgKHdyaXRlciwgZWwpID0+IHdyaXRlci53cml0ZTgoZWwpKTtcbiAgICB9LFxuICAgIChyZWFkZXIpID0+IHtcbiAgICAgIGNvbnN0IGJ5dGVzID0gcmVhZGVyLnJlYWRWZWMoKHJlYWRlcikgPT4gcmVhZGVyLnJlYWQ4KCkpO1xuICAgICAgcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuZXcgVWludDhBcnJheShieXRlcykpO1xuICAgIH1cbiAgKTtcbn1cblxuLyoqXG4gKiBBIHJlZmVyZW5jZSB0byBhIHNoYXJlZCBvYmplY3QuXG4gKi9cbmV4cG9ydCB0eXBlIFNoYXJlZE9iamVjdFJlZiA9IHtcbiAgLyoqIEhleCBjb2RlIGFzIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIG9iamVjdCBpZCAqL1xuICBvYmplY3RJZDogc3RyaW5nO1xuXG4gIC8qKiBUaGUgdmVyc2lvbiB0aGUgb2JqZWN0IHdhcyBzaGFyZWQgYXQgKi9cbiAgaW5pdGlhbFNoYXJlZFZlcnNpb246IG51bWJlciB8IHN0cmluZztcblxuICAvKiogV2hldGhlciByZWZlcmVuY2UgaXMgbXV0YWJsZSAqL1xuICBtdXRhYmxlOiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBBbiBvYmplY3QgYXJndW1lbnQuXG4gKi9cbmV4cG9ydCB0eXBlIE9iamVjdEFyZyA9IHsgSW1tT3JPd25lZDogU3VpT2JqZWN0UmVmIH0gfCB7IFNoYXJlZDogU2hhcmVkT2JqZWN0UmVmIH07XG5cbi8qKlxuICogQSBwdXJlIGFyZ3VtZW50LlxuICovXG5leHBvcnQgdHlwZSBQdXJlQXJnID0geyBQdXJlOiBBcnJheUxpa2U8bnVtYmVyPiB9O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQdXJlQXJnKGFyZzogYW55KTogYXJnIGlzIFB1cmVBcmcge1xuICByZXR1cm4gKGFyZyBhcyBQdXJlQXJnKS5QdXJlICE9PSB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQW4gYXJndW1lbnQgZm9yIHRoZSB0cmFuc2FjdGlvbi4gSXQgaXMgYSAnbWVhbnQnIGVudW0gd2hpY2ggZXhwZWN0cyB0byBoYXZlXG4gKiBvbmUgb2YgdGhlIG9wdGlvbmFsIHByb3BlcnRpZXMuIElmIG5vdCwgdGhlIEJDUyBlcnJvciB3aWxsIGJlIHRocm93biB3aGlsZVxuICogYXR0ZW1wdGluZyB0byBmb3JtIGEgdHJhbnNhY3Rpb24uXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYGpzXG4gKiBsZXQgYXJnMTogQ2FsbEFyZyA9IHsgT2JqZWN0OiB7IFNoYXJlZDoge1xuICogICBvYmplY3RJZDogJzU0NjBjZjkyYjVlM2U3MDY3YWFhY2U2MGQ4ODMyNDA5NWZkMjI5NDQnLFxuICogICBpbml0aWFsU2hhcmVkVmVyc2lvbjogMSxcbiAqICAgbXV0YWJsZTogdHJ1ZSxcbiAqIH0gfSB9O1xuICogbGV0IGFyZzI6IENhbGxBcmcgPSB7IFB1cmU6IGJjcy5zZXIoQkNTLlNUUklORywgMTAwMDAwKS50b0J5dGVzKCkgfTtcbiAqIGxldCBhcmczOiBDYWxsQXJnID0geyBPYmplY3Q6IHsgSW1tT3JPd25lZDoge1xuICogICBvYmplY3RJZDogJzQwNDdkMmUyNTIxMWQ4NzkyMmI2NjUwMjMzYmQwNTAzYTY3MzQyNzknLFxuICogICB2ZXJzaW9uOiAxLFxuICogICBkaWdlc3Q6ICdiQ2lBTkNodDRPOU1FVWh1WWpkUkNxUlBaanIycko4TWZxTml3eWhtUmdBPSdcbiAqIH0gfSB9O1xuICogYGBgXG4gKlxuICogRm9yIGBQdXJlYCBhcmd1bWVudHMgQkNTIGlzIHJlcXVpcmVkLiBZb3UgbXVzdCBlbmNvZGUgdGhlIHZhbHVlcyB3aXRoIEJDUyBhY2NvcmRpbmdcbiAqIHRvIHRoZSB0eXBlIHJlcXVpcmVkIGJ5IHRoZSBjYWxsZWQgZnVuY3Rpb24uIFB1cmUgYWNjZXB0cyBvbmx5IHNlcmlhbGl6ZWQgdmFsdWVzXG4gKi9cbmV4cG9ydCB0eXBlIENhbGxBcmcgPSBQdXJlQXJnIHwgeyBPYmplY3Q6IE9iamVjdEFyZyB9O1xuXG4vKipcbiAqIEtpbmQgb2YgYSBUeXBlVGFnIHdoaWNoIGlzIHJlcHJlc2VudGVkIGJ5IGEgTW92ZSB0eXBlIGlkZW50aWZpZXIuXG4gKi9cbmV4cG9ydCB0eXBlIFN0cnVjdFRhZyA9IHtcbiAgYWRkcmVzczogc3RyaW5nO1xuICBtb2R1bGU6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlUGFyYW1zOiBUeXBlVGFnW107XG59O1xuXG4vKipcbiAqIFN1aSBUeXBlVGFnIG9iamVjdC4gQSBkZWNvdXBsZWQgYDB4Li4uOjptb2R1bGU6OlR5cGU8Pz8/PmAgcGFyYW1ldGVyLlxuICovXG5leHBvcnQgdHlwZSBUeXBlVGFnID1cbiAgfCB7IGJvb2w6IG51bGwgfVxuICB8IHsgdTg6IG51bGwgfVxuICB8IHsgdTY0OiBudWxsIH1cbiAgfCB7IHUxMjg6IG51bGwgfVxuICB8IHsgYWRkcmVzczogbnVsbCB9XG4gIHwgeyBzaWduZXI6IG51bGwgfVxuICB8IHsgdmVjdG9yOiBUeXBlVGFnIH1cbiAgfCB7IHN0cnVjdDogU3RydWN0VGFnIH1cbiAgfCB7IHUxNjogbnVsbCB9XG4gIHwgeyB1MzI6IG51bGwgfVxuICB8IHsgdTI1NjogbnVsbCB9O1xuXG4vLyA9PT09PT09PT09IFRyYW5zYWN0aW9uRGF0YSA9PT09PT09PT09PVxuXG4vKipcbiAqIFRoZSBHYXNEYXRhIHRvIGJlIHVzZWQgaW4gdGhlIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBHYXNEYXRhID0ge1xuICBwYXltZW50OiBTdWlPYmplY3RSZWZbXTtcbiAgb3duZXI6IHN0cmluZzsgLy8gR2FzIE9iamVjdCdzIG93bmVyXG4gIHByaWNlOiBudW1iZXI7XG4gIGJ1ZGdldDogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBUcmFuc2FjdGlvbkV4cGlyYXRpb25cbiAqXG4gKiBJbmRpY2F0aW9ucyB0aGUgZXhwaXJhdGlvbiB0aW1lIGZvciBhIHRyYW5zYWN0aW9uLlxuICovXG5leHBvcnQgdHlwZSBUcmFuc2FjdGlvbkV4cGlyYXRpb24gPSB7IE5vbmU6IG51bGwgfSB8IHsgRXBvY2g6IG51bWJlciB9O1xuXG4vLyBNb3ZlIG5hbWUgb2YgdGhlIFZlY3RvciB0eXBlLlxuY29uc3QgVkVDVE9SID0gJ3ZlY3Rvcic7XG5cbi8vIEltcG9ydGVkIHRvIGV4cGxpY2l0bHkgdGVsbCB0eXBlc2NyaXB0IHRoYXQgdHlwZXMgbWF0Y2hcbnR5cGUgVHlwZVNjaGVtYSA9IHtcbiAgc3RydWN0cz86IHsgW2tleTogc3RyaW5nXTogU3RydWN0VHlwZURlZmluaXRpb24gfTtcbiAgZW51bXM/OiB7IFtrZXk6IHN0cmluZ106IEVudW1UeXBlRGVmaW5pdGlvbiB9O1xuICBhbGlhc2VzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn07XG5cbmNvbnN0IFRyYW5zYWN0aW9uRGF0YVYxID0ge1xuICBraW5kOiAnVHJhbnNhY3Rpb25LaW5kJyxcbiAgc2VuZGVyOiBCQ1MuQUREUkVTUyxcbiAgZ2FzRGF0YTogJ0dhc0RhdGEnLFxuICBleHBpcmF0aW9uOiAnVHJhbnNhY3Rpb25FeHBpcmF0aW9uJyxcbn07XG5cbmNvbnN0IEJDU19TUEVDOiBUeXBlU2NoZW1hID0ge1xuICBlbnVtczoge1xuICAgICdPcHRpb248VD4nOiB7XG4gICAgICBOb25lOiBudWxsLFxuICAgICAgU29tZTogJ1QnLFxuICAgIH0sXG4gICAgT2JqZWN0QXJnOiB7XG4gICAgICBJbW1Pck93bmVkOiAnU3VpT2JqZWN0UmVmJyxcbiAgICAgIFNoYXJlZDogJ1NoYXJlZE9iamVjdFJlZicsXG4gICAgfSxcbiAgICBDYWxsQXJnOiB7XG4gICAgICBQdXJlOiBbVkVDVE9SLCBCQ1MuVThdLFxuICAgICAgT2JqZWN0OiAnT2JqZWN0QXJnJyxcbiAgICAgIE9ialZlYzogW1ZFQ1RPUiwgJ09iamVjdEFyZyddLFxuICAgIH0sXG4gICAgVHlwZVRhZzoge1xuICAgICAgYm9vbDogbnVsbCxcbiAgICAgIHU4OiBudWxsLFxuICAgICAgdTY0OiBudWxsLFxuICAgICAgdTEyODogbnVsbCxcbiAgICAgIGFkZHJlc3M6IG51bGwsXG4gICAgICBzaWduZXI6IG51bGwsXG4gICAgICB2ZWN0b3I6ICdUeXBlVGFnJyxcbiAgICAgIHN0cnVjdDogJ1N0cnVjdFRhZycsXG4gICAgICB1MTY6IG51bGwsXG4gICAgICB1MzI6IG51bGwsXG4gICAgICB1MjU2OiBudWxsLFxuICAgIH0sXG4gICAgVHJhbnNhY3Rpb25LaW5kOiB7XG4gICAgICAvLyBjYW4gbm90IGJlIGNhbGxlZCBmcm9tIHN1aS5qczsgZHVtbXkgcGxhY2VtZW50XG4gICAgICAvLyB0byBzZXQgdGhlIGVudW0gY291bnRlciByaWdodCBmb3IgUHJvZ3JhbW1hYmxlVHJhbnNhY3RcbiAgICAgIFByb2dyYW1tYWJsZVRyYW5zYWN0aW9uOiAnUHJvZ3JhbW1hYmxlVHJhbnNhY3Rpb24nLFxuICAgICAgQ2hhbmdlRXBvY2g6IG51bGwsXG4gICAgICBHZW5lc2lzOiBudWxsLFxuICAgICAgQ29uc2Vuc3VzQ29tbWl0UHJvbG9ndWU6IG51bGwsXG4gICAgfSxcbiAgICBUcmFuc2FjdGlvbkV4cGlyYXRpb246IHtcbiAgICAgIE5vbmU6IG51bGwsXG4gICAgICBFcG9jaDogQkNTLlU2NCxcbiAgICB9LFxuICAgIFRyYW5zYWN0aW9uRGF0YToge1xuICAgICAgVjE6ICdUcmFuc2FjdGlvbkRhdGFWMScsXG4gICAgfSxcbiAgfSxcbiAgc3RydWN0czoge1xuICAgIFN1aU9iamVjdFJlZjoge1xuICAgICAgb2JqZWN0SWQ6IEJDUy5BRERSRVNTLFxuICAgICAgdmVyc2lvbjogQkNTLlU2NCxcbiAgICAgIGRpZ2VzdDogJ09iamVjdERpZ2VzdCcsXG4gICAgfSxcbiAgICBTaGFyZWRPYmplY3RSZWY6IHtcbiAgICAgIG9iamVjdElkOiBCQ1MuQUREUkVTUyxcbiAgICAgIGluaXRpYWxTaGFyZWRWZXJzaW9uOiBCQ1MuVTY0LFxuICAgICAgbXV0YWJsZTogQkNTLkJPT0wsXG4gICAgfSxcbiAgICBTdHJ1Y3RUYWc6IHtcbiAgICAgIGFkZHJlc3M6IEJDUy5BRERSRVNTLFxuICAgICAgbW9kdWxlOiBCQ1MuU1RSSU5HLFxuICAgICAgbmFtZTogQkNTLlNUUklORyxcbiAgICAgIHR5cGVQYXJhbXM6IFtWRUNUT1IsICdUeXBlVGFnJ10sXG4gICAgfSxcbiAgICBHYXNEYXRhOiB7XG4gICAgICBwYXltZW50OiBbVkVDVE9SLCAnU3VpT2JqZWN0UmVmJ10sXG4gICAgICBvd25lcjogQkNTLkFERFJFU1MsXG4gICAgICBwcmljZTogQkNTLlU2NCxcbiAgICAgIGJ1ZGdldDogQkNTLlU2NCxcbiAgICB9LFxuICAgIC8vIFNpZ25lZCB0cmFuc2FjdGlvbiBkYXRhIG5lZWRlZCB0byBnZW5lcmF0ZSB0cmFuc2FjdGlvbiBkaWdlc3QuXG4gICAgU2VuZGVyU2lnbmVkRGF0YToge1xuICAgICAgZGF0YTogJ1RyYW5zYWN0aW9uRGF0YScsXG4gICAgICB0eFNpZ25hdHVyZXM6IFtWRUNUT1IsIFtWRUNUT1IsIEJDUy5VOF1dLFxuICAgIH0sXG4gICAgVHJhbnNhY3Rpb25EYXRhVjEsXG4gIH0sXG4gIGFsaWFzZXM6IHtcbiAgICBPYmplY3REaWdlc3Q6IEJDUy5CQVNFNTgsXG4gIH0sXG59O1xuXG5jb25zdCBiY3MgPSBuZXcgQkNTKHsgLi4uZ2V0U3VpTW92ZUNvbmZpZygpLCB0eXBlczogQkNTX1NQRUMgfSk7XG5yZWdpc3RlclVURjhTdHJpbmcoYmNzKTtcblxuZXhwb3J0IHsgYmNzIH07XG4iXX0=