tt-entities 0.0.30 → 0.0.31

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/dist/src/main.js CHANGED
@@ -435,6 +435,251 @@ exports.Bundle = Bundle = __decorate([
435
435
  ], Bundle);
436
436
 
437
437
 
438
+ /***/ },
439
+
440
+ /***/ "./libs/tatayab-entities-library/src/entities/cart-item-bundle-selection.entity.ts"
441
+ /*!*****************************************************************************************!*\
442
+ !*** ./libs/tatayab-entities-library/src/entities/cart-item-bundle-selection.entity.ts ***!
443
+ \*****************************************************************************************/
444
+ (__unused_webpack_module, exports, __webpack_require__) {
445
+
446
+
447
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
448
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
449
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
450
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
451
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
452
+ };
453
+ var __metadata = (this && this.__metadata) || function (k, v) {
454
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
455
+ };
456
+ var _a, _b, _c;
457
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
458
+ exports.CartItemBundleSelection = void 0;
459
+ const sequelize_typescript_1 = __webpack_require__(/*! sequelize-typescript */ "sequelize-typescript");
460
+ const cart_item_entity_1 = __webpack_require__(/*! ./cart-item.entity */ "./libs/tatayab-entities-library/src/entities/cart-item.entity.ts");
461
+ const product_entity_1 = __webpack_require__(/*! ./product.entity */ "./libs/tatayab-entities-library/src/entities/product.entity.ts");
462
+ const product_variant_entity_1 = __webpack_require__(/*! ./product-variant.entity */ "./libs/tatayab-entities-library/src/entities/product-variant.entity.ts");
463
+ let CartItemBundleSelection = class CartItemBundleSelection extends sequelize_typescript_1.Model {
464
+ };
465
+ exports.CartItemBundleSelection = CartItemBundleSelection;
466
+ __decorate([
467
+ (0, sequelize_typescript_1.ForeignKey)(() => cart_item_entity_1.CartItem),
468
+ (0, sequelize_typescript_1.Column)({ allowNull: false }),
469
+ __metadata("design:type", Number)
470
+ ], CartItemBundleSelection.prototype, "cartItemId", void 0);
471
+ __decorate([
472
+ (0, sequelize_typescript_1.ForeignKey)(() => product_entity_1.Product),
473
+ (0, sequelize_typescript_1.Column)({ allowNull: false }),
474
+ __metadata("design:type", Number)
475
+ ], CartItemBundleSelection.prototype, "productId", void 0);
476
+ __decorate([
477
+ (0, sequelize_typescript_1.ForeignKey)(() => product_variant_entity_1.ProductVariant),
478
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
479
+ __metadata("design:type", Number)
480
+ ], CartItemBundleSelection.prototype, "productVariantId", void 0);
481
+ __decorate([
482
+ (0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 0 }),
483
+ __metadata("design:type", Number)
484
+ ], CartItemBundleSelection.prototype, "sortOrder", void 0);
485
+ __decorate([
486
+ (0, sequelize_typescript_1.BelongsTo)(() => cart_item_entity_1.CartItem),
487
+ __metadata("design:type", typeof (_a = typeof cart_item_entity_1.CartItem !== "undefined" && cart_item_entity_1.CartItem) === "function" ? _a : Object)
488
+ ], CartItemBundleSelection.prototype, "cartItem", void 0);
489
+ __decorate([
490
+ (0, sequelize_typescript_1.BelongsTo)(() => product_entity_1.Product),
491
+ __metadata("design:type", typeof (_b = typeof product_entity_1.Product !== "undefined" && product_entity_1.Product) === "function" ? _b : Object)
492
+ ], CartItemBundleSelection.prototype, "product", void 0);
493
+ __decorate([
494
+ (0, sequelize_typescript_1.BelongsTo)(() => product_variant_entity_1.ProductVariant),
495
+ __metadata("design:type", typeof (_c = typeof product_variant_entity_1.ProductVariant !== "undefined" && product_variant_entity_1.ProductVariant) === "function" ? _c : Object)
496
+ ], CartItemBundleSelection.prototype, "variant", void 0);
497
+ exports.CartItemBundleSelection = CartItemBundleSelection = __decorate([
498
+ sequelize_typescript_1.Table
499
+ ], CartItemBundleSelection);
500
+
501
+
502
+ /***/ },
503
+
504
+ /***/ "./libs/tatayab-entities-library/src/entities/cart-item.entity.ts"
505
+ /*!************************************************************************!*\
506
+ !*** ./libs/tatayab-entities-library/src/entities/cart-item.entity.ts ***!
507
+ \************************************************************************/
508
+ (__unused_webpack_module, exports, __webpack_require__) {
509
+
510
+
511
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
512
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
513
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
514
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
515
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
516
+ };
517
+ var __metadata = (this && this.__metadata) || function (k, v) {
518
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
519
+ };
520
+ var _a, _b, _c, _d;
521
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
522
+ exports.CartItem = exports.CartItemType = void 0;
523
+ const sequelize_typescript_1 = __webpack_require__(/*! sequelize-typescript */ "sequelize-typescript");
524
+ const cart_entity_1 = __webpack_require__(/*! ./cart.entity */ "./libs/tatayab-entities-library/src/entities/cart.entity.ts");
525
+ const product_entity_1 = __webpack_require__(/*! ./product.entity */ "./libs/tatayab-entities-library/src/entities/product.entity.ts");
526
+ const product_variant_entity_1 = __webpack_require__(/*! ./product-variant.entity */ "./libs/tatayab-entities-library/src/entities/product-variant.entity.ts");
527
+ const bundle_entity_1 = __webpack_require__(/*! ./bundle.entity */ "./libs/tatayab-entities-library/src/entities/bundle.entity.ts");
528
+ const cart_item_bundle_selection_entity_1 = __webpack_require__(/*! ./cart-item-bundle-selection.entity */ "./libs/tatayab-entities-library/src/entities/cart-item-bundle-selection.entity.ts");
529
+ var CartItemType;
530
+ (function (CartItemType) {
531
+ CartItemType["PRODUCT"] = "product";
532
+ CartItemType["BUNDLE"] = "bundle";
533
+ })(CartItemType || (exports.CartItemType = CartItemType = {}));
534
+ let CartItem = class CartItem extends sequelize_typescript_1.Model {
535
+ };
536
+ exports.CartItem = CartItem;
537
+ __decorate([
538
+ (0, sequelize_typescript_1.ForeignKey)(() => cart_entity_1.Cart),
539
+ (0, sequelize_typescript_1.Column)({ allowNull: false }),
540
+ __metadata("design:type", Number)
541
+ ], CartItem.prototype, "cartId", void 0);
542
+ __decorate([
543
+ (0, sequelize_typescript_1.Column)({
544
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(CartItemType)),
545
+ allowNull: false,
546
+ }),
547
+ __metadata("design:type", String)
548
+ ], CartItem.prototype, "itemType", void 0);
549
+ __decorate([
550
+ (0, sequelize_typescript_1.ForeignKey)(() => product_entity_1.Product),
551
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
552
+ __metadata("design:type", Number)
553
+ ], CartItem.prototype, "productId", void 0);
554
+ __decorate([
555
+ (0, sequelize_typescript_1.ForeignKey)(() => product_variant_entity_1.ProductVariant),
556
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
557
+ __metadata("design:type", Number)
558
+ ], CartItem.prototype, "productVariantId", void 0);
559
+ __decorate([
560
+ (0, sequelize_typescript_1.ForeignKey)(() => bundle_entity_1.Bundle),
561
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
562
+ __metadata("design:type", Number)
563
+ ], CartItem.prototype, "bundleId", void 0);
564
+ __decorate([
565
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
566
+ __metadata("design:type", String)
567
+ ], CartItem.prototype, "composedSku", void 0);
568
+ __decorate([
569
+ (0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 1 }),
570
+ __metadata("design:type", Number)
571
+ ], CartItem.prototype, "quantity", void 0);
572
+ __decorate([
573
+ (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DECIMAL(10, 3), allowNull: false }),
574
+ __metadata("design:type", Number)
575
+ ], CartItem.prototype, "unitPrice", void 0);
576
+ __decorate([
577
+ (0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: false }),
578
+ __metadata("design:type", Boolean)
579
+ ], CartItem.prototype, "isOutOfStock", void 0);
580
+ __decorate([
581
+ (0, sequelize_typescript_1.BelongsTo)(() => cart_entity_1.Cart),
582
+ __metadata("design:type", typeof (_a = typeof cart_entity_1.Cart !== "undefined" && cart_entity_1.Cart) === "function" ? _a : Object)
583
+ ], CartItem.prototype, "cart", void 0);
584
+ __decorate([
585
+ (0, sequelize_typescript_1.BelongsTo)(() => product_entity_1.Product),
586
+ __metadata("design:type", typeof (_b = typeof product_entity_1.Product !== "undefined" && product_entity_1.Product) === "function" ? _b : Object)
587
+ ], CartItem.prototype, "product", void 0);
588
+ __decorate([
589
+ (0, sequelize_typescript_1.BelongsTo)(() => product_variant_entity_1.ProductVariant),
590
+ __metadata("design:type", typeof (_c = typeof product_variant_entity_1.ProductVariant !== "undefined" && product_variant_entity_1.ProductVariant) === "function" ? _c : Object)
591
+ ], CartItem.prototype, "variant", void 0);
592
+ __decorate([
593
+ (0, sequelize_typescript_1.BelongsTo)(() => bundle_entity_1.Bundle),
594
+ __metadata("design:type", typeof (_d = typeof bundle_entity_1.Bundle !== "undefined" && bundle_entity_1.Bundle) === "function" ? _d : Object)
595
+ ], CartItem.prototype, "bundle", void 0);
596
+ __decorate([
597
+ (0, sequelize_typescript_1.HasMany)(() => cart_item_bundle_selection_entity_1.CartItemBundleSelection),
598
+ __metadata("design:type", Array)
599
+ ], CartItem.prototype, "bundleSelections", void 0);
600
+ exports.CartItem = CartItem = __decorate([
601
+ sequelize_typescript_1.Table
602
+ ], CartItem);
603
+
604
+
605
+ /***/ },
606
+
607
+ /***/ "./libs/tatayab-entities-library/src/entities/cart.entity.ts"
608
+ /*!*******************************************************************!*\
609
+ !*** ./libs/tatayab-entities-library/src/entities/cart.entity.ts ***!
610
+ \*******************************************************************/
611
+ (__unused_webpack_module, exports, __webpack_require__) {
612
+
613
+
614
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
615
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
616
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
617
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
618
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
619
+ };
620
+ var __metadata = (this && this.__metadata) || function (k, v) {
621
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
622
+ };
623
+ var _a, _b, _c;
624
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
625
+ exports.Cart = exports.CartStatus = void 0;
626
+ const sequelize_typescript_1 = __webpack_require__(/*! sequelize-typescript */ "sequelize-typescript");
627
+ const user_entity_1 = __webpack_require__(/*! ./user.entity */ "./libs/tatayab-entities-library/src/entities/user.entity.ts");
628
+ const store_entity_1 = __webpack_require__(/*! ./store.entity */ "./libs/tatayab-entities-library/src/entities/store.entity.ts");
629
+ const cart_item_entity_1 = __webpack_require__(/*! ./cart-item.entity */ "./libs/tatayab-entities-library/src/entities/cart-item.entity.ts");
630
+ var CartStatus;
631
+ (function (CartStatus) {
632
+ CartStatus["ACTIVE"] = "active";
633
+ CartStatus["MERGED"] = "merged";
634
+ CartStatus["CONVERTED"] = "converted";
635
+ CartStatus["ABANDONED"] = "abandoned";
636
+ })(CartStatus || (exports.CartStatus = CartStatus = {}));
637
+ let Cart = class Cart extends sequelize_typescript_1.Model {
638
+ };
639
+ exports.Cart = Cart;
640
+ __decorate([
641
+ (0, sequelize_typescript_1.ForeignKey)(() => user_entity_1.User),
642
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
643
+ __metadata("design:type", Number)
644
+ ], Cart.prototype, "userId", void 0);
645
+ __decorate([
646
+ (0, sequelize_typescript_1.Column)({ allowNull: true }),
647
+ __metadata("design:type", String)
648
+ ], Cart.prototype, "guestToken", void 0);
649
+ __decorate([
650
+ (0, sequelize_typescript_1.ForeignKey)(() => store_entity_1.Store),
651
+ (0, sequelize_typescript_1.Column)({ allowNull: false }),
652
+ __metadata("design:type", Number)
653
+ ], Cart.prototype, "storeId", void 0);
654
+ __decorate([
655
+ (0, sequelize_typescript_1.Column)({
656
+ type: sequelize_typescript_1.DataType.ENUM(...Object.values(CartStatus)),
657
+ allowNull: false,
658
+ defaultValue: CartStatus.ACTIVE,
659
+ }),
660
+ __metadata("design:type", String)
661
+ ], Cart.prototype, "status", void 0);
662
+ __decorate([
663
+ (0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATE, allowNull: true }),
664
+ __metadata("design:type", typeof (_a = typeof Date !== "undefined" && Date) === "function" ? _a : Object)
665
+ ], Cart.prototype, "expiresAt", void 0);
666
+ __decorate([
667
+ (0, sequelize_typescript_1.BelongsTo)(() => user_entity_1.User),
668
+ __metadata("design:type", typeof (_b = typeof user_entity_1.User !== "undefined" && user_entity_1.User) === "function" ? _b : Object)
669
+ ], Cart.prototype, "user", void 0);
670
+ __decorate([
671
+ (0, sequelize_typescript_1.BelongsTo)(() => store_entity_1.Store),
672
+ __metadata("design:type", typeof (_c = typeof store_entity_1.Store !== "undefined" && store_entity_1.Store) === "function" ? _c : Object)
673
+ ], Cart.prototype, "store", void 0);
674
+ __decorate([
675
+ (0, sequelize_typescript_1.HasMany)(() => cart_item_entity_1.CartItem),
676
+ __metadata("design:type", Array)
677
+ ], Cart.prototype, "items", void 0);
678
+ exports.Cart = Cart = __decorate([
679
+ sequelize_typescript_1.Table
680
+ ], Cart);
681
+
682
+
438
683
  /***/ },
439
684
 
440
685
  /***/ "./libs/tatayab-entities-library/src/entities/category.entity.ts"
@@ -2923,8 +3168,8 @@ exports.Vendor = Vendor = __decorate([
2923
3168
 
2924
3169
 
2925
3170
  Object.defineProperty(exports, "__esModule", ({ value: true }));
2926
- exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = exports.ProductApp = exports.OsName = exports.StorePaymentMethod = exports.PaymentMethodCountry = exports.PaymentMethodType = exports.PaymentMethod = exports.PaymentGatewayType = exports.PaymentGateway = exports.RolePermission = exports.Permission = exports.PurchaseOrderItemStatus = exports.PurchaseOrderItem = exports.PurchaseOrder = exports.VendorProduct = exports.Vendor = exports.ShippingRule = exports.StockMovement = exports.InventoryStock = exports.StoreInventory = exports.Inventory = exports.ProductStore = exports.Store = exports.BundleStore = exports.BundleProduct = exports.Bundle = exports.ProductTag = exports.Tag = exports.ProductVariantOption = exports.ProductVariant = exports.MediaType = exports.ProductMedia = exports.Product = exports.VariantOption = exports.VariantType = exports.Brand = exports.Category = exports.UserFavorite = exports.UserAddress = exports.UserDevice = exports.User = exports.SysUser = exports.SysRole = exports.Area = exports.Country = exports.ApiKey = void 0;
2927
- exports.StockMovementType = void 0;
3171
+ exports.ProductApp = exports.OsName = exports.CartItemBundleSelection = exports.CartItemType = exports.CartItem = exports.CartStatus = exports.Cart = exports.StorePaymentMethod = exports.PaymentMethodCountry = exports.PaymentMethodType = exports.PaymentMethod = exports.PaymentGatewayType = exports.PaymentGateway = exports.RolePermission = exports.Permission = exports.PurchaseOrderItemStatus = exports.PurchaseOrderItem = exports.PurchaseOrder = exports.VendorProduct = exports.Vendor = exports.ShippingRule = exports.StockMovement = exports.InventoryStock = exports.StoreInventory = exports.Inventory = exports.ProductStore = exports.Store = exports.BundleStore = exports.BundleProduct = exports.Bundle = exports.ProductTag = exports.Tag = exports.ProductVariantOption = exports.ProductVariant = exports.MediaType = exports.ProductMedia = exports.Product = exports.VariantOption = exports.VariantType = exports.Brand = exports.Category = exports.UserFavorite = exports.UserAddress = exports.UserDevice = exports.User = exports.SysUser = exports.SysRole = exports.Area = exports.Country = exports.ApiKey = void 0;
3172
+ exports.StockMovementType = exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = void 0;
2928
3173
  exports.getDbModels = getDbModels;
2929
3174
  const country_entity_1 = __webpack_require__(/*! ./entities/country.entity */ "./libs/tatayab-entities-library/src/entities/country.entity.ts");
2930
3175
  const area_entity_1 = __webpack_require__(/*! ./entities/area.entity */ "./libs/tatayab-entities-library/src/entities/area.entity.ts");
@@ -2965,6 +3210,9 @@ const payment_gateway_entity_1 = __webpack_require__(/*! ./entities/payment-gate
2965
3210
  const payment_method_entity_1 = __webpack_require__(/*! ./entities/payment-method.entity */ "./libs/tatayab-entities-library/src/entities/payment-method.entity.ts");
2966
3211
  const payment_method_country_entity_1 = __webpack_require__(/*! ./entities/payment-method-country.entity */ "./libs/tatayab-entities-library/src/entities/payment-method-country.entity.ts");
2967
3212
  const store_payment_method_entity_1 = __webpack_require__(/*! ./entities/store-payment-method.entity */ "./libs/tatayab-entities-library/src/entities/store-payment-method.entity.ts");
3213
+ const cart_entity_1 = __webpack_require__(/*! ./entities/cart.entity */ "./libs/tatayab-entities-library/src/entities/cart.entity.ts");
3214
+ const cart_item_entity_1 = __webpack_require__(/*! ./entities/cart-item.entity */ "./libs/tatayab-entities-library/src/entities/cart-item.entity.ts");
3215
+ const cart_item_bundle_selection_entity_1 = __webpack_require__(/*! ./entities/cart-item-bundle-selection.entity */ "./libs/tatayab-entities-library/src/entities/cart-item-bundle-selection.entity.ts");
2968
3216
  var apikey_entity_2 = __webpack_require__(/*! ./entities/apikey.entity */ "./libs/tatayab-entities-library/src/entities/apikey.entity.ts");
2969
3217
  Object.defineProperty(exports, "ApiKey", ({ enumerable: true, get: function () { return apikey_entity_2.ApiKey; } }));
2970
3218
  var country_entity_2 = __webpack_require__(/*! ./entities/country.entity */ "./libs/tatayab-entities-library/src/entities/country.entity.ts");
@@ -3047,6 +3295,14 @@ var payment_method_country_entity_2 = __webpack_require__(/*! ./entities/payment
3047
3295
  Object.defineProperty(exports, "PaymentMethodCountry", ({ enumerable: true, get: function () { return payment_method_country_entity_2.PaymentMethodCountry; } }));
3048
3296
  var store_payment_method_entity_2 = __webpack_require__(/*! ./entities/store-payment-method.entity */ "./libs/tatayab-entities-library/src/entities/store-payment-method.entity.ts");
3049
3297
  Object.defineProperty(exports, "StorePaymentMethod", ({ enumerable: true, get: function () { return store_payment_method_entity_2.StorePaymentMethod; } }));
3298
+ var cart_entity_2 = __webpack_require__(/*! ./entities/cart.entity */ "./libs/tatayab-entities-library/src/entities/cart.entity.ts");
3299
+ Object.defineProperty(exports, "Cart", ({ enumerable: true, get: function () { return cart_entity_2.Cart; } }));
3300
+ Object.defineProperty(exports, "CartStatus", ({ enumerable: true, get: function () { return cart_entity_2.CartStatus; } }));
3301
+ var cart_item_entity_2 = __webpack_require__(/*! ./entities/cart-item.entity */ "./libs/tatayab-entities-library/src/entities/cart-item.entity.ts");
3302
+ Object.defineProperty(exports, "CartItem", ({ enumerable: true, get: function () { return cart_item_entity_2.CartItem; } }));
3303
+ Object.defineProperty(exports, "CartItemType", ({ enumerable: true, get: function () { return cart_item_entity_2.CartItemType; } }));
3304
+ var cart_item_bundle_selection_entity_2 = __webpack_require__(/*! ./entities/cart-item-bundle-selection.entity */ "./libs/tatayab-entities-library/src/entities/cart-item-bundle-selection.entity.ts");
3305
+ Object.defineProperty(exports, "CartItemBundleSelection", ({ enumerable: true, get: function () { return cart_item_bundle_selection_entity_2.CartItemBundleSelection; } }));
3050
3306
  var osName_1 = __webpack_require__(/*! ./utils/enums/osName */ "./libs/tatayab-entities-library/src/utils/enums/osName.ts");
3051
3307
  Object.defineProperty(exports, "OsName", ({ enumerable: true, get: function () { return osName_1.OsName; } }));
3052
3308
  var productApp_1 = __webpack_require__(/*! ./utils/enums/productApp */ "./libs/tatayab-entities-library/src/utils/enums/productApp.ts");
@@ -3104,6 +3360,9 @@ function getDbModels() {
3104
3360
  payment_method_entity_1.PaymentMethod,
3105
3361
  payment_method_country_entity_1.PaymentMethodCountry,
3106
3362
  store_payment_method_entity_1.StorePaymentMethod,
3363
+ cart_entity_1.Cart,
3364
+ cart_item_entity_1.CartItem,
3365
+ cart_item_bundle_selection_entity_1.CartItemBundleSelection,
3107
3366
  ];
3108
3367
  }
3109
3368
 
@@ -3434,4 +3693,4 @@ bootstrap();
3434
3693
 
3435
3694
  /******/ })()
3436
3695
  ;
3437
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,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RSwwQ0FBVyxHQUFFO2dCQUNyQixjQUFjLEVBQUUsSUFBSTtnQkFDcEIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE9BQU8sRUFBRSxLQUFLO2dCQUNkLE1BQU0sRUFBRTtvQkFDTixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLElBQUk7aUJBQ2Y7YUFDRixDQUFDO1NBQ0g7UUFDRCxTQUFTLEVBQUUsRUFBRTtLQUNkLENBQUM7R0FDVyxTQUFTLENBQUc7Ozs7Ozs7Ozs7O0FDN0J6QiwyQzs7Ozs7Ozs7OztBQ0FBLDJDOzs7Ozs7Ozs7O0FDQUEseUM7Ozs7Ozs7Ozs7QUNBQSw4Qzs7Ozs7Ozs7OztBQ0FBLGlEOzs7Ozs7Ozs7O0FDQUEsb0Q7Ozs7OztVQ0FBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7Ozs7Ozs7OztBQzVCQSw4RUFBaUM7QUFDakMsdUVBQTJDO0FBQzNDLG9GQUF5QztBQUV6QyxLQUFLLFVBQVUsU0FBUztJQUN0QixNQUFNLEdBQUcsR0FBRyxNQUFNLGtCQUFXLENBQUMsTUFBTSxDQUFDLHNCQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUNELFNBQVMsRUFBRSxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYXBpa2V5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9hcmVhLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9icmFuZC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYnVuZGxlLXByb2R1Y3QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2J1bmRsZS1zdG9yZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYnVuZGxlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9jYXRlZ29yeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvY291bnRyeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvaW52ZW50b3J5LXN0b2NrLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9pbnZlbnRvcnkuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3BheW1lbnQtZ2F0ZXdheS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcGF5bWVudC1tZXRob2QtY291bnRyeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcGF5bWVudC1tZXRob2QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Blcm1pc3Npb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtbWVkaWEuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3Qtc3RvcmUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtdGFnLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQtb3B0aW9uLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLWl0ZW0uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9yb2xlLXBlcm1pc3Npb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3NoaXBwaW5nLXJ1bGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N0b2NrLW1vdmVtZW50LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zdG9yZS1pbnZlbnRvcnkuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N0b3JlLXBheW1lbnQtbWV0aG9kLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zdG9yZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3lzLnJvbGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N5cy51c2VyLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy90YWcuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3VzZXItYWRkcmVzcy5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlckRldmljZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmFyaWFudC1vcHRpb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZhcmlhbnQtdHlwZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmVuZG9yLXByb2R1Y3QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZlbmRvci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvZ2VuZGVyLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL2xhbmd1YWdlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL29zTmFtZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9wcm9kdWN0QXBwLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3B1cmNoYXNlT3JkZXJTdGF0dXMudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvc3RhdHVzLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3N0b2NrTW92ZW1lbnRUeXBlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3ZlcnNpb250eXBlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vc3JjL2FwcC5tb2R1bGUudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJAbmVzdGpzL2NvbW1vblwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9jb25maWdcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcIkBuZXN0anMvY29yZVwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9zZXF1ZWxpemVcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcInNlcXVlbGl6ZS10eXBlc2NyaXB0XCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJ0c2NvbmZpZy1wYXRocy9yZWdpc3RlclwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vc3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBEYXRhVHlwZSwgTW9kZWwsIFRhYmxlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IFZlcnNpb25UeXBlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvdmVyc2lvbnR5cGUnO1xuaW1wb3J0IHsgT3NOYW1lIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvb3NOYW1lJztcbmltcG9ydCB7IFByb2R1Y3RBcHAgfSBmcm9tICcuLi91dGlscy9lbnVtcy9wcm9kdWN0QXBwJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQXBpS2V5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgaGFzaGVkQXBpS2V5OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhPc05hbWUpKSB9KVxuICBkZWNsYXJlIG9zTmFtZTogT3NOYW1lO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUHJvZHVjdEFwcCkpIH0pXG4gIGRlY2xhcmUgYXBwTmFtZTogUHJvZHVjdEFwcDtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBleHBpcnlEYXRlOiBEYXRlO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc1JlbGVhc2VkOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhWZXJzaW9uVHlwZSkpLFxuICAgIGRlZmF1bHRWYWx1ZTogVmVyc2lvblR5cGUuT1BUSU9OQUwsXG4gIH0pXG4gIGRlY2xhcmUgdmVyc2lvblR5cGU6IFZlcnNpb25UeXBlO1xufVxuIiwiaW1wb3J0IHtcbiAgQmVsb25nc1RvLFxuICBDb2x1bW4sXG4gIEZvcmVpZ25LZXksXG4gIE1vZGVsLFxuICBUYWJsZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBBcmVhIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7XG4gICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgICB2YWxpZGF0ZTogeyBub3ROdWxsOiB7IG1zZzogJ0NvdW50eSBJZCBSZXF1aXJlZCcgfSB9LFxuICB9KVxuICBkZWNsYXJlIGNvdW50cnlJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwYXJlbnRJZD86IG51bWJlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcbn1cbiIsImltcG9ydCB7IFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBEYXRhVHlwZSwgSGFzTWFueSB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEJyYW5kIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvZ28/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHdlYnNpdGU/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQnVuZGxlIH0gZnJvbSAnLi9idW5kbGUuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQnVuZGxlUHJvZHVjdCBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gQnVuZGxlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGJ1bmRsZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyBPcHRpb25hbCDigJQgaWYgc2V0LCBvbmx5IHRoaXMgc3BlY2lmaWMgdmFyaWFudCBpcyBwYXJ0IG9mIHRoZSBidW5kbGVcbiAgLy8gbnVsbCA9IGN1c3RvbWVyIGNhbiBwaWNrIGFueSB2YXJpYW50IG9mIHRoaXMgcHJvZHVjdFxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ/OiBudW1iZXI7XG5cbiAgLy8gRGlzcGxheSBvcmRlciBpbnNpZGUgdGhlIGJ1bmRsZSBwaWNrZXIgVUlcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBCdW5kbGUpXG4gIGRlY2xhcmUgYnVuZGxlOiBCdW5kbGU7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEJ1bmRsZSB9IGZyb20gJy4vYnVuZGxlLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEJ1bmRsZVN0b3JlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBCdW5kbGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgYnVuZGxlSWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzdG9yZUlkOiBudW1iZXI7XG5cbiAgLy8gU3RvcmUtc3BlY2lmaWMgcmVndWxhciBwcmljZSDigJQgbnVsbCA9IHVzZSBidW5kbGUuZGVmYXVsdFByaWNlXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJpY2U/OiBudW1iZXI7XG5cbiAgLy8gU2FsZSBwcmljZSDigJQgYWN0aXZlIG9ubHkgd2l0aGluIHNhbGVTdGFydERhdGUg4oaSIHNhbGVFbmREYXRlXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2FsZVByaWNlPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5EQVRFLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlU3RhcnREYXRlPzogRGF0ZTtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREFURSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2FsZUVuZERhdGU/OiBEYXRlO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLFxuICBIYXNNYW55LCBCZWxvbmdzVG9NYW55LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2NhdGVnb3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IEJ1bmRsZVByb2R1Y3QgfSBmcm9tICcuL2J1bmRsZS1wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBCdW5kbGVTdG9yZSB9IGZyb20gJy4vYnVuZGxlLXN0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBCdW5kbGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBza3U6IHN0cmluZzsgLy8gQnVuZGxlIFNLVSBlLmcuIEJOREwtMDAxXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkFyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBpbWFnZT86IHN0cmluZztcblxuICAvLyBUb3RhbCBwcm9kdWN0cyBhdmFpbGFibGUgdG8gY2hvb3NlIGZyb20gaW4gdGhpcyBidW5kbGVcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHRvdGFsUHJvZHVjdHM6IG51bWJlcjtcblxuICAvLyBIb3cgbWFueSB0aGUgY3VzdG9tZXIgbXVzdCBjaG9vc2VcbiAgLy8gZS5nLiB0b3RhbFByb2R1Y3RzPTEwLCBjaG9pY2VDb3VudD0zIOKGkiBwaWNrIGFueSAzIGZyb20gMTBcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMSB9KVxuICBkZWNsYXJlIGNob2ljZUNvdW50OiBudW1iZXI7XG5cbiAgLy8gRGVmYXVsdCBwcmljZSAoZmFsbGJhY2sgaWYgbm8gc3RvcmUtc3BlY2lmaWMgcHJpY2UpXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgZGVmYXVsdFByaWNlOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ2F0ZWdvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjYXRlZ29yeUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzRmVhdHVyZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ2F0ZWdvcnkpXG4gIGRlY2xhcmUgY2F0ZWdvcnk/OiBDYXRlZ29yeTtcblxuICBASGFzTWFueSgoKSA9PiBCdW5kbGVQcm9kdWN0KVxuICBkZWNsYXJlIGJ1bmRsZVByb2R1Y3RzOiBCdW5kbGVQcm9kdWN0W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gUHJvZHVjdCwgKCkgPT4gQnVuZGxlUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0czogUHJvZHVjdFtdO1xuXG4gIEBIYXNNYW55KCgpID0+IEJ1bmRsZVN0b3JlKVxuICBkZWNsYXJlIGJ1bmRsZVN0b3JlczogQnVuZGxlU3RvcmVbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBTdG9yZSwgKCkgPT4gQnVuZGxlU3RvcmUpXG4gIGRlY2xhcmUgc3RvcmVzOiBTdG9yZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIERhdGFUeXBlLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEhhc01hbnksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGltYWdlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENhdGVnb3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcGFyZW50SWQ/OiBudW1iZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDYXRlZ29yeSwgeyBmb3JlaWduS2V5OiAncGFyZW50SWQnLCBhczogJ3BhcmVudCcgfSlcbiAgZGVjbGFyZSBwYXJlbnQ/OiBDYXRlZ29yeTtcblxuICBASGFzTWFueSgoKSA9PiBDYXRlZ29yeSwgeyBmb3JlaWduS2V5OiAncGFyZW50SWQnLCBhczogJ2NoaWxkcmVuJyB9KVxuICBkZWNsYXJlIGNoaWxkcmVuPzogQ2F0ZWdvcnlbXTtcbn1cbiIsImltcG9ydCB7IEJlbG9uZ3NUb01hbnksIENvbHVtbiwgTW9kZWwsIFRhYmxlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuZW50aXR5JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RDb3VudHJ5IH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZC1jb3VudHJ5LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENvdW50cnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGZsYWdJY29uOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGlzb0NvZGU6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGhvbmVFeHQ6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgY3VycmVuY3k6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgZXhjaGFuZ2VSYXRlVG9Ld2Q6IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFBheW1lbnRNZXRob2QsICgpID0+IFBheW1lbnRNZXRob2RDb3VudHJ5KVxuICBkZWNsYXJlIHBheW1lbnRNZXRob2RzOiBQYXltZW50TWV0aG9kW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5U3RvY2sgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8gbnVsbCA9IHByb2R1Y3QgaGFzIG5vIHZhcmlhbnRzXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBQaHlzaWNhbCBzdG9jayBjdXJyZW50bHkgb24gc2hlbGYgaW4gdGhpcyBpbnZlbnRvcnlcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHBoeXNpY2FsUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBVbml0cyByZXNlcnZlZCBmb3IgcGVuZGluZyBvcmRlcnMgKHdhaXRpbmcgUE8gZnVsZmlsbWVudCBvciBwYWNraW5nKVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcmVzZXJ2ZWRRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIEF2YWlsYWJsZSA9IHBoeXNpY2FsUXVhbnRpdHkgLSByZXNlcnZlZFF1YW50aXR5IChjb21wdXRlZCBpbiBzZXJ2aWNlIGxheWVyKVxuXG4gIC8vIEZsYWc6IGNhbiB0aGlzIGl0ZW0gYmUgc291cmNlZCBmcm9tIGEgdmVuZG9yIGlmIHBoeXNpY2FsIHN0b2NrIGlzIDA/XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgYXZhaWxhYmxlRnJvbVZlbmRvcjogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG93U3RvY2tUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcnk6IEludmVudG9yeTtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnQ/OiBQcm9kdWN0VmFyaWFudDtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBIYXNNYW55LFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5U3RvY2sgfSBmcm9tICcuL2ludmVudG9yeS1zdG9jay5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmVJbnZlbnRvcnkgfSBmcm9tICcuL3N0b3JlLWludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBJbnZlbnRvcnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0VuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRyZXNzQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbnRhY3RQaG9uZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29udGFjdEVtYWlsPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBASGFzTWFueSgoKSA9PiBJbnZlbnRvcnlTdG9jaylcbiAgZGVjbGFyZSBzdG9ja3M6IEludmVudG9yeVN0b2NrW107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gU3RvcmUsICgpID0+IFN0b3JlSW52ZW50b3J5KVxuICBkZWNsYXJlIHN0b3JlczogU3RvcmVbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBIYXNNYW55LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuZW50aXR5JztcblxuZXhwb3J0IGVudW0gUGF5bWVudEdhdGV3YXlUeXBlIHtcbiAgQk5QTCAgICAgICAgPSAnYm5wbCcsICAgICAgICAvLyBCdXkgTm93IFBheSBMYXRlciDigJQgVGFiYnksIFRhbWFyYSwgVGFseSwgRGVlbWFcbiAgQ0FSRCAgICAgICAgPSAnY2FyZCcsICAgICAgICAvLyBWaXNhL01hc3RlcmNhcmQg4oCUIHVQYXltZW50XG4gIEtORVQgICAgICAgID0gJ2tuZXQnLCAgICAgICAgLy8gSy1OZXQg4oCUIEtGSFxuICBXQUxMRVQgICAgICA9ICd3YWxsZXQnLCAgICAgIC8vIEFwcGxlIFBheSwgR29vZ2xlIFBheVxuICBCQU5LICAgICAgICA9ICdiYW5rJywgICAgICAgIC8vIEJhbmsgdHJhbnNmZXJcbn1cblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUGF5bWVudEdhdGV3YXkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBzbHVnOiBzdHJpbmc7IC8vIGUuZy4gJ3RhYmJ5JywgJ3RhbWFyYScsICd1cGF5bWVudCcsICdrZmgnXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhQYXltZW50R2F0ZXdheVR5cGUpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICB9KVxuICBkZWNsYXJlIHR5cGU6IFBheW1lbnRHYXRld2F5VHlwZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9nbz86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgd2Vic2l0ZT86IHN0cmluZztcblxuICAvLyBDcmVkZW50aWFscyBzdG9yZWQgYXMgSlNPTiDigJQgbWFuYWdlZCBieSBhZG1pbiBvbmx5LCBuZXZlciBleHBvc2VkIHRvIHVzZXJzXG4gIC8vIGUuZy4geyBcInB1YmxpY0tleVwiOiBcIi4uLlwiLCBcInNlY3JldEtleVwiOiBcIi4uLlwiLCBcIm1lcmNoYW50SWRcIjogXCIuLi5cIiB9XG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5KU09OLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjcmVkZW50aWFscz86IG9iamVjdDtcblxuICAvLyBTYW5kYm94L1Byb2R1Y3Rpb24gbW9kZVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzU2FuZGJveDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEhhc01hbnkoKCkgPT4gUGF5bWVudE1ldGhvZClcbiAgZGVjbGFyZSBtZXRob2RzOiBQYXltZW50TWV0aG9kW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuZW50aXR5JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUGF5bWVudE1ldGhvZENvdW50cnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFBheW1lbnRNZXRob2QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGF5bWVudE1ldGhvZElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBGb3JlaWduS2V5LCBCZWxvbmdzVG8sXG4gIEJlbG9uZ3NUb01hbnksIEhhc01hbnksIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQYXltZW50R2F0ZXdheSB9IGZyb20gJy4vcGF5bWVudC1nYXRld2F5LmVudGl0eSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RDb3VudHJ5IH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZC1jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZVBheW1lbnRNZXRob2QgfSBmcm9tICcuL3N0b3JlLXBheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIFBheW1lbnRNZXRob2RUeXBlIHtcbiAgUEFZX0xBVEVSICAgICAgID0gJ3BheV9sYXRlcicsICAgICAgICAvLyBUYWJieSBQYXkgTGF0ZXIsIFRhbWFyYVxuICBJTlNUQUxMTUVOVCAgICAgPSAnaW5zdGFsbG1lbnQnLCAgICAgIC8vIFRhYmJ5IEluc3RhbGxtZW50cywgRGVlbWFcbiAgQ1JFRElUX0NBUkQgICAgID0gJ2NyZWRpdF9jYXJkJywgICAgICAvLyBWaXNhLCBNYXN0ZXJjYXJkXG4gIERFQklUX0NBUkQgICAgICA9ICdkZWJpdF9jYXJkJywgICAgICAgLy8gRGViaXQgY2FyZHNcbiAgS05FVCAgICAgICAgICAgID0gJ2tuZXQnLCAgICAgICAgICAgICAvLyBLLU5ldFxuICBBUFBMRV9QQVkgICAgICAgPSAnYXBwbGVfcGF5JyxcbiAgR09PR0xFX1BBWSAgICAgID0gJ2dvb2dsZV9wYXknLFxuICBCQU5LX1RSQU5TRkVSICAgPSAnYmFua190cmFuc2ZlcicsXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFBheW1lbnRNZXRob2QgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFBheW1lbnRHYXRld2F5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBheW1lbnRHYXRld2F5SWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2x1Zzogc3RyaW5nOyAvLyBlLmcuICd0YWJieV9wYXlfbGF0ZXInLCAna25ldCcsICd2aXNhJ1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUGF5bWVudE1ldGhvZFR5cGUpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICB9KVxuICBkZWNsYXJlIHR5cGU6IFBheW1lbnRNZXRob2RUeXBlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsb2dvPzogc3RyaW5nO1xuXG4gIC8vIFByb2Nlc3NpbmcgZmVlIHBlcmNlbnRhZ2UgZS5nLiAxLjUgbWVhbnMgMS41JVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCg1LCAyKSwgYWxsb3dOdWxsOiB0cnVlLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBmZWVQZXJjZW50YWdlPzogbnVtYmVyO1xuXG4gIC8vIEZpeGVkIGZlZSBlLmcuIDAuMTAwIEtXRFxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgZmVlRml4ZWQ/OiBudW1iZXI7XG5cbiAgLy8gTWluaW11bSBvcmRlciBhbW91bnQgdG8gdXNlIHRoaXMgbWV0aG9kXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbWluT3JkZXJBbW91bnQ/OiBudW1iZXI7XG5cbiAgLy8gTWF4aW11bSBvcmRlciBhbW91bnQgdG8gdXNlIHRoaXMgbWV0aG9kXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbWF4T3JkZXJBbW91bnQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUGF5bWVudEdhdGV3YXkpXG4gIGRlY2xhcmUgZ2F0ZXdheTogUGF5bWVudEdhdGV3YXk7XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gQ291bnRyeSwgKCkgPT4gUGF5bWVudE1ldGhvZENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyaWVzOiBDb3VudHJ5W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gU3RvcmUsICgpID0+IFN0b3JlUGF5bWVudE1ldGhvZClcbiAgZGVjbGFyZSBzdG9yZXM6IFN0b3JlW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgQmVsb25nc1RvTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFJvbGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9yb2xlLXBlcm1pc3Npb24uZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbiBleHRlbmRzIE1vZGVsIHtcbiAgLy8gZS5nLiAncHJvZHVjdHMudmlldycsICdwcm9kdWN0cy5jcmVhdGUnLCAnaW52ZW50b3J5LmFkanVzdCdcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIG5hbWU6IHN0cmluZztcblxuICAvLyBIdW1hbiByZWFkYWJsZSBlLmcuICdWaWV3IFByb2R1Y3RzJ1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG5cbiAgLy8gR3JvdXBpbmcgZm9yIFVJIGUuZy4gJ1Byb2R1Y3RzJywgJ0ludmVudG9yeScsICdQdXJjaGFzaW5nJ1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGdyb3VwOiBzdHJpbmc7XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gU3lzUm9sZSwgKCkgPT4gUm9sZVBlcm1pc3Npb24pXG4gIGRlY2xhcmUgcm9sZXM6IFN5c1JvbGVbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIE1lZGlhVHlwZSB7XG4gIElNQUdFID0gJ2ltYWdlJyxcbiAgVklERU8gPSAndmlkZW8nLFxufVxuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0TWVkaWEgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1cmw6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoTWVkaWFUeXBlKSksXG4gICAgZGVmYXVsdFZhbHVlOiBNZWRpYVR5cGUuSU1BR0UsXG4gIH0pXG4gIGRlY2xhcmUgdHlwZTogTWVkaWFUeXBlO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNEZWZhdWx0OiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWx0RW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFsdEFyPzogc3RyaW5nO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTdG9yZSBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzdG9yZUlkOiBudW1iZXI7XG5cbiAgLy8gU3RvcmUtc3BlY2lmaWMgcmVndWxhciBwcmljZSDigJQgbnVsbCBtZWFucyB1c2UgcHJvZHVjdC5kZWZhdWx0UHJpY2VcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcmljZT86IG51bWJlcjtcblxuICAvLyBTYWxlIHByaWNlIOKAlCBvbmx5IGFjdGl2ZSB3aGVuIHRvZGF5IGlzIGJldHdlZW4gc2FsZVN0YXJ0RGF0ZSBhbmQgc2FsZUVuZERhdGVcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlUHJpY2U/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRBVEUsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNhbGVTdGFydERhdGU/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5EQVRFLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlRW5kRGF0ZT86IERhdGU7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL3RhZy5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0VGFnIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFRhZylcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB0YWdJZDogbnVtYmVyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RWYXJpYW50T3B0aW9uIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmFyaWFudE9wdGlvbilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2YXJpYW50T3B0aW9uSWQ6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEJlbG9uZ3NUb01hbnksXG4gIEhhc01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBWYXJpYW50T3B0aW9uIH0gZnJvbSAnLi92YXJpYW50LW9wdGlvbi5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RWYXJpYW50IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBza3U/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJhcmNvZGU/OiBzdHJpbmc7XG5cbiAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBwcm9kdWN0IHByaWNlIHBlciB2YXJpYW50IGlmIG5lZWRlZFxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByaWNlT3ZlcnJpZGU/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGltYWdlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gVmFyaWFudE9wdGlvbiwgKCkgPT4gUHJvZHVjdFZhcmlhbnRPcHRpb24pXG4gIGRlY2xhcmUgb3B0aW9uczogVmFyaWFudE9wdGlvbltdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbiAgQmVsb25nc1RvTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEJyYW5kIH0gZnJvbSAnLi9icmFuZC5lbnRpdHknO1xuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2NhdGVnb3J5LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0TWVkaWEgfSBmcm9tICcuL3Byb2R1Y3QtbWVkaWEuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RTdG9yZSB9IGZyb20gJy4vcHJvZHVjdC1zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFRhZyB9IGZyb20gJy4vcHJvZHVjdC10YWcuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi90YWcuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5pbXBvcnQgeyBVc2VyRmF2b3JpdGUgfSBmcm9tICcuL3VzZXItZmF2b3JpdGUuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdCBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkFyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBza3U/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJhcmNvZGU/OiBzdHJpbmc7XG5cbiAgLy8gRGVmYXVsdCBwcmljZSB1c2VkIHdoZW4gbm8gc3RvcmUtc3BlY2lmaWMgcHJpY2UgaXMgc2V0XG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgZGVmYXVsdFByaWNlOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQnJhbmQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBicmFuZElkPzogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENhdGVnb3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2F0ZWdvcnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc0ZlYXR1cmVkOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaGFzVmFyaWFudHM6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQnJhbmQpXG4gIGRlY2xhcmUgYnJhbmQ6IEJyYW5kO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ2F0ZWdvcnkpXG4gIGRlY2xhcmUgY2F0ZWdvcnk6IENhdGVnb3J5O1xuXG4gIEBIYXNNYW55KCgpID0+IFByb2R1Y3RNZWRpYSlcbiAgZGVjbGFyZSBtZWRpYTogUHJvZHVjdE1lZGlhW107XG5cbiAgQEhhc01hbnkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudHM6IFByb2R1Y3RWYXJpYW50W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gU3RvcmUsICgpID0+IFByb2R1Y3RTdG9yZSlcbiAgZGVjbGFyZSBzdG9yZXM6IFN0b3JlW107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gVGFnLCAoKSA9PiBQcm9kdWN0VGFnKVxuICBkZWNsYXJlIHRhZ3M6IFRhZ1tdO1xuXG4gIEBIYXNNYW55KCgpID0+IFVzZXJGYXZvcml0ZSlcbiAgZGVjbGFyZSB1c2VyRmF2b3JpdGVzOiBVc2VyRmF2b3JpdGVbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVyIH0gZnJvbSAnLi9wdXJjaGFzZS1vcmRlci5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuXG5leHBvcnQgZW51bSBQdXJjaGFzZU9yZGVySXRlbVN0YXR1cyB7XG4gIFBFTkRJTkcgPSAncGVuZGluZycsXG4gIFBBUlRJQUxMWV9SRUNFSVZFRCA9ICdwYXJ0aWFsbHlfcmVjZWl2ZWQnLFxuICBGVUxMWV9SRUNFSVZFRCA9ICdmdWxseV9yZWNlaXZlZCcsXG4gIENBTkNFTExFRCA9ICdjYW5jZWxsZWQnLFxufVxuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQdXJjaGFzZU9yZGVySXRlbSBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHVyY2hhc2VPcmRlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwdXJjaGFzZU9yZGVySWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBIb3cgbWFueSB1bml0cyB3ZXJlIG9yZGVyZWQgZnJvbSB2ZW5kb3JcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBvcmRlcmVkUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBIb3cgbWFueSB1bml0cyBoYXZlIGJlZW4gcmVjZWl2ZWQgc28gZmFyICh1cGRhdGVkIG9uIGVhY2ggcmVjZWlwdClcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHJlY2VpdmVkUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBIb3cgbWFueSBvZiB0aGVzZSBhcmUgcmVzZXJ2ZWQgZm9yIGEgc3BlY2lmaWMgY3VzdG9tZXIgb3JkZXJcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHJlc2VydmVkUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBWZW5kb3IncyBjb3N0IHByaWNlIHBlciB1bml0IGF0IHRpbWUgb2YgUE9cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdW5pdENvc3RQcmljZTogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgdG90YWxDb3N0UHJpY2U6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUHVyY2hhc2VPcmRlckl0ZW1TdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzLlBFTkRJTkcsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBQdXJjaGFzZU9yZGVySXRlbVN0YXR1cztcblxuICAvLyBSZWZlcmVuY2UgdG8gdGhlIGN1c3RvbWVyIG9yZGVyIHRoYXQgdHJpZ2dlcmVkIHRoaXMgUE8gaXRlbSAobnVsbGFibGUgPSBwcm9hY3RpdmUgc3RvY2sgcmVwbGVuaXNobWVudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHRyaWdnZXJPcmRlcklkPzogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQdXJjaGFzZU9yZGVyKVxuICBkZWNsYXJlIHB1cmNoYXNlT3JkZXI6IFB1cmNoYXNlT3JkZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi92ZW5kb3IuZW50aXR5JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTeXNVc2VyIH0gZnJvbSAnLi9zeXMudXNlci5lbnRpdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlckl0ZW0gfSBmcm9tICcuL3B1cmNoYXNlLW9yZGVyLWl0ZW0uZW50aXR5JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXJTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9wdXJjaGFzZU9yZGVyU3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHVyY2hhc2VPcmRlciBleHRlbmRzIE1vZGVsIHtcbiAgLy8gQXV0by1nZW5lcmF0ZWQgUE8gbnVtYmVyIGUuZy4gUE8tMjAyNi0wMDAwMVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgcG9OdW1iZXI6IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBWZW5kb3IpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdmVuZG9ySWQ6IG51bWJlcjtcblxuICAvLyBUYXJnZXQgaW52ZW50b3J5IHdoZXJlIHJlY2VpdmVkIHN0b2NrIHdpbGwgYmUgc3RvcmVkXG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhQdXJjaGFzZU9yZGVyU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBQdXJjaGFzZU9yZGVyU3RhdHVzLkRSQUZULFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogUHVyY2hhc2VPcmRlclN0YXR1cztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHRvdGFsQW1vdW50OiBudW1iZXI7XG5cbiAgLy8gQ3VycmVuY3kgb2YgdGhlIFBPICh2ZW5kb3IncyBjdXJyZW5jeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ1VTRCcgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBleHBlY3RlZERlbGl2ZXJ5RGF0ZT86IERhdGU7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNlbnRBdD86IERhdGU7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNsb3NlZEF0PzogRGF0ZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2FuY2VsbGVkQXQ/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjYW5jZWxsYXRpb25SZWFzb24/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG5vdGVzPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFN5c1VzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjcmVhdGVkQnk/OiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzVXNlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNlbnRCeT86IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVmVuZG9yKVxuICBkZWNsYXJlIHZlbmRvcjogVmVuZG9yO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yeTogSW52ZW50b3J5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3lzVXNlciwgeyBmb3JlaWduS2V5OiAnY3JlYXRlZEJ5JywgYXM6ICdjcmVhdG9yJyB9KVxuICBkZWNsYXJlIGNyZWF0b3I/OiBTeXNVc2VyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3lzVXNlciwgeyBmb3JlaWduS2V5OiAnc2VudEJ5JywgYXM6ICdzZW5kZXInIH0pXG4gIGRlY2xhcmUgc2VuZGVyPzogU3lzVXNlcjtcblxuICBASGFzTWFueSgoKSA9PiBQdXJjaGFzZU9yZGVySXRlbSlcbiAgZGVjbGFyZSBpdGVtczogUHVyY2hhc2VPcmRlckl0ZW1bXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTeXNSb2xlIH0gZnJvbSAnLi9zeXMucm9sZS5lbnRpdHknO1xuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vcGVybWlzc2lvbi5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBSb2xlUGVybWlzc2lvbiBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzUm9sZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzeXNSb2xlSWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQZXJtaXNzaW9uKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBlcm1pc3Npb25JZDogbnVtYmVyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU2hpcHBpbmdSdWxlIGV4dGVuZHMgTW9kZWwge1xuICAvLyBGcm9tIHdoaWNoIGludmVudG9yeVxuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICAvLyBUbyB3aGljaCBjb3VudHJ5XG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY291bnRyeUlkOiBudW1iZXI7XG5cbiAgLy8gT3B0aW9uYWw6IG92ZXJyaWRlIGZvciBhIHNwZWNpZmljIHN0b3JlXG4gIC8vIG51bGwgPSBhcHBsaWVzIHRvIGFsbCBzdG9yZXMgc2hpcHBpbmcgZnJvbSB0aGlzIGludmVudG9yeSB0byB0aGlzIGNvdW50cnlcbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3RvcmUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzdG9yZUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IDEgfSlcbiAgZGVjbGFyZSBtaW5EYXlzOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMyB9KVxuICBkZWNsYXJlIG1heERheXM6IG51bWJlcjtcblxuICAvLyBDYXJyaWVyIG5hbWUgZS5nLiBBcmFtZXgsIERITCwgRmVkRXgsIEludGVybmFsXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjYXJyaWVyTmFtZT86IHN0cmluZztcblxuICAvLyBTaGlwcGluZyBjb3N0IGluIHRoZSBpbnZlbnRvcnkncyBiYXNlIGN1cnJlbmN5IChLV0QpXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzaGlwcGluZ0Nvc3Q/OiBudW1iZXI7XG5cbiAgLy8gRnJlZSBzaGlwcGluZyB0aHJlc2hvbGQg4oCUIG51bGwgbWVhbnMgbmV2ZXIgZnJlZVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGZyZWVTaGlwcGluZ1RocmVzaG9sZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgaXNBY3RpdmU6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG5vdGVzPzogc3RyaW5nO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBJbnZlbnRvcnkpXG4gIGRlY2xhcmUgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTdG9yZSlcbiAgZGVjbGFyZSBzdG9yZT86IFN0b3JlO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5pbXBvcnQgeyBTeXNVc2VyIH0gZnJvbSAnLi9zeXMudXNlci5lbnRpdHknO1xuaW1wb3J0IHsgU3RvY2tNb3ZlbWVudFR5cGUgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdG9ja01vdmVtZW50VHlwZSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN0b2NrTW92ZW1lbnQgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdG9ja01vdmVtZW50VHlwZSkpLFxuICAgIGFsbG93TnVsbDogZmFsc2UsXG4gIH0pXG4gIGRlY2xhcmUgbW92ZW1lbnRUeXBlOiBTdG9ja01vdmVtZW50VHlwZTtcblxuICAvLyBQb3NpdGl2ZSA9IHN0b2NrIGluLCBOZWdhdGl2ZSA9IHN0b2NrIG91dFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gU25hcHNob3Qgb2YgcXVhbnRpdHkgYmVmb3JlIHRoaXMgbW92ZW1lbnRcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBxdWFudGl0eUJlZm9yZTogbnVtYmVyO1xuXG4gIC8vIFNuYXBzaG90IG9mIHF1YW50aXR5IGFmdGVyIHRoaXMgbW92ZW1lbnRcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBxdWFudGl0eUFmdGVyOiBudW1iZXI7XG5cbiAgLy8gUmVmZXJlbmNlIHRvIHNvdXJjZSBkb2N1bWVudCAoUE8gaWQsIG9yZGVyIGlkLCBldGMuKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcmVmZXJlbmNlVHlwZT86IHN0cmluZzsgLy8gJ3B1cmNoYXNlX29yZGVyJyB8ICdvcmRlcicgfCAnbWFudWFsJyB8ICd0cmFuc2ZlcidcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcmVmZXJlbmNlSWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG5vdGVzPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFN5c1VzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjcmVhdGVkQnk/OiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcnk6IEludmVudG9yeTtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnQ/OiBQcm9kdWN0VmFyaWFudDtcblxuICBAQmVsb25nc1RvKCgpID0+IFN5c1VzZXIpXG4gIGRlY2xhcmUgY3JlYXRlZEJ5VXNlcj86IFN5c1VzZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU3RvcmVJbnZlbnRvcnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFN0b3JlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHN0b3JlSWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICAvLyBQcmlvcml0eSDigJQgbG93ZXIgbnVtYmVyID0gcHJlZmVycmVkIGludmVudG9yeSBmb3IgdGhpcyBzdG9yZVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAxIH0pXG4gIGRlY2xhcmUgcHJpb3JpdHk6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBGb3JlaWduS2V5LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9wYXltZW50LW1ldGhvZC5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTdG9yZVBheW1lbnRNZXRob2QgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFN0b3JlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHN0b3JlSWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQYXltZW50TWV0aG9kKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBheW1lbnRNZXRob2RJZDogbnVtYmVyO1xuXG4gIC8vIFN0b3JlIGNhbiBvdmVycmlkZSBzb3J0IG9yZGVyIGZvciBkaXNwbGF5XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICAvLyBTdG9yZSBjYW4gZW5hYmxlL2Rpc2FibGUgaW5kZXBlbmRlbnRseSBvZiBnbG9iYWwgaXNBY3RpdmVcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIGlzRW5hYmxlZDogYm9vbGVhbjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEhhc01hbnksXG4gIEJlbG9uZ3NUb01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0U3RvcmUgfSBmcm9tICcuL3Byb2R1Y3Qtc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlSW52ZW50b3J5IH0gZnJvbSAnLi9zdG9yZS1pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vc3RvcmUtcGF5bWVudC1tZXRob2QuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU3RvcmUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9nbz86IHN0cmluZztcblxuICAvLyBJU08gY3VycmVuY3kgY29kZSBlLmcuIEtXRCwgU0FSLCBRQVIsIFVTRFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnVVNEJyB9KVxuICBkZWNsYXJlIGN1cnJlbmN5OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGN1cnJlbmN5U3ltYm9sRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGN1cnJlbmN5U3ltYm9sQXI/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzR2xvYmFsOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQcm9kdWN0LCAoKSA9PiBQcm9kdWN0U3RvcmUpXG4gIGRlY2xhcmUgcHJvZHVjdHM6IFByb2R1Y3RbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBJbnZlbnRvcnksICgpID0+IFN0b3JlSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yaWVzOiBJbnZlbnRvcnlbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQYXltZW50TWV0aG9kLCAoKSA9PiBTdG9yZVBheW1lbnRNZXRob2QpXG4gIGRlY2xhcmUgcGF5bWVudE1ldGhvZHM6IFBheW1lbnRNZXRob2RbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBCZWxvbmdzVG9NYW55LFxuICBIYXNNYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN5c1JvbGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFBlcm1pc3Npb24sICgpID0+IFJvbGVQZXJtaXNzaW9uKVxuICBkZWNsYXJlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN5c1VzZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1c2VybmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBlbWFpbDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGhvbmVFeHQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwYXNzd29yZDogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwcm9maWxlUGljdHVyZT86IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNSb2xlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcm9sZUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxhc3RMb2dpbj86IERhdGU7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNSb2xlKVxuICBkZWNsYXJlIHJvbGU/OiBTeXNSb2xlO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEJlbG9uZ3NUb01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9wcm9kdWN0LXRhZy5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVGFnIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2x1Zzogc3RyaW5nOyAvLyBlLmcuICdiZXN0X3NlbGxlcicsICduZXdfYXJyaXZhbCcsICdkaXNjb3VudCdcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgY29sb3IgZm9yIFVJIGJhZGdlIGRpc3BsYXkgZS5nLiAnI0ZGMDAwMCdcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbG9yPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFByb2R1Y3QsICgpID0+IFByb2R1Y3RUYWcpXG4gIGRlY2xhcmUgcHJvZHVjdHM6IFByb2R1Y3RbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBBcmVhIH0gZnJvbSAnLi9hcmVhLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXJBZGRyZXNzIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVzZXJJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbGFiZWw6IHN0cmluZzsgLy8gZS5nLiAnSG9tZScsICdXb3JrJywgJ090aGVyJ1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgZnVsbE5hbWU6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZTogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY291bnRyeUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQXJlYSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFyZWFJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2l0eT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYmxvY2s/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHN0cmVldD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYnVpbGRpbmc/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGZsb29yPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhcGFydG1lbnQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZGl0aW9uYWxJbmZvPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDksIDYpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsYXRpdHVkZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCg5LCA2KSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9uZ2l0dWRlPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNEZWZhdWx0OiBib29sZWFuO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBVc2VyKVxuICBkZWNsYXJlIHVzZXI6IFVzZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBBcmVhKVxuICBkZWNsYXJlIGFyZWE/OiBBcmVhO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyRmF2b3JpdGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFVzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdXNlcklkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVXNlcilcbiAgZGVjbGFyZSB1c2VyOiBVc2VyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG5cbn1cbiIsImltcG9ydCB7XG4gIE1vZGVsLFxuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxuICBIYXNNYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi91dGlscy9lbnVtcy9sYW5ndWFnZSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBHZW5kZXIgfSBmcm9tICcuLi91dGlscy9lbnVtcy9nZW5kZXInO1xuaW1wb3J0IHsgVXNlckFkZHJlc3MgfSBmcm9tICcuL3VzZXItYWRkcmVzcy5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmaXJzdE5hbWU/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGxhc3ROYW1lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwYXNzd29yZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHZhbGlkYXRlOiB7IGlzRW1haWw6IHsgbXNnOiAnSW52YWxpZCBFbWFpbCcgfSB9IH0pXG4gIGRlY2xhcmUgZW1haWw6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGhvbmU/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lRXh0Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBiaXJ0aGRheT86IERhdGU7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGZhY2Vib29rSWQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGdvb2dsZUlkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBhcHBsZUlkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhMYW5ndWFnZSkpLFxuICAgIGRlZmF1bHRWYWx1ZTogTGFuZ3VhZ2UuRU5HTElTSCxcbiAgfSlcbiAgZGVjbGFyZSBwcmVmZXJyZWRMYW5ndWFnZTogTGFuZ3VhZ2U7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtblxuICBkZWNsYXJlIHByZWZlcnJlZENvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcHJvZmlsZVBpYz86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgbGFzdExvZ2luOiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNCbG9ja2VkOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNWZXJpZmllZDogYm9vbGVhbjtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcmVmQ29kZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhHZW5kZXIpKSxcbiAgICBkZWZhdWx0VmFsdWU6IEdlbmRlci5QUkVGRVJfTk9UX1RPX1NBWSxcbiAgfSlcbiAgZGVjbGFyZSBnZW5kZXI6IEdlbmRlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcblxuICBASGFzTWFueSgoKSA9PiBVc2VyQWRkcmVzcylcbiAgZGVjbGFyZSBhZGRyZXNzZXM6IFVzZXJBZGRyZXNzW107XG5cbiAgQEhhc01hbnkoKCkgPT4gVXNlckZhdm9yaXRlKVxuICBkZWNsYXJlIGZhdm9yaXRlczogVXNlckZhdm9yaXRlW107XG59XG4iLCJpbXBvcnQge1xuICBNb2RlbCxcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgUHJpbWFyeUtleSxcbiAgQXV0b0luY3JlbWVudCxcbiAgQ3JlYXRlZEF0LFxuICBVcGRhdGVkQXQsXG4gIERlbGV0ZWRBdCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IE9zTmFtZSB9IGZyb20gJy4uL3V0aWxzL2VudW1zL29zTmFtZSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXJEZXZpY2UgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFVzZXIpXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSB1c2VySWQ6IG51bWJlcjtcbiAgQENvbHVtblxuICBkZWNsYXJlIGRldmljZUlkPzogc3RyaW5nO1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgZmNtVG9rZW4/OiBzdHJpbmc7XG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKE9zTmFtZSkpLFxuICAgIGFsbG93TnVsbDogdHJ1ZSxcbiAgfSlcbiAgZGVjbGFyZSBvc1N5c3RlbTogc3RyaW5nO1xuICBAQmVsb25nc1RvKCgpID0+IFVzZXIpXG4gIGRlY2xhcmUgdXNlcjogVXNlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBWYXJpYW50VHlwZSB9IGZyb20gJy4vdmFyaWFudC10eXBlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBWYXJpYW50T3B0aW9uIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBWYXJpYW50VHlwZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2YXJpYW50VHlwZUlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVmFyaWFudFR5cGUpXG4gIGRlY2xhcmUgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlO1xufVxuIiwiaW1wb3J0IHsgVGFibGUsIENvbHVtbiwgTW9kZWwsIEhhc01hbnkgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZhcmlhbnRUeXBlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL3ZlbmRvci5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmVuZG9yUHJvZHVjdCBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmVuZG9yKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHZlbmRvcklkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyBudWxsID0gYXBwbGllcyB0byBwcm9kdWN0IHdpdGggbm8gdmFyaWFudHNcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkPzogbnVtYmVyO1xuXG4gIC8vIFZlbmRvcidzIGNvc3QgcHJpY2UgdG8gdXNcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY29zdFByaWNlOiBudW1iZXI7XG5cbiAgLy8gVmVuZG9yJ3MgU0tVL3JlZmVyZW5jZSBjb2RlIGZvciB0aGlzIHByb2R1Y3RcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHZlbmRvclNrdT86IHN0cmluZztcblxuICAvLyBUeXBpY2FsIGxlYWQgdGltZSBpbiBkYXlzIGZyb20gdGhpcyB2ZW5kb3JcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxlYWRUaW1lRGF5cz86IG51bWJlcjtcblxuICAvLyBNaW5pbXVtIG9yZGVyIHF1YW50aXR5XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDEgfSlcbiAgZGVjbGFyZSBtb3E6IG51bWJlcjtcblxuICAvLyBJcyB0aGlzIHRoZSBwcmVmZXJyZWQvZGVmYXVsdCB2ZW5kb3IgZm9yIHRoaXMgcHJvZHVjdD9cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc1ByZWZlcnJlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBWZW5kb3IpXG4gIGRlY2xhcmUgdmVuZG9yOiBWZW5kb3I7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmVuZG9yIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbnRhY3RQZXJzb24/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGVtYWlsPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwaG9uZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0VuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRyZXNzQXI/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgdGF4TnVtYmVyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb21tZXJjaWFsUmVnTnVtYmVyPzogc3RyaW5nO1xuXG4gIC8vIERlZmF1bHQgcGF5bWVudCB0ZXJtcyBpbiBkYXlzIChlLmcuIDMwID0gTkVUMzApXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBwYXltZW50VGVybXNEYXlzOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG5vdGVzPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcbn1cbiIsImltcG9ydCB7IE1vZGVsQ3RvciB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcblxuLy8g4pSA4pSA4pSAIEV4aXN0aW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vZW50aXRpZXMvY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgQXJlYSB9IGZyb20gJy4vZW50aXRpZXMvYXJlYS5lbnRpdHknO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vZW50aXRpZXMvc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFN5c1VzZXIgfSBmcm9tICcuL2VudGl0aWVzL3N5cy51c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBVc2VyRGV2aWNlIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyRGV2aWNlLmVudGl0eSc7XG5pbXBvcnQgeyBBcGlLZXkgfSBmcm9tICcuL2VudGl0aWVzL2FwaWtleS5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckFkZHJlc3MgfSBmcm9tICcuL2VudGl0aWVzL3VzZXItYWRkcmVzcy5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBDYXRhbG9ndWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vZW50aXRpZXMvY2F0ZWdvcnkuZW50aXR5JztcbmltcG9ydCB7IEJyYW5kIH0gZnJvbSAnLi9lbnRpdGllcy9icmFuZC5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGUgfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtdHlwZS5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudE9wdGlvbiB9IGZyb20gJy4vZW50aXRpZXMvdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RNZWRpYSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4vZW50aXRpZXMvdGFnLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHknO1xuaW1wb3J0IHsgQnVuZGxlIH0gZnJvbSAnLi9lbnRpdGllcy9idW5kbGUuZW50aXR5JztcbmltcG9ydCB7IEJ1bmRsZVByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL2J1bmRsZS1wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBCdW5kbGVTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvYnVuZGxlLXN0b3JlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBTdG9yZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1zdG9yZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgSW52ZW50b3J5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS1pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IEludmVudG9yeVN0b2NrIH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnktc3RvY2suZW50aXR5JztcbmltcG9ydCB7IFN0b2NrTW92ZW1lbnQgfSBmcm9tICcuL2VudGl0aWVzL3N0b2NrLW1vdmVtZW50LmVudGl0eSc7XG5pbXBvcnQgeyBTaGlwcGluZ1J1bGUgfSBmcm9tICcuL2VudGl0aWVzL3NoaXBwaW5nLXJ1bGUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFB1cmNoYXNpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL2VudGl0aWVzL3ZlbmRvci5lbnRpdHknO1xuaW1wb3J0IHsgVmVuZG9yUHJvZHVjdCB9IGZyb20gJy4vZW50aXRpZXMvdmVuZG9yLXByb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXIgfSBmcm9tICcuL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLmVudGl0eSc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVySXRlbSB9IGZyb20gJy4vZW50aXRpZXMvcHVyY2hhc2Utb3JkZXItaXRlbS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUGVybWlzc2lvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9wZXJtaXNzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vZW50aXRpZXMvcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQYXltZW50IE1ldGhvZHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBQYXltZW50R2F0ZXdheSB9IGZyb20gJy4vZW50aXRpZXMvcGF5bWVudC1nYXRld2F5LmVudGl0eSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9lbnRpdGllcy9wYXltZW50LW1ldGhvZC5lbnRpdHknO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZENvdW50cnkgfSBmcm9tICcuL2VudGl0aWVzL3BheW1lbnQtbWV0aG9kLWNvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUtcGF5bWVudC1tZXRob2QuZW50aXR5JztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVYUE9SVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIOKUgOKUgOKUgCBFeGlzdGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IEFwaUtleSB9IGZyb20gJy4vZW50aXRpZXMvYXBpa2V5LmVudGl0eSc7XG5leHBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9lbnRpdGllcy9jb3VudHJ5LmVudGl0eSc7XG5leHBvcnQgeyBBcmVhIH0gZnJvbSAnLi9lbnRpdGllcy9hcmVhLmVudGl0eSc7XG5leHBvcnQgeyBTeXNSb2xlIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMucm9sZS5lbnRpdHknO1xuZXhwb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vZW50aXRpZXMvc3lzLnVzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL2VudGl0aWVzL3VzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJEZXZpY2UgfSBmcm9tICcuL2VudGl0aWVzL3VzZXJEZXZpY2UuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2F0YWxvZ3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eSc7XG5leHBvcnQgeyBCcmFuZCB9IGZyb20gJy4vZW50aXRpZXMvYnJhbmQuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0TWVkaWEsIE1lZGlhVHlwZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmV4cG9ydCB7IFRhZyB9IGZyb20gJy4vZW50aXRpZXMvdGFnLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHknO1xuZXhwb3J0IHsgQnVuZGxlIH0gZnJvbSAnLi9lbnRpdGllcy9idW5kbGUuZW50aXR5JztcbmV4cG9ydCB7IEJ1bmRsZVByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL2J1bmRsZS1wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBCdW5kbGVTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvYnVuZGxlLXN0b3JlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBTdG9yZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUuZW50aXR5JztcbmV4cG9ydCB7IFByb2R1Y3RTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1zdG9yZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgSW52ZW50b3J5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnkuZW50aXR5JztcbmV4cG9ydCB7IFN0b3JlSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS1pbnZlbnRvcnkuZW50aXR5JztcbmV4cG9ydCB7IEludmVudG9yeVN0b2NrIH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnktc3RvY2suZW50aXR5JztcbmV4cG9ydCB7IFN0b2NrTW92ZW1lbnQgfSBmcm9tICcuL2VudGl0aWVzL3N0b2NrLW1vdmVtZW50LmVudGl0eSc7XG5leHBvcnQgeyBTaGlwcGluZ1J1bGUgfSBmcm9tICcuL2VudGl0aWVzL3NoaXBwaW5nLXJ1bGUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFB1cmNoYXNpbmcg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL2VudGl0aWVzL3ZlbmRvci5lbnRpdHknO1xuZXhwb3J0IHsgVmVuZG9yUHJvZHVjdCB9IGZyb20gJy4vZW50aXRpZXMvdmVuZG9yLXByb2R1Y3QuZW50aXR5JztcbmV4cG9ydCB7IFB1cmNoYXNlT3JkZXIgfSBmcm9tICcuL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLmVudGl0eSc7XG5leHBvcnQge1xuICBQdXJjaGFzZU9yZGVySXRlbSxcbiAgUHVyY2hhc2VPcmRlckl0ZW1TdGF0dXMsXG59IGZyb20gJy4vZW50aXRpZXMvcHVyY2hhc2Utb3JkZXItaXRlbS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUGVybWlzc2lvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbmV4cG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuL2VudGl0aWVzL3Blcm1pc3Npb24uZW50aXR5JztcbmV4cG9ydCB7IFJvbGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9yb2xlLXBlcm1pc3Npb24uZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFBheW1lbnQgTWV0aG9kcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7XG4gIFBheW1lbnRHYXRld2F5LFxuICBQYXltZW50R2F0ZXdheVR5cGUsXG59IGZyb20gJy4vZW50aXRpZXMvcGF5bWVudC1nYXRld2F5LmVudGl0eSc7XG5leHBvcnQge1xuICBQYXltZW50TWV0aG9kLFxuICBQYXltZW50TWV0aG9kVHlwZSxcbn0gZnJvbSAnLi9lbnRpdGllcy9wYXltZW50LW1ldGhvZC5lbnRpdHknO1xuZXhwb3J0IHsgUGF5bWVudE1ldGhvZENvdW50cnkgfSBmcm9tICcuL2VudGl0aWVzL3BheW1lbnQtbWV0aG9kLWNvdW50cnkuZW50aXR5JztcbmV4cG9ydCB7IFN0b3JlUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUtcGF5bWVudC1tZXRob2QuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIEVudW1zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgT3NOYW1lIH0gZnJvbSAnLi91dGlscy9lbnVtcy9vc05hbWUnO1xuZXhwb3J0IHsgUHJvZHVjdEFwcCB9IGZyb20gJy4vdXRpbHMvZW51bXMvcHJvZHVjdEFwcCc7XG5leHBvcnQgeyBWZXJzaW9uVHlwZSB9IGZyb20gJy4vdXRpbHMvZW51bXMvdmVyc2lvbnR5cGUnO1xuZXhwb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuL3V0aWxzL2VudW1zL2xhbmd1YWdlJztcbmV4cG9ydCB7IFN0YXR1cyB9IGZyb20gJy4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmV4cG9ydCB7IEdlbmRlciB9IGZyb20gJy4vdXRpbHMvZW51bXMvZ2VuZGVyJztcbmV4cG9ydCB7IFB1cmNoYXNlT3JkZXJTdGF0dXMgfSBmcm9tICcuL3V0aWxzL2VudW1zL3B1cmNoYXNlT3JkZXJTdGF0dXMnO1xuZXhwb3J0IHsgU3RvY2tNb3ZlbWVudFR5cGUgfSBmcm9tICcuL3V0aWxzL2VudW1zL3N0b2NrTW92ZW1lbnRUeXBlJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1PREVMIFJFR0lTVFJZXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGJNb2RlbHMoKTogTW9kZWxDdG9yW10ge1xuICByZXR1cm4gW1xuICAgIC8vIEV4aXN0aW5nXG4gICAgQXBpS2V5LFxuICAgIEFyZWEsXG4gICAgQ291bnRyeSxcbiAgICBTeXNSb2xlLFxuICAgIFN5c1VzZXIsXG4gICAgVXNlcixcbiAgICBVc2VyRGV2aWNlLFxuICAgIFVzZXJBZGRyZXNzLFxuICAgIFVzZXJGYXZvcml0ZSxcblxuICAgIC8vIENhdGFsb2d1ZVxuICAgIENhdGVnb3J5LFxuICAgIEJyYW5kLFxuICAgIFZhcmlhbnRUeXBlLFxuICAgIFZhcmlhbnRPcHRpb24sXG4gICAgUHJvZHVjdCxcbiAgICBQcm9kdWN0TWVkaWEsXG4gICAgUHJvZHVjdFZhcmlhbnQsXG4gICAgUHJvZHVjdFZhcmlhbnRPcHRpb24sXG4gICAgVGFnLFxuICAgIFByb2R1Y3RUYWcsXG4gICAgQnVuZGxlLFxuICAgIEJ1bmRsZVByb2R1Y3QsXG4gICAgQnVuZGxlU3RvcmUsXG5cbiAgICAvLyBTdG9yZXNcbiAgICBTdG9yZSxcbiAgICBQcm9kdWN0U3RvcmUsXG5cbiAgICAvLyBJbnZlbnRvcnlcbiAgICBJbnZlbnRvcnksXG4gICAgU3RvcmVJbnZlbnRvcnksXG4gICAgSW52ZW50b3J5U3RvY2ssXG4gICAgU3RvY2tNb3ZlbWVudCxcbiAgICBTaGlwcGluZ1J1bGUsXG5cbiAgICAvLyBQdXJjaGFzaW5nXG4gICAgVmVuZG9yLFxuICAgIFZlbmRvclByb2R1Y3QsXG4gICAgUHVyY2hhc2VPcmRlcixcbiAgICBQdXJjaGFzZU9yZGVySXRlbSxcblxuICAgIC8vIFBlcm1pc3Npb25zXG4gICAgUGVybWlzc2lvbixcbiAgICBSb2xlUGVybWlzc2lvbixcblxuICAgIC8vIFBheW1lbnRcbiAgICBQYXltZW50R2F0ZXdheSxcbiAgICBQYXltZW50TWV0aG9kLFxuICAgIFBheW1lbnRNZXRob2RDb3VudHJ5LFxuICAgIFN0b3JlUGF5bWVudE1ldGhvZCxcbiAgXTtcbn1cbiIsImV4cG9ydCBlbnVtIEdlbmRlciB7XG4gIE1BTEUgPSAnTWFsZScsXG4gIEZFTUFMRSA9ICdGZW1hbGUnLFxuICBQUkVGRVJfTk9UX1RPX1NBWSA9ICdQcmVmZXIgbm90IHRvIHNheScsXG59XG4iLCJleHBvcnQgZW51bSBMYW5ndWFnZSB7XG4gIEVOR0xJU0ggPSAnZW4nLFxuICBBUkFCSUMgPSAnYXInLFxufVxuIiwiZXhwb3J0IGVudW0gT3NOYW1lIHtcbiAgQU5EUk9JRCA9ICdhbmRyb2lkJyxcbiAgSU9TID0gJ2lPUycsXG4gIFdFQiA9ICd3ZWInLFxufVxuIiwiZXhwb3J0IGVudW0gUHJvZHVjdEFwcCB7XG4gIERBU0hCT0FSRCA9ICdkYXNoYm9hcmQnLFxuICBVU0VSX0FQUCA9ICd1c2VyYXBwJyxcbn1cbiIsImV4cG9ydCBlbnVtIFB1cmNoYXNlT3JkZXJTdGF0dXMge1xuICBEUkFGVCA9ICdkcmFmdCcsXG4gIFNFTlRfVE9fVkVORE9SID0gJ3NlbnRfdG9fdmVuZG9yJyxcbiAgUEFSVElBTExZX1JFQ0VJVkVEID0gJ3BhcnRpYWxseV9yZWNlaXZlZCcsXG4gIEZVTExZX1JFQ0VJVkVEID0gJ2Z1bGx5X3JlY2VpdmVkJyxcbiAgQ0xPU0VEID0gJ2Nsb3NlZCcsXG4gIENBTkNFTExFRCA9ICdjYW5jZWxsZWQnLFxufVxuIiwiZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIElOX0FDVElWRSA9ICdpbmFjdGl2ZScsXG59XG4iLCJleHBvcnQgZW51bSBTdG9ja01vdmVtZW50VHlwZSB7XG4gIC8vIFN0b2NrIGNvbWluZyBpblxuICBSRUNFSVZFRCA9ICdyZWNlaXZlZCcsICAgICAgICAgICAvLyBQTyByZWNlaXZlZCBpbnRvIGludmVudG9yeVxuXG4gIC8vIFN0b2NrIGdvaW5nIG91dCBvciBiZWluZyBoZWxkXG4gIFJFU0VSVkVEID0gJ3Jlc2VydmVkJywgICAgICAgICAgIC8vIFJlc2VydmVkIGZvciBhIHBlbmRpbmcgb3JkZXJcbiAgUkVTRVJWQVRJT05fUkVMRUFTRUQgPSAncmVzZXJ2YXRpb25fcmVsZWFzZWQnLCAvLyBPcmRlciBjYW5jZWxsZWQsIHN0b2NrIGZyZWVkXG5cbiAgLy8gTWFudWFsIGFkanVzdG1lbnRzXG4gIEFESlVTVE1FTlRfQUREID0gJ2FkanVzdG1lbnRfYWRkJywgICAgICAgLy8gTWFudWFsIHN0b2NrIGluY3JlYXNlXG4gIEFESlVTVE1FTlRfUkVNT1ZFID0gJ2FkanVzdG1lbnRfcmVtb3ZlJywgLy8gTWFudWFsIHN0b2NrIGRlY3JlYXNlIChkYW1hZ2UsIGxvc3MpXG5cbiAgLy8gUmV0dXJuc1xuICBSRVRVUk5FRF9GUk9NX0NVU1RPTUVSID0gJ3JldHVybmVkX2Zyb21fY3VzdG9tZXInLFxuICBSRVRVUk5FRF9UT19WRU5ET1IgPSAncmV0dXJuZWRfdG9fdmVuZG9yJyxcblxuICAvLyBUcmFuc2ZlcnNcbiAgVFJBTlNGRVJfSU4gPSAndHJhbnNmZXJfaW4nLCAgIC8vIE1vdmVkIGluIGZyb20gYW5vdGhlciBpbnZlbnRvcnlcbiAgVFJBTlNGRVJfT1VUID0gJ3RyYW5zZmVyX291dCcsIC8vIE1vdmVkIG91dCB0byBhbm90aGVyIGludmVudG9yeVxufVxuIiwiZXhwb3J0IGVudW0gVmVyc2lvblR5cGUge1xuICBPUFRJT05BTCA9ICdvcHRpb25hbCcsXG4gIE1BTkRBVE9SWSA9ICdtYW5kYXRvcnknLFxufVxuIiwiaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9jb21tb24nO1xuaW1wb3J0IHsgU2VxdWVsaXplTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9zZXF1ZWxpemUnO1xuaW1wb3J0IHsgQ29uZmlnTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9jb25maWcnO1xuaW1wb3J0IHsgZ2V0RGJNb2RlbHMgfSBmcm9tICdAYXBwL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeSc7XG5cbkBNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29uZmlnTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgaXNHbG9iYWw6IHRydWUsXG4gICAgfSksXG4gICAgU2VxdWVsaXplTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgZGlhbGVjdDogJ215c3FsJyxcbiAgICAgIGhvc3Q6IHByb2Nlc3MuZW52Lk1ZU1FMX0hPU1QsXG4gICAgICBkYXRhYmFzZTogcHJvY2Vzcy5lbnYuTVlTUUxfREFUQUJBU0UsXG4gICAgICB1c2VybmFtZTogcHJvY2Vzcy5lbnYuTVlTUUxfVVNFUixcbiAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5NWVNRTF9QQVNTV09SRCxcbiAgICAgIHBvcnQ6IDMzMDYsXG4gICAgICBtb2RlbHM6IGdldERiTW9kZWxzKCksXG4gICAgICBhdXRvTG9hZE1vZGVsczogdHJ1ZSxcbiAgICAgIHN5bmNocm9uaXplOiB0cnVlLFxuICAgICAgbG9nZ2luZzogZmFsc2UsXG4gICAgICBkZWZpbmU6IHtcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgICAgcGFyYW5vaWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29tbW9uXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29uZmlnXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29yZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL3NlcXVlbGl6ZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJzZXF1ZWxpemUtdHlwZXNjcmlwdFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ0c2NvbmZpZy1wYXRocy9yZWdpc3RlclwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBleGlzdHMgKGRldmVsb3BtZW50IG9ubHkpXG5cdGlmIChfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgbW9kdWxlSWQgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCJpbXBvcnQgJ3RzY29uZmlnLXBhdGhzL3JlZ2lzdGVyJztcbmltcG9ydCB7IE5lc3RGYWN0b3J5IH0gZnJvbSAnQG5lc3Rqcy9jb3JlJztcbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gJy4vYXBwLm1vZHVsZSc7XG5cbmFzeW5jIGZ1bmN0aW9uIGJvb3RzdHJhcCgpIHtcbiAgY29uc3QgYXBwID0gYXdhaXQgTmVzdEZhY3RvcnkuY3JlYXRlKEFwcE1vZHVsZSwgeyBjb3JzOiB0cnVlIH0pO1xuICBhd2FpdCBhcHAubGlzdGVuKHByb2Nlc3MuZW52LlNFUlZFUl9QT1JUID8/IDkwMDQpO1xufVxuYm9vdHN0cmFwKCk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9
3696
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,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RSxJQUFJO2dCQUNwQixXQUFXLEVBQUUsSUFBSTtnQkFDakIsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsTUFBTSxFQUFFO29CQUNOLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsSUFBSTtpQkFDZjthQUNGLENBQUM7U0FDSDtRQUNELFNBQVMsRUFBRSxFQUFFO0tBQ2QsQ0FBQztHQUNXLFNBQVMsQ0FBRzs7Ozs7Ozs7Ozs7QUM3QnpCLDJDOzs7Ozs7Ozs7O0FDQUEsMkM7Ozs7Ozs7Ozs7QUNBQSx5Qzs7Ozs7Ozs7OztBQ0FBLDhDOzs7Ozs7Ozs7O0FDQUEsaUQ7Ozs7Ozs7Ozs7QUNBQSxvRDs7Ozs7O1VDQUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTs7VUFFQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTs7Ozs7Ozs7Ozs7O0FDNUJBLDhFQUFpQztBQUNqQyx1RUFBMkM7QUFDM0Msb0ZBQXlDO0FBRXpDLEtBQUssVUFBVSxTQUFTO0lBQ3RCLE1BQU0sR0FBRyxHQUFHLE1BQU0sa0JBQVcsQ0FBQyxNQUFNLENBQUMsc0JBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNwRCxDQUFDO0FBQ0QsU0FBUyxFQUFFLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9hcGlrZXkuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2FyZWEuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2JyYW5kLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9idW5kbGUtcHJvZHVjdC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYnVuZGxlLXN0b3JlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9idW5kbGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2NhcnQtaXRlbS1idW5kbGUtc2VsZWN0aW9uLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9jYXJ0LWl0ZW0uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2NhcnQuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9jb3VudHJ5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9pbnZlbnRvcnktc3RvY2suZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2ludmVudG9yeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcGF5bWVudC1nYXRld2F5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wYXltZW50LW1ldGhvZC1jb3VudHJ5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wYXltZW50LW1ldGhvZC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcGVybWlzc2lvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC1zdG9yZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC10YWcuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHVyY2hhc2Utb3JkZXItaXRlbS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHVyY2hhc2Utb3JkZXIuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3JvbGUtcGVybWlzc2lvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc2hpcHBpbmctcnVsZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3RvY2stbW92ZW1lbnQuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N0b3JlLWludmVudG9yeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3RvcmUtcGF5bWVudC1tZXRob2QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N0b3JlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zeXMucm9sZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3lzLnVzZXIuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3RhZy5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlci1hZGRyZXNzLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy91c2VyLWZhdm9yaXRlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy91c2VyLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy91c2VyRGV2aWNlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy92YXJpYW50LW9wdGlvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmFyaWFudC10eXBlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy92ZW5kb3ItcHJvZHVjdC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmVuZG9yLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9pbmRleC50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9nZW5kZXIudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvbGFuZ3VhZ2UudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvb3NOYW1lLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3Byb2R1Y3RBcHAudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvcHVyY2hhc2VPcmRlclN0YXR1cy50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9zdGF0dXMudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvc3RvY2tNb3ZlbWVudFR5cGUudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvdmVyc2lvbnR5cGUudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9zcmMvYXBwLm1vZHVsZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcIkBuZXN0anMvY29tbW9uXCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJAbmVzdGpzL2NvbmZpZ1wiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9jb3JlXCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJAbmVzdGpzL3NlcXVlbGl6ZVwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwic2VxdWVsaXplLXR5cGVzY3JpcHRcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcInRzY29uZmlnLXBhdGhzL3JlZ2lzdGVyXCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9zcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2x1bW4sIERhdGFUeXBlLCBNb2RlbCwgVGFibGUgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgVmVyc2lvblR5cGUgfSBmcm9tICcuLi91dGlscy9lbnVtcy92ZXJzaW9udHlwZSc7XG5pbXBvcnQgeyBPc05hbWUgfSBmcm9tICcuLi91dGlscy9lbnVtcy9vc05hbWUnO1xuaW1wb3J0IHsgUHJvZHVjdEFwcCB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3Byb2R1Y3RBcHAnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBBcGlLZXkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBoYXNoZWRBcGlLZXk6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKE9zTmFtZSkpIH0pXG4gIGRlY2xhcmUgb3NOYW1lOiBPc05hbWU7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhQcm9kdWN0QXBwKSkgfSlcbiAgZGVjbGFyZSBhcHBOYW1lOiBQcm9kdWN0QXBwO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBhcHBWZXJzaW9uOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGV4cGlyeURhdGU6IERhdGU7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzUmVsZWFzZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFZlcnNpb25UeXBlKSksXG4gICAgZGVmYXVsdFZhbHVlOiBWZXJzaW9uVHlwZS5PUFRJT05BTCxcbiAgfSlcbiAgZGVjbGFyZSB2ZXJzaW9uVHlwZTogVmVyc2lvblR5cGU7XG59XG4iLCJpbXBvcnQge1xuICBCZWxvbmdzVG8sXG4gIENvbHVtbixcbiAgRm9yZWlnbktleSxcbiAgTW9kZWwsXG4gIFRhYmxlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEFyZWEgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBDb3VudHJ5KVxuICBAQ29sdW1uKHtcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICAgIHZhbGlkYXRlOiB7IG5vdE51bGw6IHsgbXNnOiAnQ291bnR5IElkIFJlcXVpcmVkJyB9IH0sXG4gIH0pXG4gIGRlY2xhcmUgY291bnRyeUlkOiBudW1iZXI7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBhcmVudElkPzogbnVtYmVyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ291bnRyeSlcbiAgZGVjbGFyZSBjb3VudHJ5OiBDb3VudHJ5O1xufVxuIiwiaW1wb3J0IHsgVGFibGUsIENvbHVtbiwgTW9kZWwsIERhdGFUeXBlLCBIYXNNYW55IH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQnJhbmQgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9nbz86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgd2Vic2l0ZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBGb3JlaWduS2V5LCBCZWxvbmdzVG8sIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBCdW5kbGUgfSBmcm9tICcuL2J1bmRsZS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBCdW5kbGVQcm9kdWN0IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBCdW5kbGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgYnVuZGxlSWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIC8vIE9wdGlvbmFsIOKAlCBpZiBzZXQsIG9ubHkgdGhpcyBzcGVjaWZpYyB2YXJpYW50IGlzIHBhcnQgb2YgdGhlIGJ1bmRsZVxuICAvLyBudWxsID0gY3VzdG9tZXIgY2FuIHBpY2sgYW55IHZhcmlhbnQgb2YgdGhpcyBwcm9kdWN0XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBEaXNwbGF5IG9yZGVyIGluc2lkZSB0aGUgYnVuZGxlIHBpY2tlciBVSVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEJ1bmRsZSlcbiAgZGVjbGFyZSBidW5kbGU6IEJ1bmRsZTtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnQ/OiBQcm9kdWN0VmFyaWFudDtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBGb3JlaWduS2V5LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQnVuZGxlIH0gZnJvbSAnLi9idW5kbGUuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQnVuZGxlU3RvcmUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IEJ1bmRsZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBidW5kbGVJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFN0b3JlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHN0b3JlSWQ6IG51bWJlcjtcblxuICAvLyBTdG9yZS1zcGVjaWZpYyByZWd1bGFyIHByaWNlIOKAlCBudWxsID0gdXNlIGJ1bmRsZS5kZWZhdWx0UHJpY2VcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcmljZT86IG51bWJlcjtcblxuICAvLyBTYWxlIHByaWNlIOKAlCBhY3RpdmUgb25seSB3aXRoaW4gc2FsZVN0YXJ0RGF0ZSDihpIgc2FsZUVuZERhdGVcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlUHJpY2U/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRBVEUsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNhbGVTdGFydERhdGU/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5EQVRFLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlRW5kRGF0ZT86IERhdGU7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBGb3JlaWduS2V5LCBCZWxvbmdzVG8sXG4gIEhhc01hbnksIEJlbG9uZ3NUb01hbnksIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vY2F0ZWdvcnkuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgQnVuZGxlUHJvZHVjdCB9IGZyb20gJy4vYnVuZGxlLXByb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IEJ1bmRsZVN0b3JlIH0gZnJvbSAnLi9idW5kbGUtc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEJ1bmRsZSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIHNrdTogc3RyaW5nOyAvLyBCdW5kbGUgU0tVIGUuZy4gQk5ETC0wMDFcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIFRvdGFsIHByb2R1Y3RzIGF2YWlsYWJsZSB0byBjaG9vc2UgZnJvbSBpbiB0aGlzIGJ1bmRsZVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgdG90YWxQcm9kdWN0czogbnVtYmVyO1xuXG4gIC8vIEhvdyBtYW55IHRoZSBjdXN0b21lciBtdXN0IGNob29zZVxuICAvLyBlLmcuIHRvdGFsUHJvZHVjdHM9MTAsIGNob2ljZUNvdW50PTMg4oaSIHBpY2sgYW55IDMgZnJvbSAxMFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAxIH0pXG4gIGRlY2xhcmUgY2hvaWNlQ291bnQ6IG51bWJlcjtcblxuICAvLyBEZWZhdWx0IHByaWNlIChmYWxsYmFjayBpZiBubyBzdG9yZS1zcGVjaWZpYyBwcmljZSlcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBkZWZhdWx0UHJpY2U6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBDYXRlZ29yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNhdGVnb3J5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNGZWF0dXJlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDYXRlZ29yeSlcbiAgZGVjbGFyZSBjYXRlZ29yeT86IENhdGVnb3J5O1xuXG4gIEBIYXNNYW55KCgpID0+IEJ1bmRsZVByb2R1Y3QpXG4gIGRlY2xhcmUgYnVuZGxlUHJvZHVjdHM6IEJ1bmRsZVByb2R1Y3RbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQcm9kdWN0LCAoKSA9PiBCdW5kbGVQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3RzOiBQcm9kdWN0W107XG5cbiAgQEhhc01hbnkoKCkgPT4gQnVuZGxlU3RvcmUpXG4gIGRlY2xhcmUgYnVuZGxlU3RvcmVzOiBCdW5kbGVTdG9yZVtdO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFN0b3JlLCAoKSA9PiBCdW5kbGVTdG9yZSlcbiAgZGVjbGFyZSBzdG9yZXM6IFN0b3JlW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4vY2FydC1pdGVtLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBDYXJ0SXRlbSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBjYXJ0SXRlbUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ/OiBudW1iZXI7XG5cbiAgLy8gRGlzcGxheSBvcmRlciB3aXRoaW4gdGhlIGJ1bmRsZSBzZWxlY3Rpb25cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDYXJ0SXRlbSlcbiAgZGVjbGFyZSBjYXJ0SXRlbTogQ2FydEl0ZW07XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLFxuICBIYXNNYW55LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ2FydCB9IGZyb20gJy4vY2FydC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgQnVuZGxlIH0gZnJvbSAnLi9idW5kbGUuZW50aXR5JztcbmltcG9ydCB7IENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uIH0gZnJvbSAnLi9jYXJ0LWl0ZW0tYnVuZGxlLXNlbGVjdGlvbi5lbnRpdHknO1xuXG5leHBvcnQgZW51bSBDYXJ0SXRlbVR5cGUge1xuICBQUk9EVUNUID0gJ3Byb2R1Y3QnLFxuICBCVU5ETEUgID0gJ2J1bmRsZScsXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENhcnRJdGVtIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBDYXJ0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNhcnRJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhDYXJ0SXRlbVR5cGUpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICB9KVxuICBkZWNsYXJlIGl0ZW1UeXBlOiBDYXJ0SXRlbVR5cGU7XG5cbiAgLy8g4pSA4pSAIFByb2R1Y3QgZmllbGRzIChudWxsIHdoZW4gaXRlbVR5cGUgPSBidW5kbGUpIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkPzogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyDilIDilIAgQnVuZGxlIGZpZWxkcyAobnVsbCB3aGVuIGl0ZW1UeXBlID0gcHJvZHVjdCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gIEBGb3JlaWduS2V5KCgpID0+IEJ1bmRsZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJ1bmRsZUlkPzogbnVtYmVyO1xuXG4gIC8vIENvbXBvc2VkIFNLVSBidWlsdCBhdCBzZWxlY3Rpb24gdGltZSBlLmcuIEJOREwtMDAxK1BFUkYtTS0wMDEtVjMrUEVSRi1XLTAwMlxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29tcG9zZWRTa3U/OiBzdHJpbmc7XG5cbiAgLy8g4pSA4pSAIFNoYXJlZCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMSB9KVxuICBkZWNsYXJlIHF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gUHJpY2UgY2FwdHVyZWQgYXQgdGltZSBvZiBhZGRpbmcg4oCUIHNvIHByaWNlIGNoYW5nZXMgZG9uJ3Qgc2lsZW50bHkgdXBkYXRlIGNhcnRcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdW5pdFByaWNlOiBudW1iZXI7XG5cbiAgLy8g4pSA4pSAIFN0b2NrIGZsYWcg4oCUIHNldCB0cnVlIGJ5IHRoZSBzdG9jay1jaGVjayBlbmRwb2ludCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgLy8gQ2xlYXJlZCB3aGVuIHVzZXIgdXBkYXRlcyBxdHkgb3IgaXRlbSBpcyByZS12YWxpZGF0ZWRcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc091dE9mU3RvY2s6IGJvb2xlYW47XG5cbiAgLy8g4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IENhcnQpXG4gIGRlY2xhcmUgY2FydDogQ2FydDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdD86IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBCdW5kbGUpXG4gIGRlY2xhcmUgYnVuZGxlPzogQnVuZGxlO1xuXG4gIEBIYXNNYW55KCgpID0+IENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uKVxuICBkZWNsYXJlIGJ1bmRsZVNlbGVjdGlvbnM6IENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLFxuICBIYXNNYW55LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBDYXJ0SXRlbSB9IGZyb20gJy4vY2FydC1pdGVtLmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIENhcnRTdGF0dXMge1xuICBBQ1RJVkUgICAgPSAnYWN0aXZlJywgICAgIC8vIEluIHVzZVxuICBNRVJHRUQgICAgPSAnbWVyZ2VkJywgICAgIC8vIEd1ZXN0IGNhcnQgbWVyZ2VkIGludG8gdXNlciBjYXJ0XG4gIENPTlZFUlRFRCA9ICdjb252ZXJ0ZWQnLCAgLy8gQ29udmVydGVkIHRvIGFuIG9yZGVyXG4gIEFCQU5ET05FRCA9ICdhYmFuZG9uZWQnLCAgLy8gRXhwaXJlZCAvIG5vdCB1c2VkXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENhcnQgZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIOKUgOKUgCBJZGVudGl0eSDigJQgb25lIG9mIHRoZXNlIHR3byB3aWxsIGFsd2F5cyBiZSBzZXQsIG5ldmVyIGJvdGggbnVsbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICAvLyBMb2dnZWQtaW4gdXNlciDigJQgbnVsbCBmb3IgZ3Vlc3RzXG4gIEBGb3JlaWduS2V5KCgpID0+IFVzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSB1c2VySWQ/OiBudW1iZXI7XG5cbiAgLy8gR3Vlc3QgaWRlbnRpZmllciDigJQgVVVJRCBnZW5lcmF0ZWQgb24gZmlyc3QgY2FydCBjcmVhdGlvbiwgc3RvcmVkIG9uIGRldmljZVxuICAvLyBudWxsIG9uY2UgY2FydCBpcyBtZXJnZWQvY2xhaW1lZCBieSBhIGxvZ2dlZC1pbiB1c2VyXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBndWVzdFRva2VuPzogc3RyaW5nO1xuXG4gIC8vIOKUgOKUgCBTdG9yZSBzY29wZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3RvcmUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgc3RvcmVJZDogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgCBTdGF0ZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKENhcnRTdGF0dXMpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogQ2FydFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBDYXJ0U3RhdHVzO1xuXG4gIC8vIEd1ZXN0IGNhcnRzIGV4cGlyZSBhZnRlciAzMCBkYXlzIG9mIGluYWN0aXZpdHlcbiAgLy8gVXNlciBjYXJ0cyBleHBpcmUgYWZ0ZXIgOTAgZGF5c1xuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREFURSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZXhwaXJlc0F0PzogRGF0ZTtcblxuICAvLyDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVXNlcilcbiAgZGVjbGFyZSB1c2VyPzogVXNlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IFN0b3JlKVxuICBkZWNsYXJlIHN0b3JlOiBTdG9yZTtcblxuICBASGFzTWFueSgoKSA9PiBDYXJ0SXRlbSlcbiAgZGVjbGFyZSBpdGVtczogQ2FydEl0ZW1bXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBEYXRhVHlwZSxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkFyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBpbWFnZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBARm9yZWlnbktleSgoKSA9PiBDYXRlZ29yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHBhcmVudElkPzogbnVtYmVyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ2F0ZWdvcnksIHsgZm9yZWlnbktleTogJ3BhcmVudElkJywgYXM6ICdwYXJlbnQnIH0pXG4gIGRlY2xhcmUgcGFyZW50PzogQ2F0ZWdvcnk7XG5cbiAgQEhhc01hbnkoKCkgPT4gQ2F0ZWdvcnksIHsgZm9yZWlnbktleTogJ3BhcmVudElkJywgYXM6ICdjaGlsZHJlbicgfSlcbiAgZGVjbGFyZSBjaGlsZHJlbj86IENhdGVnb3J5W107XG59XG4iLCJpbXBvcnQgeyBCZWxvbmdzVG9NYW55LCBDb2x1bW4sIE1vZGVsLCBUYWJsZSB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kQ291bnRyeSB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QtY291bnRyeS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBDb3VudHJ5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmbGFnSWNvbjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBpc29Db2RlOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGN1cnJlbmN5OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGV4Y2hhbmdlUmF0ZVRvS3dkOiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQYXltZW50TWV0aG9kLCAoKSA9PiBQYXltZW50TWV0aG9kQ291bnRyeSlcbiAgZGVjbGFyZSBwYXltZW50TWV0aG9kczogUGF5bWVudE1ldGhvZFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEludmVudG9yeVN0b2NrIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIC8vIG51bGwgPSBwcm9kdWN0IGhhcyBubyB2YXJpYW50c1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ/OiBudW1iZXI7XG5cbiAgLy8gUGh5c2ljYWwgc3RvY2sgY3VycmVudGx5IG9uIHNoZWxmIGluIHRoaXMgaW52ZW50b3J5XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBwaHlzaWNhbFF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gVW5pdHMgcmVzZXJ2ZWQgZm9yIHBlbmRpbmcgb3JkZXJzICh3YWl0aW5nIFBPIGZ1bGZpbG1lbnQgb3IgcGFja2luZylcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHJlc2VydmVkUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBBdmFpbGFibGUgPSBwaHlzaWNhbFF1YW50aXR5IC0gcmVzZXJ2ZWRRdWFudGl0eSAoY29tcHV0ZWQgaW4gc2VydmljZSBsYXllcilcblxuICAvLyBGbGFnOiBjYW4gdGhpcyBpdGVtIGJlIHNvdXJjZWQgZnJvbSBhIHZlbmRvciBpZiBwaHlzaWNhbCBzdG9jayBpcyAwP1xuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGF2YWlsYWJsZUZyb21WZW5kb3I6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvd1N0b2NrVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBJbnZlbnRvcnkpXG4gIGRlY2xhcmUgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgSGFzTWFueSxcbiAgQmVsb25nc1RvTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IEludmVudG9yeVN0b2NrIH0gZnJvbSAnLi9pbnZlbnRvcnktc3RvY2suZW50aXR5JztcbmltcG9ydCB7IFN0b3JlSW52ZW50b3J5IH0gZnJvbSAnLi9zdG9yZS1pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZHJlc3NFbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0FyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb250YWN0UGhvbmU/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbnRhY3RFbWFpbD86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEhhc01hbnkoKCkgPT4gSW52ZW50b3J5U3RvY2spXG4gIGRlY2xhcmUgc3RvY2tzOiBJbnZlbnRvcnlTdG9ja1tdO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFN0b3JlLCAoKSA9PiBTdG9yZUludmVudG9yeSlcbiAgZGVjbGFyZSBzdG9yZXM6IFN0b3JlW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgSGFzTWFueSwgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIFBheW1lbnRHYXRld2F5VHlwZSB7XG4gIEJOUEwgICAgICAgID0gJ2JucGwnLCAgICAgICAgLy8gQnV5IE5vdyBQYXkgTGF0ZXIg4oCUIFRhYmJ5LCBUYW1hcmEsIFRhbHksIERlZW1hXG4gIENBUkQgICAgICAgID0gJ2NhcmQnLCAgICAgICAgLy8gVmlzYS9NYXN0ZXJjYXJkIOKAlCB1UGF5bWVudFxuICBLTkVUICAgICAgICA9ICdrbmV0JywgICAgICAgIC8vIEstTmV0IOKAlCBLRkhcbiAgV0FMTEVUICAgICAgPSAnd2FsbGV0JywgICAgICAvLyBBcHBsZSBQYXksIEdvb2dsZSBQYXlcbiAgQkFOSyAgICAgICAgPSAnYmFuaycsICAgICAgICAvLyBCYW5rIHRyYW5zZmVyXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFBheW1lbnRHYXRld2F5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2x1Zzogc3RyaW5nOyAvLyBlLmcuICd0YWJieScsICd0YW1hcmEnLCAndXBheW1lbnQnLCAna2ZoJ1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUGF5bWVudEdhdGV3YXlUeXBlKSksXG4gICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgfSlcbiAgZGVjbGFyZSB0eXBlOiBQYXltZW50R2F0ZXdheVR5cGU7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvZ28/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHdlYnNpdGU/OiBzdHJpbmc7XG5cbiAgLy8gQ3JlZGVudGlhbHMgc3RvcmVkIGFzIEpTT04g4oCUIG1hbmFnZWQgYnkgYWRtaW4gb25seSwgbmV2ZXIgZXhwb3NlZCB0byB1c2Vyc1xuICAvLyBlLmcuIHsgXCJwdWJsaWNLZXlcIjogXCIuLi5cIiwgXCJzZWNyZXRLZXlcIjogXCIuLi5cIiwgXCJtZXJjaGFudElkXCI6IFwiLi4uXCIgfVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuSlNPTiwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY3JlZGVudGlhbHM/OiBvYmplY3Q7XG5cbiAgLy8gU2FuZGJveC9Qcm9kdWN0aW9uIG1vZGVcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc1NhbmRib3g6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBIYXNNYW55KCgpID0+IFBheW1lbnRNZXRob2QpXG4gIGRlY2xhcmUgbWV0aG9kczogUGF5bWVudE1ldGhvZFtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsIENvbHVtbiwgTW9kZWwsIEZvcmVpZ25LZXksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFBheW1lbnRNZXRob2RDb3VudHJ5IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQYXltZW50TWV0aG9kKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBheW1lbnRNZXRob2RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY291bnRyeUlkOiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgQmVsb25nc1RvLFxuICBCZWxvbmdzVG9NYW55LCBIYXNNYW55LCBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGF5bWVudEdhdGV3YXkgfSBmcm9tICcuL3BheW1lbnQtZ2F0ZXdheS5lbnRpdHknO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQYXltZW50TWV0aG9kQ291bnRyeSB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QtY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmVQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9zdG9yZS1wYXltZW50LW1ldGhvZC5lbnRpdHknO1xuXG5leHBvcnQgZW51bSBQYXltZW50TWV0aG9kVHlwZSB7XG4gIFBBWV9MQVRFUiAgICAgICA9ICdwYXlfbGF0ZXInLCAgICAgICAgLy8gVGFiYnkgUGF5IExhdGVyLCBUYW1hcmFcbiAgSU5TVEFMTE1FTlQgICAgID0gJ2luc3RhbGxtZW50JywgICAgICAvLyBUYWJieSBJbnN0YWxsbWVudHMsIERlZW1hXG4gIENSRURJVF9DQVJEICAgICA9ICdjcmVkaXRfY2FyZCcsICAgICAgLy8gVmlzYSwgTWFzdGVyY2FyZFxuICBERUJJVF9DQVJEICAgICAgPSAnZGViaXRfY2FyZCcsICAgICAgIC8vIERlYml0IGNhcmRzXG4gIEtORVQgICAgICAgICAgICA9ICdrbmV0JywgICAgICAgICAgICAgLy8gSy1OZXRcbiAgQVBQTEVfUEFZICAgICAgID0gJ2FwcGxlX3BheScsXG4gIEdPT0dMRV9QQVkgICAgICA9ICdnb29nbGVfcGF5JyxcbiAgQkFOS19UUkFOU0ZFUiAgID0gJ2JhbmtfdHJhbnNmZXInLFxufVxuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQYXltZW50TWV0aG9kIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQYXltZW50R2F0ZXdheSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwYXltZW50R2F0ZXdheUlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIHNsdWc6IHN0cmluZzsgLy8gZS5nLiAndGFiYnlfcGF5X2xhdGVyJywgJ2tuZXQnLCAndmlzYSdcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFBheW1lbnRNZXRob2RUeXBlKSksXG4gICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgfSlcbiAgZGVjbGFyZSB0eXBlOiBQYXltZW50TWV0aG9kVHlwZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9nbz86IHN0cmluZztcblxuICAvLyBQcm9jZXNzaW5nIGZlZSBwZXJjZW50YWdlIGUuZy4gMS41IG1lYW5zIDEuNSVcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoNSwgMiksIGFsbG93TnVsbDogdHJ1ZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgZmVlUGVyY2VudGFnZT86IG51bWJlcjtcblxuICAvLyBGaXhlZCBmZWUgZS5nLiAwLjEwMCBLV0RcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUsIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIGZlZUZpeGVkPzogbnVtYmVyO1xuXG4gIC8vIE1pbmltdW0gb3JkZXIgYW1vdW50IHRvIHVzZSB0aGlzIG1ldGhvZFxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG1pbk9yZGVyQW1vdW50PzogbnVtYmVyO1xuXG4gIC8vIE1heGltdW0gb3JkZXIgYW1vdW50IHRvIHVzZSB0aGlzIG1ldGhvZFxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG1heE9yZGVyQW1vdW50PzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgaXNBY3RpdmU6IGJvb2xlYW47XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFBheW1lbnRHYXRld2F5KVxuICBkZWNsYXJlIGdhdGV3YXk6IFBheW1lbnRHYXRld2F5O1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IENvdW50cnksICgpID0+IFBheW1lbnRNZXRob2RDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cmllczogQ291bnRyeVtdO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFN0b3JlLCAoKSA9PiBTdG9yZVBheW1lbnRNZXRob2QpXG4gIGRlY2xhcmUgc3RvcmVzOiBTdG9yZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEJlbG9uZ3NUb01hbnksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb24gZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIGUuZy4gJ3Byb2R1Y3RzLnZpZXcnLCAncHJvZHVjdHMuY3JlYXRlJywgJ2ludmVudG9yeS5hZGp1c3QnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgLy8gSHVtYW4gcmVhZGFibGUgZS5nLiAnVmlldyBQcm9kdWN0cydcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBkaXNwbGF5TmFtZTogc3RyaW5nO1xuXG4gIC8vIEdyb3VwaW5nIGZvciBVSSBlLmcuICdQcm9kdWN0cycsICdJbnZlbnRvcnknLCAnUHVyY2hhc2luZydcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBncm91cDogc3RyaW5nO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFN5c1JvbGUsICgpID0+IFJvbGVQZXJtaXNzaW9uKVxuICBkZWNsYXJlIHJvbGVzOiBTeXNSb2xlW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuXG5leHBvcnQgZW51bSBNZWRpYVR5cGUge1xuICBJTUFHRSA9ICdpbWFnZScsXG4gIFZJREVPID0gJ3ZpZGVvJyxcbn1cblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1lZGlhIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdXJsOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKE1lZGlhVHlwZSkpLFxuICAgIGRlZmF1bHRWYWx1ZTogTWVkaWFUeXBlLklNQUdFLFxuICB9KVxuICBkZWNsYXJlIHR5cGU6IE1lZGlhVHlwZTtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzRGVmYXVsdDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFsdEVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhbHRBcj86IHN0cmluZztcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U3RvcmUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3RvcmUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgc3RvcmVJZDogbnVtYmVyO1xuXG4gIC8vIFN0b3JlLXNwZWNpZmljIHJlZ3VsYXIgcHJpY2Ug4oCUIG51bGwgbWVhbnMgdXNlIHByb2R1Y3QuZGVmYXVsdFByaWNlXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJpY2U/OiBudW1iZXI7XG5cbiAgLy8gU2FsZSBwcmljZSDigJQgb25seSBhY3RpdmUgd2hlbiB0b2RheSBpcyBiZXR3ZWVuIHNhbGVTdGFydERhdGUgYW5kIHNhbGVFbmREYXRlXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2FsZVByaWNlPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5EQVRFLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzYWxlU3RhcnREYXRlPzogRGF0ZTtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREFURSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2FsZUVuZERhdGU/OiBEYXRlO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgVGFnIH0gZnJvbSAnLi90YWcuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdFRhZyBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBUYWcpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdGFnSWQ6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5pbXBvcnQgeyBWYXJpYW50T3B0aW9uIH0gZnJvbSAnLi92YXJpYW50LW9wdGlvbi5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0VmFyaWFudE9wdGlvbiBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFZhcmlhbnRPcHRpb24pXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdmFyaWFudE9wdGlvbklkOiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBCZWxvbmdzVG9NYW55LFxuICBIYXNNYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudE9wdGlvbiB9IGZyb20gJy4vdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50T3B0aW9uIH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0VmFyaWFudCBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2t1Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBiYXJjb2RlPzogc3RyaW5nO1xuXG4gIC8vIE92ZXJyaWRlIGRlZmF1bHQgcHJvZHVjdCBwcmljZSBwZXIgdmFyaWFudCBpZiBuZWVkZWRcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcmljZU92ZXJyaWRlPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBpbWFnZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFZhcmlhbnRPcHRpb24sICgpID0+IFByb2R1Y3RWYXJpYW50T3B0aW9uKVxuICBkZWNsYXJlIG9wdGlvbnM6IFZhcmlhbnRPcHRpb25bXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEhhc01hbnksXG4gIEJlbG9uZ3NUb01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBCcmFuZCB9IGZyb20gJy4vYnJhbmQuZW50aXR5JztcbmltcG9ydCB7IENhdGVnb3J5IH0gZnJvbSAnLi9jYXRlZ29yeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdE1lZGlhIH0gZnJvbSAnLi9wcm9kdWN0LW1lZGlhLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0U3RvcmUgfSBmcm9tICcuL3Byb2R1Y3Qtc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RUYWcgfSBmcm9tICcuL3Byb2R1Y3QtdGFnLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4vdGFnLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3QgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2t1Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBiYXJjb2RlPzogc3RyaW5nO1xuXG4gIC8vIERlZmF1bHQgcHJpY2UgdXNlZCB3aGVuIG5vIHN0b3JlLXNwZWNpZmljIHByaWNlIGlzIHNldFxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIGRlZmF1bHRQcmljZTogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IEJyYW5kKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYnJhbmRJZD86IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBDYXRlZ29yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNhdGVnb3J5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNGZWF0dXJlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGhhc1ZhcmlhbnRzOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEJyYW5kKVxuICBkZWNsYXJlIGJyYW5kOiBCcmFuZDtcblxuICBAQmVsb25nc1RvKCgpID0+IENhdGVnb3J5KVxuICBkZWNsYXJlIGNhdGVnb3J5OiBDYXRlZ29yeTtcblxuICBASGFzTWFueSgoKSA9PiBQcm9kdWN0TWVkaWEpXG4gIGRlY2xhcmUgbWVkaWE6IFByb2R1Y3RNZWRpYVtdO1xuXG4gIEBIYXNNYW55KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnRzOiBQcm9kdWN0VmFyaWFudFtdO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFN0b3JlLCAoKSA9PiBQcm9kdWN0U3RvcmUpXG4gIGRlY2xhcmUgc3RvcmVzOiBTdG9yZVtdO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFRhZywgKCkgPT4gUHJvZHVjdFRhZylcbiAgZGVjbGFyZSB0YWdzOiBUYWdbXTtcblxuICBASGFzTWFueSgoKSA9PiBVc2VyRmF2b3JpdGUpXG4gIGRlY2xhcmUgdXNlckZhdm9yaXRlczogVXNlckZhdm9yaXRlW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlciB9IGZyb20gJy4vcHVyY2hhc2Utb3JkZXIuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcblxuZXhwb3J0IGVudW0gUHVyY2hhc2VPcmRlckl0ZW1TdGF0dXMge1xuICBQRU5ESU5HID0gJ3BlbmRpbmcnLFxuICBQQVJUSUFMTFlfUkVDRUlWRUQgPSAncGFydGlhbGx5X3JlY2VpdmVkJyxcbiAgRlVMTFlfUkVDRUlWRUQgPSAnZnVsbHlfcmVjZWl2ZWQnLFxuICBDQU5DRUxMRUQgPSAnY2FuY2VsbGVkJyxcbn1cblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHVyY2hhc2VPcmRlckl0ZW0gZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFB1cmNoYXNlT3JkZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHVyY2hhc2VPcmRlcklkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ/OiBudW1iZXI7XG5cbiAgLy8gSG93IG1hbnkgdW5pdHMgd2VyZSBvcmRlcmVkIGZyb20gdmVuZG9yXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgb3JkZXJlZFF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gSG93IG1hbnkgdW5pdHMgaGF2ZSBiZWVuIHJlY2VpdmVkIHNvIGZhciAodXBkYXRlZCBvbiBlYWNoIHJlY2VpcHQpXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSByZWNlaXZlZFF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gSG93IG1hbnkgb2YgdGhlc2UgYXJlIHJlc2VydmVkIGZvciBhIHNwZWNpZmljIGN1c3RvbWVyIG9yZGVyXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSByZXNlcnZlZFF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gVmVuZG9yJ3MgY29zdCBwcmljZSBwZXIgdW5pdCBhdCB0aW1lIG9mIFBPXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVuaXRDb3N0UHJpY2U6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHRvdGFsQ29zdFByaWNlOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBQdXJjaGFzZU9yZGVySXRlbVN0YXR1cy5QRU5ESU5HLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogUHVyY2hhc2VPcmRlckl0ZW1TdGF0dXM7XG5cbiAgLy8gUmVmZXJlbmNlIHRvIHRoZSBjdXN0b21lciBvcmRlciB0aGF0IHRyaWdnZXJlZCB0aGlzIFBPIGl0ZW0gKG51bGxhYmxlID0gcHJvYWN0aXZlIHN0b2NrIHJlcGxlbmlzaG1lbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSB0cmlnZ2VyT3JkZXJJZD86IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHVyY2hhc2VPcmRlcilcbiAgZGVjbGFyZSBwdXJjaGFzZU9yZGVyOiBQdXJjaGFzZU9yZGVyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudD86IFByb2R1Y3RWYXJpYW50O1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFZlbmRvciB9IGZyb20gJy4vdmVuZG9yLmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vc3lzLnVzZXIuZW50aXR5JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXJJdGVtIH0gZnJvbSAnLi9wdXJjaGFzZS1vcmRlci1pdGVtLmVudGl0eSc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVyU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvcHVyY2hhc2VPcmRlclN0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFB1cmNoYXNlT3JkZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIEF1dG8tZ2VuZXJhdGVkIFBPIG51bWJlciBlLmcuIFBPLTIwMjYtMDAwMDFcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIHBvTnVtYmVyOiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmVuZG9yKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHZlbmRvcklkOiBudW1iZXI7XG5cbiAgLy8gVGFyZ2V0IGludmVudG9yeSB3aGVyZSByZWNlaXZlZCBzdG9jayB3aWxsIGJlIHN0b3JlZFxuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUHVyY2hhc2VPcmRlclN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogUHVyY2hhc2VPcmRlclN0YXR1cy5EUkFGVCxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFB1cmNoYXNlT3JkZXJTdGF0dXM7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSB0b3RhbEFtb3VudDogbnVtYmVyO1xuXG4gIC8vIEN1cnJlbmN5IG9mIHRoZSBQTyAodmVuZG9yJ3MgY3VycmVuY3kpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6ICdVU0QnIH0pXG4gIGRlY2xhcmUgY3VycmVuY3k6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZXhwZWN0ZWREZWxpdmVyeURhdGU/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzZW50QXQ/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjbG9zZWRBdD86IERhdGU7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNhbmNlbGxlZEF0PzogRGF0ZTtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2FuY2VsbGF0aW9uUmVhc29uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY3JlYXRlZEJ5PzogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFN5c1VzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzZW50Qnk/OiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFZlbmRvcilcbiAgZGVjbGFyZSB2ZW5kb3I6IFZlbmRvcjtcblxuICBAQmVsb25nc1RvKCgpID0+IEludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcnk6IEludmVudG9yeTtcblxuICBAQmVsb25nc1RvKCgpID0+IFN5c1VzZXIsIHsgZm9yZWlnbktleTogJ2NyZWF0ZWRCeScsIGFzOiAnY3JlYXRvcicgfSlcbiAgZGVjbGFyZSBjcmVhdG9yPzogU3lzVXNlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IFN5c1VzZXIsIHsgZm9yZWlnbktleTogJ3NlbnRCeScsIGFzOiAnc2VuZGVyJyB9KVxuICBkZWNsYXJlIHNlbmRlcj86IFN5c1VzZXI7XG5cbiAgQEhhc01hbnkoKCkgPT4gUHVyY2hhc2VPcmRlckl0ZW0pXG4gIGRlY2xhcmUgaXRlbXM6IFB1cmNoYXNlT3JkZXJJdGVtW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuL3Blcm1pc3Npb24uZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUm9sZVBlcm1pc3Npb24gZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFN5c1JvbGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgc3lzUm9sZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUGVybWlzc2lvbilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwZXJtaXNzaW9uSWQ6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFNoaXBwaW5nUnVsZSBleHRlbmRzIE1vZGVsIHtcbiAgLy8gRnJvbSB3aGljaCBpbnZlbnRvcnlcbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgLy8gVG8gd2hpY2ggY291bnRyeVxuICBARm9yZWlnbktleSgoKSA9PiBDb3VudHJ5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZDogbnVtYmVyO1xuXG4gIC8vIE9wdGlvbmFsOiBvdmVycmlkZSBmb3IgYSBzcGVjaWZpYyBzdG9yZVxuICAvLyBudWxsID0gYXBwbGllcyB0byBhbGwgc3RvcmVzIHNoaXBwaW5nIGZyb20gdGhpcyBpbnZlbnRvcnkgdG8gdGhpcyBjb3VudHJ5XG4gIEBGb3JlaWduS2V5KCgpID0+IFN0b3JlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc3RvcmVJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAxIH0pXG4gIGRlY2xhcmUgbWluRGF5czogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IDMgfSlcbiAgZGVjbGFyZSBtYXhEYXlzOiBudW1iZXI7XG5cbiAgLy8gQ2FycmllciBuYW1lIGUuZy4gQXJhbWV4LCBESEwsIEZlZEV4LCBJbnRlcm5hbFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2Fycmllck5hbWU/OiBzdHJpbmc7XG5cbiAgLy8gU2hpcHBpbmcgY29zdCBpbiB0aGUgaW52ZW50b3J5J3MgYmFzZSBjdXJyZW5jeSAoS1dEKVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc2hpcHBpbmdDb3N0PzogbnVtYmVyO1xuXG4gIC8vIEZyZWUgc2hpcHBpbmcgdGhyZXNob2xkIOKAlCBudWxsIG1lYW5zIG5ldmVyIGZyZWVcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBmcmVlU2hpcHBpbmdUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIGlzQWN0aXZlOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yeTogSW52ZW50b3J5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ291bnRyeSlcbiAgZGVjbGFyZSBjb3VudHJ5OiBDb3VudHJ5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3RvcmUpXG4gIGRlY2xhcmUgc3RvcmU/OiBTdG9yZTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vc3lzLnVzZXIuZW50aXR5JztcbmltcG9ydCB7IFN0b2NrTW92ZW1lbnRUeXBlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RvY2tNb3ZlbWVudFR5cGUnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTdG9ja01vdmVtZW50IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RvY2tNb3ZlbWVudFR5cGUpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICB9KVxuICBkZWNsYXJlIG1vdmVtZW50VHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG5cbiAgLy8gUG9zaXRpdmUgPSBzdG9jayBpbiwgTmVnYXRpdmUgPSBzdG9jayBvdXRcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBxdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIFNuYXBzaG90IG9mIHF1YW50aXR5IGJlZm9yZSB0aGlzIG1vdmVtZW50XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcXVhbnRpdHlCZWZvcmU6IG51bWJlcjtcblxuICAvLyBTbmFwc2hvdCBvZiBxdWFudGl0eSBhZnRlciB0aGlzIG1vdmVtZW50XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcXVhbnRpdHlBZnRlcjogbnVtYmVyO1xuXG4gIC8vIFJlZmVyZW5jZSB0byBzb3VyY2UgZG9jdW1lbnQgKFBPIGlkLCBvcmRlciBpZCwgZXRjLilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJlZmVyZW5jZVR5cGU/OiBzdHJpbmc7IC8vICdwdXJjaGFzZV9vcmRlcicgfCAnb3JkZXInIHwgJ21hbnVhbCcgfCAndHJhbnNmZXInXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJlZmVyZW5jZUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY3JlYXRlZEJ5PzogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBJbnZlbnRvcnkpXG4gIGRlY2xhcmUgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNVc2VyKVxuICBkZWNsYXJlIGNyZWF0ZWRCeVVzZXI/OiBTeXNVc2VyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN0b3JlSW52ZW50b3J5IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzdG9yZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgLy8gUHJpb3JpdHkg4oCUIGxvd2VyIG51bWJlciA9IHByZWZlcnJlZCBpbnZlbnRvcnkgZm9yIHRoaXMgc3RvcmVcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMSB9KVxuICBkZWNsYXJlIHByaW9yaXR5OiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRm9yZWlnbktleSwgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vcGF5bWVudC1tZXRob2QuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU3RvcmVQYXltZW50TWV0aG9kIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzdG9yZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUGF5bWVudE1ldGhvZClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwYXltZW50TWV0aG9kSWQ6IG51bWJlcjtcblxuICAvLyBTdG9yZSBjYW4gb3ZlcnJpZGUgc29ydCBvcmRlciBmb3IgZGlzcGxheVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgLy8gU3RvcmUgY2FuIGVuYWJsZS9kaXNhYmxlIGluZGVwZW5kZW50bHkgb2YgZ2xvYmFsIGlzQWN0aXZlXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBpc0VuYWJsZWQ6IGJvb2xlYW47XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFN0b3JlIH0gZnJvbSAnLi9wcm9kdWN0LXN0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IFBheW1lbnRNZXRob2QgfSBmcm9tICcuL3BheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZVBheW1lbnRNZXRob2QgfSBmcm9tICcuL3N0b3JlLXBheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN0b3JlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvZ28/OiBzdHJpbmc7XG5cbiAgLy8gSVNPIGN1cnJlbmN5IGNvZGUgZS5nLiBLV0QsIFNBUiwgUUFSLCBVU0RcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ1VTRCcgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeVN5bWJvbEVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeVN5bWJvbEFyPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc0dsb2JhbDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gUHJvZHVjdCwgKCkgPT4gUHJvZHVjdFN0b3JlKVxuICBkZWNsYXJlIHByb2R1Y3RzOiBQcm9kdWN0W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gSW52ZW50b3J5LCAoKSA9PiBTdG9yZUludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcmllczogSW52ZW50b3J5W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gUGF5bWVudE1ldGhvZCwgKCkgPT4gU3RvcmVQYXltZW50TWV0aG9kKVxuICBkZWNsYXJlIHBheW1lbnRNZXRob2RzOiBQYXltZW50TWV0aG9kW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgQmVsb25nc1RvTWFueSxcbiAgSGFzTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vcGVybWlzc2lvbi5lbnRpdHknO1xuaW1wb3J0IHsgUm9sZVBlcm1pc3Npb24gfSBmcm9tICcuL3JvbGUtcGVybWlzc2lvbi5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTeXNSb2xlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQZXJtaXNzaW9uLCAoKSA9PiBSb2xlUGVybWlzc2lvbilcbiAgZGVjbGFyZSBwZXJtaXNzaW9uczogUGVybWlzc2lvbltdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTeXNVc2VyIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdXNlcm5hbWU6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgZW1haWw6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGFzc3dvcmQ6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcHJvZmlsZVBpY3R1cmU/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzUm9sZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJvbGVJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsYXN0TG9naW4/OiBEYXRlO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3lzUm9sZSlcbiAgZGVjbGFyZSByb2xlPzogU3lzUm9sZTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFRhZyB9IGZyb20gJy4vcHJvZHVjdC10YWcuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFRhZyBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIHNsdWc6IHN0cmluZzsgLy8gZS5nLiAnYmVzdF9zZWxsZXInLCAnbmV3X2Fycml2YWwnLCAnZGlzY291bnQnXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIC8vIE9wdGlvbmFsIGNvbG9yIGZvciBVSSBiYWRnZSBkaXNwbGF5IGUuZy4gJyNGRjAwMDAnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb2xvcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQcm9kdWN0LCAoKSA9PiBQcm9kdWN0VGFnKVxuICBkZWNsYXJlIHByb2R1Y3RzOiBQcm9kdWN0W107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgQXJlYSB9IGZyb20gJy4vYXJlYS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyQWRkcmVzcyBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVXNlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1c2VySWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGxhYmVsOiBzdHJpbmc7IC8vIGUuZy4gJ0hvbWUnLCAnV29yaycsICdPdGhlcidcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGZ1bGxOYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZUV4dDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGhvbmU6IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBDb3VudHJ5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IEFyZWEpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhcmVhSWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNpdHk/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJsb2NrPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzdHJlZXQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJ1aWxkaW5nPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBmbG9vcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYXBhcnRtZW50Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRpdGlvbmFsSW5mbz86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCg5LCA2KSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbGF0aXR1ZGU/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoOSwgNiksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvbmdpdHVkZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzRGVmYXVsdDogYm9vbGVhbjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVXNlcilcbiAgZGVjbGFyZSB1c2VyOiBVc2VyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ291bnRyeSlcbiAgZGVjbGFyZSBjb3VudHJ5OiBDb3VudHJ5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQXJlYSlcbiAgZGVjbGFyZSBhcmVhPzogQXJlYTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVXNlckZhdm9yaXRlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVzZXJJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFVzZXIpXG4gIGRlY2xhcmUgdXNlcjogVXNlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuXG59XG4iLCJpbXBvcnQge1xuICBNb2RlbCxcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbiAgSGFzTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgR2VuZGVyIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvZ2VuZGVyJztcbmltcG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi91c2VyLWFkZHJlc3MuZW50aXR5JztcbmltcG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgZmlyc3ROYW1lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBsYXN0TmFtZT86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGFzc3dvcmQ6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB2YWxpZGF0ZTogeyBpc0VtYWlsOiB7IG1zZzogJ0ludmFsaWQgRW1haWwnIH0gfSB9KVxuICBkZWNsYXJlIGVtYWlsOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwaG9uZUV4dD86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYmlydGhkYXk/OiBEYXRlO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmYWNlYm9va0lkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBnb29nbGVJZD86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYXBwbGVJZD86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoTGFuZ3VhZ2UpKSxcbiAgICBkZWZhdWx0VmFsdWU6IExhbmd1YWdlLkVOR0xJU0gsXG4gIH0pXG4gIGRlY2xhcmUgcHJlZmVycmVkTGFuZ3VhZ2U6IExhbmd1YWdlO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwcmVmZXJyZWRDb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHByb2ZpbGVQaWM/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGxhc3RMb2dpbjogRGF0ZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzQmxvY2tlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzVmVyaWZpZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHJlZkNvZGU6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoR2VuZGVyKSksXG4gICAgZGVmYXVsdFZhbHVlOiBHZW5kZXIuUFJFRkVSX05PVF9UT19TQVksXG4gIH0pXG4gIGRlY2xhcmUgZ2VuZGVyOiBHZW5kZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEhhc01hbnkoKCkgPT4gVXNlckFkZHJlc3MpXG4gIGRlY2xhcmUgYWRkcmVzc2VzOiBVc2VyQWRkcmVzc1tdO1xuXG4gIEBIYXNNYW55KCgpID0+IFVzZXJGYXZvcml0ZSlcbiAgZGVjbGFyZSBmYXZvcml0ZXM6IFVzZXJGYXZvcml0ZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIFByaW1hcnlLZXksXG4gIEF1dG9JbmNyZW1lbnQsXG4gIENyZWF0ZWRBdCxcbiAgVXBkYXRlZEF0LFxuICBEZWxldGVkQXQsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgQmVsb25nc1RvTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5pbXBvcnQgeyBPc05hbWUgfSBmcm9tICcuLi91dGlscy9lbnVtcy9vc05hbWUnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyRGV2aWNlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uXG4gIGRlY2xhcmUgdXNlcklkOiBudW1iZXI7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBkZXZpY2VJZD86IHN0cmluZztcbiAgQENvbHVtblxuICBkZWNsYXJlIGZjbVRva2VuPzogc3RyaW5nO1xuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhPc05hbWUpKSxcbiAgICBhbGxvd051bGw6IHRydWUsXG4gIH0pXG4gIGRlY2xhcmUgb3NTeXN0ZW06IHN0cmluZztcbiAgQEJlbG9uZ3NUbygoKSA9PiBVc2VyKVxuICBkZWNsYXJlIHVzZXI6IFVzZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVmFyaWFudFR5cGUgfSBmcm9tICcuL3ZhcmlhbnQtdHlwZS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmFyaWFudE9wdGlvbiBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmFyaWFudFR5cGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdmFyaWFudFR5cGVJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBAQmVsb25nc1RvKCgpID0+IFZhcmlhbnRUeXBlKVxuICBkZWNsYXJlIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZTtcbn1cbiIsImltcG9ydCB7IFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBIYXNNYW55IH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBWYXJpYW50VHlwZSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi92ZW5kb3IuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZlbmRvclByb2R1Y3QgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFZlbmRvcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2ZW5kb3JJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8gbnVsbCA9IGFwcGxpZXMgdG8gcHJvZHVjdCB3aXRoIG5vIHZhcmlhbnRzXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBWZW5kb3IncyBjb3N0IHByaWNlIHRvIHVzXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNvc3RQcmljZTogbnVtYmVyO1xuXG4gIC8vIFZlbmRvcidzIFNLVS9yZWZlcmVuY2UgY29kZSBmb3IgdGhpcyBwcm9kdWN0XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSB2ZW5kb3JTa3U/OiBzdHJpbmc7XG5cbiAgLy8gVHlwaWNhbCBsZWFkIHRpbWUgaW4gZGF5cyBmcm9tIHRoaXMgdmVuZG9yXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsZWFkVGltZURheXM/OiBudW1iZXI7XG5cbiAgLy8gTWluaW11bSBvcmRlciBxdWFudGl0eVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAxIH0pXG4gIGRlY2xhcmUgbW9xOiBudW1iZXI7XG5cbiAgLy8gSXMgdGhpcyB0aGUgcHJlZmVycmVkL2RlZmF1bHQgdmVuZG9yIGZvciB0aGlzIHByb2R1Y3Q/XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNQcmVmZXJyZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVmVuZG9yKVxuICBkZWNsYXJlIHZlbmRvcjogVmVuZG9yO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudD86IFByb2R1Y3RWYXJpYW50O1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZlbmRvciBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb250YWN0UGVyc29uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBlbWFpbD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcGhvbmU/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZHJlc3NFbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0FyPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHRheE51bWJlcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29tbWVyY2lhbFJlZ051bWJlcj86IHN0cmluZztcblxuICAvLyBEZWZhdWx0IHBheW1lbnQgdGVybXMgaW4gZGF5cyAoZS5nLiAzMCA9IE5FVDMwKVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcGF5bWVudFRlcm1zRGF5czogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG59XG4iLCJpbXBvcnQgeyBNb2RlbEN0b3IgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5cbi8vIOKUgOKUgOKUgCBFeGlzdGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2VudGl0aWVzL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuL2VudGl0aWVzL2FyZWEuZW50aXR5JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL2VudGl0aWVzL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBTeXNVc2VyIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMudXNlci5lbnRpdHknO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vZW50aXRpZXMvdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckRldmljZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlckRldmljZS5lbnRpdHknO1xuaW1wb3J0IHsgQXBpS2V5IH0gZnJvbSAnLi9lbnRpdGllcy9hcGlrZXkuZW50aXR5JztcbmltcG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5JztcbmltcG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2F0YWxvZ3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eSc7XG5pbXBvcnQgeyBCcmFuZCB9IGZyb20gJy4vZW50aXRpZXMvYnJhbmQuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0TWVkaWEgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtbWVkaWEuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50T3B0aW9uIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL2VudGl0aWVzL3RhZy5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFRhZyB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC10YWcuZW50aXR5JztcbmltcG9ydCB7IEJ1bmRsZSB9IGZyb20gJy4vZW50aXRpZXMvYnVuZGxlLmVudGl0eSc7XG5pbXBvcnQgeyBCdW5kbGVQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9idW5kbGUtcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgQnVuZGxlU3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL2J1bmRsZS1zdG9yZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgU3RvcmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0U3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3Qtc3RvcmUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIEludmVudG9yeSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTdG9jayB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LXN0b2NrLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9ja01vdmVtZW50IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9jay1tb3ZlbWVudC5lbnRpdHknO1xuaW1wb3J0IHsgU2hpcHBpbmdSdWxlIH0gZnJvbSAnLi9lbnRpdGllcy9zaGlwcGluZy1ydWxlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQdXJjaGFzaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3IuZW50aXR5JztcbmltcG9ydCB7IFZlbmRvclByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3ZlbmRvci1wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVyIH0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci5lbnRpdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlckl0ZW0gfSBmcm9tICcuL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLWl0ZW0uZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFBlcm1pc3Npb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vZW50aXRpZXMvcGVybWlzc2lvbi5lbnRpdHknO1xuaW1wb3J0IHsgUm9sZVBlcm1pc3Npb24gfSBmcm9tICcuL2VudGl0aWVzL3JvbGUtcGVybWlzc2lvbi5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUGF5bWVudCBNZXRob2RzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgUGF5bWVudEdhdGV3YXkgfSBmcm9tICcuL2VudGl0aWVzL3BheW1lbnQtZ2F0ZXdheS5lbnRpdHknO1xuaW1wb3J0IHsgUGF5bWVudE1ldGhvZCB9IGZyb20gJy4vZW50aXRpZXMvcGF5bWVudC1tZXRob2QuZW50aXR5JztcbmltcG9ydCB7IFBheW1lbnRNZXRob2RDb3VudHJ5IH0gZnJvbSAnLi9lbnRpdGllcy9wYXltZW50LW1ldGhvZC1jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZVBheW1lbnRNZXRob2QgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLXBheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBDYXJ0cyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IENhcnQgfSBmcm9tICcuL2VudGl0aWVzL2NhcnQuZW50aXR5JztcbmltcG9ydCB7IENhcnRJdGVtIH0gZnJvbSAnLi9lbnRpdGllcy9jYXJ0LWl0ZW0uZW50aXR5JztcbmltcG9ydCB7IENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uIH0gZnJvbSAnLi9lbnRpdGllcy9jYXJ0LWl0ZW0tYnVuZGxlLXNlbGVjdGlvbi5lbnRpdHknO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVhQT1JUU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8g4pSA4pSA4pSAIEV4aXN0aW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgQXBpS2V5IH0gZnJvbSAnLi9lbnRpdGllcy9hcGlrZXkuZW50aXR5JztcbmV4cG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2VudGl0aWVzL2NvdW50cnkuZW50aXR5JztcbmV4cG9ydCB7IEFyZWEgfSBmcm9tICcuL2VudGl0aWVzL2FyZWEuZW50aXR5JztcbmV4cG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL2VudGl0aWVzL3N5cy5yb2xlLmVudGl0eSc7XG5leHBvcnQgeyBTeXNVc2VyIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMudXNlci5lbnRpdHknO1xuZXhwb3J0IHsgVXNlciB9IGZyb20gJy4vZW50aXRpZXMvdXNlci5lbnRpdHknO1xuZXhwb3J0IHsgVXNlckRldmljZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlckRldmljZS5lbnRpdHknO1xuZXhwb3J0IHsgVXNlckFkZHJlc3MgfSBmcm9tICcuL2VudGl0aWVzL3VzZXItYWRkcmVzcy5lbnRpdHknO1xuZXhwb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBDYXRhbG9ndWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vZW50aXRpZXMvY2F0ZWdvcnkuZW50aXR5JztcbmV4cG9ydCB7IEJyYW5kIH0gZnJvbSAnLi9lbnRpdGllcy9icmFuZC5lbnRpdHknO1xuZXhwb3J0IHsgVmFyaWFudFR5cGUgfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtdHlwZS5lbnRpdHknO1xuZXhwb3J0IHsgVmFyaWFudE9wdGlvbiB9IGZyb20gJy4vZW50aXRpZXMvdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmV4cG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QuZW50aXR5JztcbmV4cG9ydCB7IFByb2R1Y3RNZWRpYSwgTWVkaWFUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LW1lZGlhLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC12YXJpYW50LW9wdGlvbi5lbnRpdHknO1xuZXhwb3J0IHsgVGFnIH0gZnJvbSAnLi9lbnRpdGllcy90YWcuZW50aXR5JztcbmV4cG9ydCB7IFByb2R1Y3RUYWcgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdGFnLmVudGl0eSc7XG5leHBvcnQgeyBCdW5kbGUgfSBmcm9tICcuL2VudGl0aWVzL2J1bmRsZS5lbnRpdHknO1xuZXhwb3J0IHsgQnVuZGxlUHJvZHVjdCB9IGZyb20gJy4vZW50aXRpZXMvYnVuZGxlLXByb2R1Y3QuZW50aXR5JztcbmV4cG9ydCB7IEJ1bmRsZVN0b3JlIH0gZnJvbSAnLi9lbnRpdGllcy9idW5kbGUtc3RvcmUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFN0b3JlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFN0b3JlIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXN0b3JlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBJbnZlbnRvcnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2VudGl0aWVzL2ludmVudG9yeS5lbnRpdHknO1xuZXhwb3J0IHsgU3RvcmVJbnZlbnRvcnkgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLWludmVudG9yeS5lbnRpdHknO1xuZXhwb3J0IHsgSW52ZW50b3J5U3RvY2sgfSBmcm9tICcuL2VudGl0aWVzL2ludmVudG9yeS1zdG9jay5lbnRpdHknO1xuZXhwb3J0IHsgU3RvY2tNb3ZlbWVudCB9IGZyb20gJy4vZW50aXRpZXMvc3RvY2stbW92ZW1lbnQuZW50aXR5JztcbmV4cG9ydCB7IFNoaXBwaW5nUnVsZSB9IGZyb20gJy4vZW50aXRpZXMvc2hpcHBpbmctcnVsZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUHVyY2hhc2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IFZlbmRvciB9IGZyb20gJy4vZW50aXRpZXMvdmVuZG9yLmVudGl0eSc7XG5leHBvcnQgeyBWZW5kb3JQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3ItcHJvZHVjdC5lbnRpdHknO1xuZXhwb3J0IHsgUHVyY2hhc2VPcmRlciB9IGZyb20gJy4vZW50aXRpZXMvcHVyY2hhc2Utb3JkZXIuZW50aXR5JztcbmV4cG9ydCB7XG4gIFB1cmNoYXNlT3JkZXJJdGVtLFxuICBQdXJjaGFzZU9yZGVySXRlbVN0YXR1cyxcbn0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci1pdGVtLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQZXJtaXNzaW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZXhwb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vZW50aXRpZXMvcGVybWlzc2lvbi5lbnRpdHknO1xuZXhwb3J0IHsgUm9sZVBlcm1pc3Npb24gfSBmcm9tICcuL2VudGl0aWVzL3JvbGUtcGVybWlzc2lvbi5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUGF5bWVudCBNZXRob2RzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHtcbiAgUGF5bWVudEdhdGV3YXksXG4gIFBheW1lbnRHYXRld2F5VHlwZSxcbn0gZnJvbSAnLi9lbnRpdGllcy9wYXltZW50LWdhdGV3YXkuZW50aXR5JztcbmV4cG9ydCB7XG4gIFBheW1lbnRNZXRob2QsXG4gIFBheW1lbnRNZXRob2RUeXBlLFxufSBmcm9tICcuL2VudGl0aWVzL3BheW1lbnQtbWV0aG9kLmVudGl0eSc7XG5leHBvcnQgeyBQYXltZW50TWV0aG9kQ291bnRyeSB9IGZyb20gJy4vZW50aXRpZXMvcGF5bWVudC1tZXRob2QtY291bnRyeS5lbnRpdHknO1xuZXhwb3J0IHsgU3RvcmVQYXltZW50TWV0aG9kIH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS1wYXltZW50LW1ldGhvZC5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2FydHMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBDYXJ0LCBDYXJ0U3RhdHVzIH0gZnJvbSAnLi9lbnRpdGllcy9jYXJ0LmVudGl0eSc7XG5leHBvcnQgeyBDYXJ0SXRlbSwgQ2FydEl0ZW1UeXBlIH0gZnJvbSAnLi9lbnRpdGllcy9jYXJ0LWl0ZW0uZW50aXR5JztcbmV4cG9ydCB7IENhcnRJdGVtQnVuZGxlU2VsZWN0aW9uIH0gZnJvbSAnLi9lbnRpdGllcy9jYXJ0LWl0ZW0tYnVuZGxlLXNlbGVjdGlvbi5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgRW51bXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBPc05hbWUgfSBmcm9tICcuL3V0aWxzL2VudW1zL29zTmFtZSc7XG5leHBvcnQgeyBQcm9kdWN0QXBwIH0gZnJvbSAnLi91dGlscy9lbnVtcy9wcm9kdWN0QXBwJztcbmV4cG9ydCB7IFZlcnNpb25UeXBlIH0gZnJvbSAnLi91dGlscy9lbnVtcy92ZXJzaW9udHlwZSc7XG5leHBvcnQgeyBMYW5ndWFnZSB9IGZyb20gJy4vdXRpbHMvZW51bXMvbGFuZ3VhZ2UnO1xuZXhwb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuZXhwb3J0IHsgR2VuZGVyIH0gZnJvbSAnLi91dGlscy9lbnVtcy9nZW5kZXInO1xuZXhwb3J0IHsgUHVyY2hhc2VPcmRlclN0YXR1cyB9IGZyb20gJy4vdXRpbHMvZW51bXMvcHVyY2hhc2VPcmRlclN0YXR1cyc7XG5leHBvcnQgeyBTdG9ja01vdmVtZW50VHlwZSB9IGZyb20gJy4vdXRpbHMvZW51bXMvc3RvY2tNb3ZlbWVudFR5cGUnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTU9ERUwgUkVHSVNUUllcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREYk1vZGVscygpOiBNb2RlbEN0b3JbXSB7XG4gIHJldHVybiBbXG4gICAgLy8gRXhpc3RpbmdcbiAgICBBcGlLZXksXG4gICAgQXJlYSxcbiAgICBDb3VudHJ5LFxuICAgIFN5c1JvbGUsXG4gICAgU3lzVXNlcixcbiAgICBVc2VyLFxuICAgIFVzZXJEZXZpY2UsXG4gICAgVXNlckFkZHJlc3MsXG4gICAgVXNlckZhdm9yaXRlLFxuXG4gICAgLy8gQ2F0YWxvZ3VlXG4gICAgQ2F0ZWdvcnksXG4gICAgQnJhbmQsXG4gICAgVmFyaWFudFR5cGUsXG4gICAgVmFyaWFudE9wdGlvbixcbiAgICBQcm9kdWN0LFxuICAgIFByb2R1Y3RNZWRpYSxcbiAgICBQcm9kdWN0VmFyaWFudCxcbiAgICBQcm9kdWN0VmFyaWFudE9wdGlvbixcbiAgICBUYWcsXG4gICAgUHJvZHVjdFRhZyxcbiAgICBCdW5kbGUsXG4gICAgQnVuZGxlUHJvZHVjdCxcbiAgICBCdW5kbGVTdG9yZSxcblxuICAgIC8vIFN0b3Jlc1xuICAgIFN0b3JlLFxuICAgIFByb2R1Y3RTdG9yZSxcblxuICAgIC8vIEludmVudG9yeVxuICAgIEludmVudG9yeSxcbiAgICBTdG9yZUludmVudG9yeSxcbiAgICBJbnZlbnRvcnlTdG9jayxcbiAgICBTdG9ja01vdmVtZW50LFxuICAgIFNoaXBwaW5nUnVsZSxcblxuICAgIC8vIFB1cmNoYXNpbmdcbiAgICBWZW5kb3IsXG4gICAgVmVuZG9yUHJvZHVjdCxcbiAgICBQdXJjaGFzZU9yZGVyLFxuICAgIFB1cmNoYXNlT3JkZXJJdGVtLFxuXG4gICAgLy8gUGVybWlzc2lvbnNcbiAgICBQZXJtaXNzaW9uLFxuICAgIFJvbGVQZXJtaXNzaW9uLFxuXG4gICAgLy8gUGF5bWVudFxuICAgIFBheW1lbnRHYXRld2F5LFxuICAgIFBheW1lbnRNZXRob2QsXG4gICAgUGF5bWVudE1ldGhvZENvdW50cnksXG4gICAgU3RvcmVQYXltZW50TWV0aG9kLFxuXG4gICAgLy8gQ2FydFxuICAgIENhcnQsXG4gICAgQ2FydEl0ZW0sXG4gICAgQ2FydEl0ZW1CdW5kbGVTZWxlY3Rpb24sXG4gIF07XG59XG4iLCJleHBvcnQgZW51bSBHZW5kZXIge1xuICBNQUxFID0gJ01hbGUnLFxuICBGRU1BTEUgPSAnRmVtYWxlJyxcbiAgUFJFRkVSX05PVF9UT19TQVkgPSAnUHJlZmVyIG5vdCB0byBzYXknLFxufVxuIiwiZXhwb3J0IGVudW0gTGFuZ3VhZ2Uge1xuICBFTkdMSVNIID0gJ2VuJyxcbiAgQVJBQklDID0gJ2FyJyxcbn1cbiIsImV4cG9ydCBlbnVtIE9zTmFtZSB7XG4gIEFORFJPSUQgPSAnYW5kcm9pZCcsXG4gIElPUyA9ICdpT1MnLFxuICBXRUIgPSAnd2ViJyxcbn1cbiIsImV4cG9ydCBlbnVtIFByb2R1Y3RBcHAge1xuICBEQVNIQk9BUkQgPSAnZGFzaGJvYXJkJyxcbiAgVVNFUl9BUFAgPSAndXNlcmFwcCcsXG59XG4iLCJleHBvcnQgZW51bSBQdXJjaGFzZU9yZGVyU3RhdHVzIHtcbiAgRFJBRlQgPSAnZHJhZnQnLFxuICBTRU5UX1RPX1ZFTkRPUiA9ICdzZW50X3RvX3ZlbmRvcicsXG4gIFBBUlRJQUxMWV9SRUNFSVZFRCA9ICdwYXJ0aWFsbHlfcmVjZWl2ZWQnLFxuICBGVUxMWV9SRUNFSVZFRCA9ICdmdWxseV9yZWNlaXZlZCcsXG4gIENMT1NFRCA9ICdjbG9zZWQnLFxuICBDQU5DRUxMRUQgPSAnY2FuY2VsbGVkJyxcbn1cbiIsImV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIEFDVElWRSA9ICdhY3RpdmUnLFxuICBJTl9BQ1RJVkUgPSAnaW5hY3RpdmUnLFxufVxuIiwiZXhwb3J0IGVudW0gU3RvY2tNb3ZlbWVudFR5cGUge1xuICAvLyBTdG9jayBjb21pbmcgaW5cbiAgUkVDRUlWRUQgPSAncmVjZWl2ZWQnLCAgICAgICAgICAgLy8gUE8gcmVjZWl2ZWQgaW50byBpbnZlbnRvcnlcblxuICAvLyBTdG9jayBnb2luZyBvdXQgb3IgYmVpbmcgaGVsZFxuICBSRVNFUlZFRCA9ICdyZXNlcnZlZCcsICAgICAgICAgICAvLyBSZXNlcnZlZCBmb3IgYSBwZW5kaW5nIG9yZGVyXG4gIFJFU0VSVkFUSU9OX1JFTEVBU0VEID0gJ3Jlc2VydmF0aW9uX3JlbGVhc2VkJywgLy8gT3JkZXIgY2FuY2VsbGVkLCBzdG9jayBmcmVlZFxuXG4gIC8vIE1hbnVhbCBhZGp1c3RtZW50c1xuICBBREpVU1RNRU5UX0FERCA9ICdhZGp1c3RtZW50X2FkZCcsICAgICAgIC8vIE1hbnVhbCBzdG9jayBpbmNyZWFzZVxuICBBREpVU1RNRU5UX1JFTU9WRSA9ICdhZGp1c3RtZW50X3JlbW92ZScsIC8vIE1hbnVhbCBzdG9jayBkZWNyZWFzZSAoZGFtYWdlLCBsb3NzKVxuXG4gIC8vIFJldHVybnNcbiAgUkVUVVJORURfRlJPTV9DVVNUT01FUiA9ICdyZXR1cm5lZF9mcm9tX2N1c3RvbWVyJyxcbiAgUkVUVVJORURfVE9fVkVORE9SID0gJ3JldHVybmVkX3RvX3ZlbmRvcicsXG5cbiAgLy8gVHJhbnNmZXJzXG4gIFRSQU5TRkVSX0lOID0gJ3RyYW5zZmVyX2luJywgICAvLyBNb3ZlZCBpbiBmcm9tIGFub3RoZXIgaW52ZW50b3J5XG4gIFRSQU5TRkVSX09VVCA9ICd0cmFuc2Zlcl9vdXQnLCAvLyBNb3ZlZCBvdXQgdG8gYW5vdGhlciBpbnZlbnRvcnlcbn1cbiIsImV4cG9ydCBlbnVtIFZlcnNpb25UeXBlIHtcbiAgT1BUSU9OQUwgPSAnb3B0aW9uYWwnLFxuICBNQU5EQVRPUlkgPSAnbWFuZGF0b3J5Jyxcbn1cbiIsImltcG9ydCB7IE1vZHVsZSB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcbmltcG9ydCB7IFNlcXVlbGl6ZU1vZHVsZSB9IGZyb20gJ0BuZXN0anMvc2VxdWVsaXplJztcbmltcG9ydCB7IENvbmZpZ01vZHVsZSB9IGZyb20gJ0BuZXN0anMvY29uZmlnJztcbmltcG9ydCB7IGdldERiTW9kZWxzIH0gZnJvbSAnQGFwcC90YXRheWFiLWVudGl0aWVzLWxpYnJhcnknO1xuXG5ATW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbmZpZ01vZHVsZS5mb3JSb290KHtcbiAgICAgIGlzR2xvYmFsOiB0cnVlLFxuICAgIH0pLFxuICAgIFNlcXVlbGl6ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGRpYWxlY3Q6ICdteXNxbCcsXG4gICAgICBob3N0OiBwcm9jZXNzLmVudi5NWVNRTF9IT1NULFxuICAgICAgZGF0YWJhc2U6IHByb2Nlc3MuZW52Lk1ZU1FMX0RBVEFCQVNFLFxuICAgICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52Lk1ZU1FMX1VTRVIsXG4gICAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuTVlTUUxfUEFTU1dPUkQsXG4gICAgICBwb3J0OiAzMzA2LFxuICAgICAgbW9kZWxzOiBnZXREYk1vZGVscygpLFxuICAgICAgYXV0b0xvYWRNb2RlbHM6IHRydWUsXG4gICAgICBzeW5jaHJvbml6ZTogdHJ1ZSxcbiAgICAgIGxvZ2dpbmc6IGZhbHNlLFxuICAgICAgZGVmaW5lOiB7XG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICAgIHBhcmFub2lkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvbW1vblwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvbmZpZ1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvcmVcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG5lc3Rqcy9zZXF1ZWxpemVcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwic2VxdWVsaXplLXR5cGVzY3JpcHRcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwidHNjb25maWctcGF0aHMvcmVnaXN0ZXJcIik7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDaGVjayBpZiBtb2R1bGUgZXhpc3RzIChkZXZlbG9wbWVudCBvbmx5KVxuXHRpZiAoX193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0gPT09IHVuZGVmaW5lZCkge1xuXHRcdHZhciBlID0gbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIiArIG1vZHVsZUlkICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiaW1wb3J0ICd0c2NvbmZpZy1wYXRocy9yZWdpc3Rlcic7XG5pbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gJ0BuZXN0anMvY29yZSc7XG5pbXBvcnQgeyBBcHBNb2R1bGUgfSBmcm9tICcuL2FwcC5tb2R1bGUnO1xuXG5hc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUsIHsgY29yczogdHJ1ZSB9KTtcbiAgYXdhaXQgYXBwLmxpc3Rlbihwcm9jZXNzLmVudi5TRVJWRVJfUE9SVCA/PyA5MDA0KTtcbn1cbmJvb3RzdHJhcCgpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==