tt-entities 0.0.25 → 0.0.27
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/libs/tatayab-entities-library/entities/shipping-rule.entity.d.ts +19 -0
- package/dist/libs/tatayab-entities-library/entities/shipping-rule.entity.js +78 -0
- package/dist/libs/tatayab-entities-library/entities/shipping-rule.entity.js.map +1 -0
- package/dist/libs/tatayab-entities-library/index.d.ts +1 -0
- package/dist/libs/tatayab-entities-library/index.js +5 -1
- package/dist/libs/tatayab-entities-library/index.js.map +1 -1
- package/dist/src/main.js +94 -2
- package/libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts +65 -0
- package/libs/tatayab-entities-library/src/index.ts +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Model } from 'sequelize-typescript';
|
|
2
|
+
import { Inventory } from './inventory.entity';
|
|
3
|
+
import { Country } from './country.entity';
|
|
4
|
+
import { Store } from './store.entity';
|
|
5
|
+
export declare class ShippingRule extends Model {
|
|
6
|
+
inventoryId: number;
|
|
7
|
+
countryId: number;
|
|
8
|
+
storeId?: number;
|
|
9
|
+
minDays: number;
|
|
10
|
+
maxDays: number;
|
|
11
|
+
carrierName?: string;
|
|
12
|
+
shippingCost?: number;
|
|
13
|
+
freeShippingThreshold?: number;
|
|
14
|
+
isActive: boolean;
|
|
15
|
+
notes?: string;
|
|
16
|
+
inventory: Inventory;
|
|
17
|
+
country: Country;
|
|
18
|
+
store?: Store;
|
|
19
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
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;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ShippingRule = void 0;
|
|
13
|
+
const sequelize_typescript_1 = require("sequelize-typescript");
|
|
14
|
+
const inventory_entity_1 = require("./inventory.entity");
|
|
15
|
+
const country_entity_1 = require("./country.entity");
|
|
16
|
+
const store_entity_1 = require("./store.entity");
|
|
17
|
+
let ShippingRule = class ShippingRule extends sequelize_typescript_1.Model {
|
|
18
|
+
};
|
|
19
|
+
exports.ShippingRule = ShippingRule;
|
|
20
|
+
__decorate([
|
|
21
|
+
(0, sequelize_typescript_1.ForeignKey)(() => inventory_entity_1.Inventory),
|
|
22
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false }),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], ShippingRule.prototype, "inventoryId", void 0);
|
|
25
|
+
__decorate([
|
|
26
|
+
(0, sequelize_typescript_1.ForeignKey)(() => country_entity_1.Country),
|
|
27
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false }),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], ShippingRule.prototype, "countryId", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, sequelize_typescript_1.ForeignKey)(() => store_entity_1.Store),
|
|
32
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
33
|
+
__metadata("design:type", Number)
|
|
34
|
+
], ShippingRule.prototype, "storeId", void 0);
|
|
35
|
+
__decorate([
|
|
36
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 1 }),
|
|
37
|
+
__metadata("design:type", Number)
|
|
38
|
+
], ShippingRule.prototype, "minDays", void 0);
|
|
39
|
+
__decorate([
|
|
40
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 3 }),
|
|
41
|
+
__metadata("design:type", Number)
|
|
42
|
+
], ShippingRule.prototype, "maxDays", void 0);
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], ShippingRule.prototype, "carrierName", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DECIMAL(10, 3), allowNull: true, defaultValue: 0 }),
|
|
49
|
+
__metadata("design:type", Number)
|
|
50
|
+
], ShippingRule.prototype, "shippingCost", void 0);
|
|
51
|
+
__decorate([
|
|
52
|
+
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DECIMAL(10, 3), allowNull: true }),
|
|
53
|
+
__metadata("design:type", Number)
|
|
54
|
+
], ShippingRule.prototype, "freeShippingThreshold", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: true }),
|
|
57
|
+
__metadata("design:type", Boolean)
|
|
58
|
+
], ShippingRule.prototype, "isActive", void 0);
|
|
59
|
+
__decorate([
|
|
60
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
61
|
+
__metadata("design:type", String)
|
|
62
|
+
], ShippingRule.prototype, "notes", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
(0, sequelize_typescript_1.BelongsTo)(() => inventory_entity_1.Inventory),
|
|
65
|
+
__metadata("design:type", inventory_entity_1.Inventory)
|
|
66
|
+
], ShippingRule.prototype, "inventory", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, sequelize_typescript_1.BelongsTo)(() => country_entity_1.Country),
|
|
69
|
+
__metadata("design:type", country_entity_1.Country)
|
|
70
|
+
], ShippingRule.prototype, "country", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
(0, sequelize_typescript_1.BelongsTo)(() => store_entity_1.Store),
|
|
73
|
+
__metadata("design:type", store_entity_1.Store)
|
|
74
|
+
], ShippingRule.prototype, "store", void 0);
|
|
75
|
+
exports.ShippingRule = ShippingRule = __decorate([
|
|
76
|
+
sequelize_typescript_1.Table
|
|
77
|
+
], ShippingRule);
|
|
78
|
+
//# sourceMappingURL=shipping-rule.entity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shipping-rule.entity.js","sourceRoot":"","sources":["../../../../libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAO8B;AAC9B,yDAA+C;AAC/C,qDAA2C;AAC3C,iDAAuC;AAGhC,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAK;CAmDtC,CAAA;AAnDY,oCAAY;AAIf;IAFP,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,4BAAS,CAAC;IAC3B,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;iDACD;AAKpB;IAFP,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;IACzB,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;+CACH;AAMlB;IAFP,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;IACvB,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;6CACH;AAGjB;IADP,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;6CACtB;AAGhB;IADP,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;6CACtB;AAIhB;IADP,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;iDACC;AAIrB;IADP,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;kDAC9C;AAItB;IADP,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;2DACpB;AAG/B;IADP,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;8CACvB;AAGlB;IADP,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;;2CACL;AAKf;IADP,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,4BAAS,CAAC;8BACR,4BAAS;+CAAC;AAGrB;IADP,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,wBAAO,CAAC;8BACR,wBAAO;6CAAC;AAGjB;IADP,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,oBAAK,CAAC;8BACP,oBAAK;2CAAC;uBAlDX,YAAY;IADxB,4BAAK;GACO,YAAY,CAmDxB"}
|
|
@@ -24,6 +24,7 @@ export { Inventory } from './entities/inventory.entity';
|
|
|
24
24
|
export { StoreInventory } from './entities/store-inventory.entity';
|
|
25
25
|
export { InventoryStock } from './entities/inventory-stock.entity';
|
|
26
26
|
export { StockMovement } from './entities/stock-movement.entity';
|
|
27
|
+
export { ShippingRule } from './entities/shipping-rule.entity';
|
|
27
28
|
export { Vendor } from './entities/vendor.entity';
|
|
28
29
|
export { VendorProduct } from './entities/vendor-product.entity';
|
|
29
30
|
export { PurchaseOrder } from './entities/purchase-order.entity';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StockMovementType = exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = exports.ProductApp = exports.OsName = exports.RolePermission = exports.Permission = exports.PurchaseOrderItemStatus = exports.PurchaseOrderItem = exports.PurchaseOrder = exports.VendorProduct = exports.Vendor = exports.StockMovement = exports.InventoryStock = exports.StoreInventory = exports.Inventory = exports.ProductStore = exports.Store = 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;
|
|
3
|
+
exports.StockMovementType = exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = exports.ProductApp = exports.OsName = 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.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;
|
|
4
4
|
exports.getDbModels = getDbModels;
|
|
5
5
|
const country_entity_1 = require("./entities/country.entity");
|
|
6
6
|
const area_entity_1 = require("./entities/area.entity");
|
|
@@ -27,6 +27,7 @@ const inventory_entity_1 = require("./entities/inventory.entity");
|
|
|
27
27
|
const store_inventory_entity_1 = require("./entities/store-inventory.entity");
|
|
28
28
|
const inventory_stock_entity_1 = require("./entities/inventory-stock.entity");
|
|
29
29
|
const stock_movement_entity_1 = require("./entities/stock-movement.entity");
|
|
30
|
+
const shipping_rule_entity_1 = require("./entities/shipping-rule.entity");
|
|
30
31
|
const vendor_entity_1 = require("./entities/vendor.entity");
|
|
31
32
|
const vendor_product_entity_1 = require("./entities/vendor-product.entity");
|
|
32
33
|
const purchase_order_entity_1 = require("./entities/purchase-order.entity");
|
|
@@ -84,6 +85,8 @@ var inventory_stock_entity_2 = require("./entities/inventory-stock.entity");
|
|
|
84
85
|
Object.defineProperty(exports, "InventoryStock", { enumerable: true, get: function () { return inventory_stock_entity_2.InventoryStock; } });
|
|
85
86
|
var stock_movement_entity_2 = require("./entities/stock-movement.entity");
|
|
86
87
|
Object.defineProperty(exports, "StockMovement", { enumerable: true, get: function () { return stock_movement_entity_2.StockMovement; } });
|
|
88
|
+
var shipping_rule_entity_2 = require("./entities/shipping-rule.entity");
|
|
89
|
+
Object.defineProperty(exports, "ShippingRule", { enumerable: true, get: function () { return shipping_rule_entity_2.ShippingRule; } });
|
|
87
90
|
var vendor_entity_2 = require("./entities/vendor.entity");
|
|
88
91
|
Object.defineProperty(exports, "Vendor", { enumerable: true, get: function () { return vendor_entity_2.Vendor; } });
|
|
89
92
|
var vendor_product_entity_2 = require("./entities/vendor-product.entity");
|
|
@@ -140,6 +143,7 @@ function getDbModels() {
|
|
|
140
143
|
store_inventory_entity_1.StoreInventory,
|
|
141
144
|
inventory_stock_entity_1.InventoryStock,
|
|
142
145
|
stock_movement_entity_1.StockMovement,
|
|
146
|
+
shipping_rule_entity_1.ShippingRule,
|
|
143
147
|
vendor_entity_1.Vendor,
|
|
144
148
|
vendor_product_entity_1.VendorProduct,
|
|
145
149
|
purchase_order_entity_1.PurchaseOrder,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/tatayab-entities-library/src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../libs/tatayab-entities-library/src/index.ts"],"names":[],"mappings":";;;AAgHA,kCA8CC;AA3JD,8DAAoD;AACpD,wDAA8C;AAC9C,gEAAqD;AACrD,gEAAqD;AACrD,wDAA8C;AAC9C,oEAA0D;AAC1D,4DAAkD;AAClD,wEAA6D;AAC7D,0EAA+D;AAG/D,gEAAsD;AACtD,0DAAgD;AAChD,wEAA6D;AAC7D,4EAAiE;AACjE,8DAAoD;AACpD,0EAA+D;AAC/D,8EAAmE;AACnE,4FAAgF;AAChF,sDAA4C;AAC5C,sEAA2D;AAG3D,0DAAgD;AAChD,0EAA+D;AAG/D,kEAAwD;AACxD,8EAAmE;AACnE,8EAAmE;AACnE,4EAAiE;AACjE,0EAA+D;AAG/D,4DAAkD;AAClD,4EAAiE;AACjE,4EAAiE;AACjE,sFAA0E;AAG1E,oEAA0D;AAC1D,8EAAmE;AAOnE,0DAAkD;AAAzC,uGAAA,MAAM,OAAA;AACf,4DAAoD;AAA3C,yGAAA,OAAO,OAAA;AAChB,sDAA8C;AAArC,mGAAA,IAAI,OAAA;AACb,8DAAqD;AAA5C,0GAAA,OAAO,OAAA;AAChB,8DAAqD;AAA5C,0GAAA,OAAO,OAAA;AAChB,sDAA8C;AAArC,mGAAA,IAAI,OAAA;AACb,kEAA0D;AAAjD,+GAAA,UAAU,OAAA;AACnB,sEAA6D;AAApD,kHAAA,WAAW,OAAA;AACpB,wEAA+D;AAAtD,oHAAA,YAAY,OAAA;AAGrB,8DAAsD;AAA7C,2GAAA,QAAQ,OAAA;AACjB,wDAAgD;AAAvC,qGAAA,KAAK,OAAA;AACd,sEAA6D;AAApD,kHAAA,WAAW,OAAA;AACpB,0EAAiE;AAAxD,sHAAA,aAAa,OAAA;AACtB,4DAAoD;AAA3C,yGAAA,OAAO,OAAA;AAChB,wEAA0E;AAAjE,oHAAA,YAAY,OAAA;AAAE,iHAAA,SAAS,OAAA;AAChC,4EAAmE;AAA1D,wHAAA,cAAc,OAAA;AACvB,0FAAgF;AAAvE,qIAAA,oBAAoB,OAAA;AAC7B,oDAA4C;AAAnC,iGAAA,GAAG,OAAA;AACZ,oEAA2D;AAAlD,gHAAA,UAAU,OAAA;AAGnB,wDAAgD;AAAvC,qGAAA,KAAK,OAAA;AACd,wEAA+D;AAAtD,oHAAA,YAAY,OAAA;AAGrB,gEAAwD;AAA/C,6GAAA,SAAS,OAAA;AAClB,4EAAmE;AAA1D,wHAAA,cAAc,OAAA;AACvB,4EAAmE;AAA1D,wHAAA,cAAc,OAAA;AACvB,0EAAiE;AAAxD,sHAAA,aAAa,OAAA;AACtB,wEAA+D;AAAtD,oHAAA,YAAY,OAAA;AAGrB,0DAAkD;AAAzC,uGAAA,MAAM,OAAA;AACf,0EAAiE;AAAxD,sHAAA,aAAa,OAAA;AACtB,0EAAiE;AAAxD,sHAAA,aAAa,OAAA;AACtB,oFAG+C;AAF7C,+HAAA,iBAAiB,OAAA;AACjB,qIAAA,uBAAuB,OAAA;AAKzB,kEAA0D;AAAjD,+GAAA,UAAU,OAAA;AACnB,4EAAmE;AAA1D,wHAAA,cAAc,OAAA;AAGvB,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,uDAAsD;AAA7C,wGAAA,UAAU,OAAA;AACnB,yDAAwD;AAA/C,0GAAA,WAAW,OAAA;AACpB,mDAAkD;AAAzC,oGAAA,QAAQ,OAAA;AACjB,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,+CAA8C;AAArC,gGAAA,MAAM,OAAA;AACf,yEAAwE;AAA/D,0HAAA,mBAAmB,OAAA;AAC5B,qEAAoE;AAA3D,sHAAA,iBAAiB,OAAA;AAM1B,SAAgB,WAAW;IACzB,OAAO;QAEL,sBAAM;QACN,kBAAI;QACJ,wBAAO;QACP,yBAAO;QACP,yBAAO;QACP,kBAAI;QACJ,8BAAU;QACV,iCAAW;QACX,mCAAY;QAGZ,0BAAQ;QACR,oBAAK;QACL,iCAAW;QACX,qCAAa;QACb,wBAAO;QACP,mCAAY;QACZ,uCAAc;QACd,oDAAoB;QACpB,gBAAG;QACH,+BAAU;QAGV,oBAAK;QACL,mCAAY;QAGZ,4BAAS;QACT,uCAAc;QACd,uCAAc;QACd,qCAAa;QACb,mCAAY;QAGZ,sBAAM;QACN,qCAAa;QACb,qCAAa;QACb,8CAAiB;QAGjB,8BAAU;QACV,uCAAc;KACf,CAAC;AACJ,CAAC"}
|
package/dist/src/main.js
CHANGED
|
@@ -1197,6 +1197,94 @@ exports.RolePermission = RolePermission = __decorate([
|
|
|
1197
1197
|
], RolePermission);
|
|
1198
1198
|
|
|
1199
1199
|
|
|
1200
|
+
/***/ },
|
|
1201
|
+
|
|
1202
|
+
/***/ "./libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts"
|
|
1203
|
+
/*!****************************************************************************!*\
|
|
1204
|
+
!*** ./libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts ***!
|
|
1205
|
+
\****************************************************************************/
|
|
1206
|
+
(__unused_webpack_module, exports, __webpack_require__) {
|
|
1207
|
+
|
|
1208
|
+
|
|
1209
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
1210
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1211
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1212
|
+
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;
|
|
1213
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
1214
|
+
};
|
|
1215
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
1216
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
1217
|
+
};
|
|
1218
|
+
var _a, _b, _c;
|
|
1219
|
+
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
1220
|
+
exports.ShippingRule = void 0;
|
|
1221
|
+
const sequelize_typescript_1 = __webpack_require__(/*! sequelize-typescript */ "sequelize-typescript");
|
|
1222
|
+
const inventory_entity_1 = __webpack_require__(/*! ./inventory.entity */ "./libs/tatayab-entities-library/src/entities/inventory.entity.ts");
|
|
1223
|
+
const country_entity_1 = __webpack_require__(/*! ./country.entity */ "./libs/tatayab-entities-library/src/entities/country.entity.ts");
|
|
1224
|
+
const store_entity_1 = __webpack_require__(/*! ./store.entity */ "./libs/tatayab-entities-library/src/entities/store.entity.ts");
|
|
1225
|
+
let ShippingRule = class ShippingRule extends sequelize_typescript_1.Model {
|
|
1226
|
+
};
|
|
1227
|
+
exports.ShippingRule = ShippingRule;
|
|
1228
|
+
__decorate([
|
|
1229
|
+
(0, sequelize_typescript_1.ForeignKey)(() => inventory_entity_1.Inventory),
|
|
1230
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false }),
|
|
1231
|
+
__metadata("design:type", Number)
|
|
1232
|
+
], ShippingRule.prototype, "inventoryId", void 0);
|
|
1233
|
+
__decorate([
|
|
1234
|
+
(0, sequelize_typescript_1.ForeignKey)(() => country_entity_1.Country),
|
|
1235
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false }),
|
|
1236
|
+
__metadata("design:type", Number)
|
|
1237
|
+
], ShippingRule.prototype, "countryId", void 0);
|
|
1238
|
+
__decorate([
|
|
1239
|
+
(0, sequelize_typescript_1.ForeignKey)(() => store_entity_1.Store),
|
|
1240
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
1241
|
+
__metadata("design:type", Number)
|
|
1242
|
+
], ShippingRule.prototype, "storeId", void 0);
|
|
1243
|
+
__decorate([
|
|
1244
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 1 }),
|
|
1245
|
+
__metadata("design:type", Number)
|
|
1246
|
+
], ShippingRule.prototype, "minDays", void 0);
|
|
1247
|
+
__decorate([
|
|
1248
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: 3 }),
|
|
1249
|
+
__metadata("design:type", Number)
|
|
1250
|
+
], ShippingRule.prototype, "maxDays", void 0);
|
|
1251
|
+
__decorate([
|
|
1252
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
1253
|
+
__metadata("design:type", String)
|
|
1254
|
+
], ShippingRule.prototype, "carrierName", void 0);
|
|
1255
|
+
__decorate([
|
|
1256
|
+
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DECIMAL(10, 3), allowNull: true, defaultValue: 0 }),
|
|
1257
|
+
__metadata("design:type", Number)
|
|
1258
|
+
], ShippingRule.prototype, "shippingCost", void 0);
|
|
1259
|
+
__decorate([
|
|
1260
|
+
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DECIMAL(10, 3), allowNull: true }),
|
|
1261
|
+
__metadata("design:type", Number)
|
|
1262
|
+
], ShippingRule.prototype, "freeShippingThreshold", void 0);
|
|
1263
|
+
__decorate([
|
|
1264
|
+
(0, sequelize_typescript_1.Column)({ allowNull: false, defaultValue: true }),
|
|
1265
|
+
__metadata("design:type", Boolean)
|
|
1266
|
+
], ShippingRule.prototype, "isActive", void 0);
|
|
1267
|
+
__decorate([
|
|
1268
|
+
(0, sequelize_typescript_1.Column)({ allowNull: true }),
|
|
1269
|
+
__metadata("design:type", String)
|
|
1270
|
+
], ShippingRule.prototype, "notes", void 0);
|
|
1271
|
+
__decorate([
|
|
1272
|
+
(0, sequelize_typescript_1.BelongsTo)(() => inventory_entity_1.Inventory),
|
|
1273
|
+
__metadata("design:type", typeof (_a = typeof inventory_entity_1.Inventory !== "undefined" && inventory_entity_1.Inventory) === "function" ? _a : Object)
|
|
1274
|
+
], ShippingRule.prototype, "inventory", void 0);
|
|
1275
|
+
__decorate([
|
|
1276
|
+
(0, sequelize_typescript_1.BelongsTo)(() => country_entity_1.Country),
|
|
1277
|
+
__metadata("design:type", typeof (_b = typeof country_entity_1.Country !== "undefined" && country_entity_1.Country) === "function" ? _b : Object)
|
|
1278
|
+
], ShippingRule.prototype, "country", void 0);
|
|
1279
|
+
__decorate([
|
|
1280
|
+
(0, sequelize_typescript_1.BelongsTo)(() => store_entity_1.Store),
|
|
1281
|
+
__metadata("design:type", typeof (_c = typeof store_entity_1.Store !== "undefined" && store_entity_1.Store) === "function" ? _c : Object)
|
|
1282
|
+
], ShippingRule.prototype, "store", void 0);
|
|
1283
|
+
exports.ShippingRule = ShippingRule = __decorate([
|
|
1284
|
+
sequelize_typescript_1.Table
|
|
1285
|
+
], ShippingRule);
|
|
1286
|
+
|
|
1287
|
+
|
|
1200
1288
|
/***/ },
|
|
1201
1289
|
|
|
1202
1290
|
/***/ "./libs/tatayab-entities-library/src/entities/stock-movement.entity.ts"
|
|
@@ -2288,7 +2376,7 @@ exports.Vendor = Vendor = __decorate([
|
|
|
2288
2376
|
|
|
2289
2377
|
|
|
2290
2378
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
2291
|
-
exports.StockMovementType = exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = exports.ProductApp = exports.OsName = exports.RolePermission = exports.Permission = exports.PurchaseOrderItemStatus = exports.PurchaseOrderItem = exports.PurchaseOrder = exports.VendorProduct = exports.Vendor = exports.StockMovement = exports.InventoryStock = exports.StoreInventory = exports.Inventory = exports.ProductStore = exports.Store = 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;
|
|
2379
|
+
exports.StockMovementType = exports.PurchaseOrderStatus = exports.Gender = exports.Status = exports.Language = exports.VersionType = exports.ProductApp = exports.OsName = 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.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;
|
|
2292
2380
|
exports.getDbModels = getDbModels;
|
|
2293
2381
|
const country_entity_1 = __webpack_require__(/*! ./entities/country.entity */ "./libs/tatayab-entities-library/src/entities/country.entity.ts");
|
|
2294
2382
|
const area_entity_1 = __webpack_require__(/*! ./entities/area.entity */ "./libs/tatayab-entities-library/src/entities/area.entity.ts");
|
|
@@ -2315,6 +2403,7 @@ const inventory_entity_1 = __webpack_require__(/*! ./entities/inventory.entity *
|
|
|
2315
2403
|
const store_inventory_entity_1 = __webpack_require__(/*! ./entities/store-inventory.entity */ "./libs/tatayab-entities-library/src/entities/store-inventory.entity.ts");
|
|
2316
2404
|
const inventory_stock_entity_1 = __webpack_require__(/*! ./entities/inventory-stock.entity */ "./libs/tatayab-entities-library/src/entities/inventory-stock.entity.ts");
|
|
2317
2405
|
const stock_movement_entity_1 = __webpack_require__(/*! ./entities/stock-movement.entity */ "./libs/tatayab-entities-library/src/entities/stock-movement.entity.ts");
|
|
2406
|
+
const shipping_rule_entity_1 = __webpack_require__(/*! ./entities/shipping-rule.entity */ "./libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts");
|
|
2318
2407
|
const vendor_entity_1 = __webpack_require__(/*! ./entities/vendor.entity */ "./libs/tatayab-entities-library/src/entities/vendor.entity.ts");
|
|
2319
2408
|
const vendor_product_entity_1 = __webpack_require__(/*! ./entities/vendor-product.entity */ "./libs/tatayab-entities-library/src/entities/vendor-product.entity.ts");
|
|
2320
2409
|
const purchase_order_entity_1 = __webpack_require__(/*! ./entities/purchase-order.entity */ "./libs/tatayab-entities-library/src/entities/purchase-order.entity.ts");
|
|
@@ -2372,6 +2461,8 @@ var inventory_stock_entity_2 = __webpack_require__(/*! ./entities/inventory-stoc
|
|
|
2372
2461
|
Object.defineProperty(exports, "InventoryStock", ({ enumerable: true, get: function () { return inventory_stock_entity_2.InventoryStock; } }));
|
|
2373
2462
|
var stock_movement_entity_2 = __webpack_require__(/*! ./entities/stock-movement.entity */ "./libs/tatayab-entities-library/src/entities/stock-movement.entity.ts");
|
|
2374
2463
|
Object.defineProperty(exports, "StockMovement", ({ enumerable: true, get: function () { return stock_movement_entity_2.StockMovement; } }));
|
|
2464
|
+
var shipping_rule_entity_2 = __webpack_require__(/*! ./entities/shipping-rule.entity */ "./libs/tatayab-entities-library/src/entities/shipping-rule.entity.ts");
|
|
2465
|
+
Object.defineProperty(exports, "ShippingRule", ({ enumerable: true, get: function () { return shipping_rule_entity_2.ShippingRule; } }));
|
|
2375
2466
|
var vendor_entity_2 = __webpack_require__(/*! ./entities/vendor.entity */ "./libs/tatayab-entities-library/src/entities/vendor.entity.ts");
|
|
2376
2467
|
Object.defineProperty(exports, "Vendor", ({ enumerable: true, get: function () { return vendor_entity_2.Vendor; } }));
|
|
2377
2468
|
var vendor_product_entity_2 = __webpack_require__(/*! ./entities/vendor-product.entity */ "./libs/tatayab-entities-library/src/entities/vendor-product.entity.ts");
|
|
@@ -2428,6 +2519,7 @@ function getDbModels() {
|
|
|
2428
2519
|
store_inventory_entity_1.StoreInventory,
|
|
2429
2520
|
inventory_stock_entity_1.InventoryStock,
|
|
2430
2521
|
stock_movement_entity_1.StockMovement,
|
|
2522
|
+
shipping_rule_entity_1.ShippingRule,
|
|
2431
2523
|
vendor_entity_1.Vendor,
|
|
2432
2524
|
vendor_product_entity_1.VendorProduct,
|
|
2433
2525
|
purchase_order_entity_1.PurchaseOrder,
|
|
@@ -2764,4 +2856,4 @@ bootstrap();
|
|
|
2764
2856
|
|
|
2765
2857
|
/******/ })()
|
|
2766
2858
|
;
|
|
2767
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7O1VBRUE7VUFDQTs7VUFFQTtVQUNBO1VBQ0E7Ozs7Ozs7Ozs7OztBQzVCQSw4RUFBaUM7QUFDakMsdUVBQTJDO0FBQzNDLG9GQUF5QztBQUV6QyxLQUFLLFVBQVUsU0FBUztJQUN0QixNQUFNLEdBQUcsR0FBRyxNQUFNLGtCQUFXLENBQUMsTUFBTSxDQUFDLHNCQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxNQUFNLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUM7QUFDcEQsQ0FBQztBQUNELFNBQVMsRUFBRSxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYXBpa2V5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9hcmVhLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9icmFuZC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvY2F0ZWdvcnkuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2NvdW50cnkuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2ludmVudG9yeS1zdG9jay5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvaW52ZW50b3J5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wZXJtaXNzaW9uLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LW1lZGlhLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LXN0b3JlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC12YXJpYW50LW9wdGlvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC12YXJpYW50LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wcm9kdWN0LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci1pdGVtLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcm9sZS1wZXJtaXNzaW9uLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zdG9jay1tb3ZlbWVudC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3RvcmUtaW52ZW50b3J5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zdG9yZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3lzLnJvbGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N5cy51c2VyLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy90YWcuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3VzZXItYWRkcmVzcy5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdXNlckRldmljZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmFyaWFudC1vcHRpb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZhcmlhbnQtdHlwZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdmVuZG9yLXByb2R1Y3QuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZlbmRvci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvaW5kZXgudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvZ2VuZGVyLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL2xhbmd1YWdlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL29zTmFtZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9wcm9kdWN0QXBwLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3B1cmNoYXNlT3JkZXJTdGF0dXMudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvc3RhdHVzLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3N0b2NrTW92ZW1lbnRUeXBlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3ZlcnNpb250eXBlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vc3JjL2FwcC5tb2R1bGUudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJAbmVzdGpzL2NvbW1vblwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9jb25maWdcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcIkBuZXN0anMvY29yZVwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9zZXF1ZWxpemVcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcInNlcXVlbGl6ZS10eXBlc2NyaXB0XCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJ0c2NvbmZpZy1wYXRocy9yZWdpc3RlclwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vc3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uLCBEYXRhVHlwZSwgTW9kZWwsIFRhYmxlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IFZlcnNpb25UeXBlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvdmVyc2lvbnR5cGUnO1xuaW1wb3J0IHsgT3NOYW1lIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvb3NOYW1lJztcbmltcG9ydCB7IFByb2R1Y3RBcHAgfSBmcm9tICcuLi91dGlscy9lbnVtcy9wcm9kdWN0QXBwJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQXBpS2V5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgaGFzaGVkQXBpS2V5OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhPc05hbWUpKSB9KVxuICBkZWNsYXJlIG9zTmFtZTogT3NOYW1lO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoUHJvZHVjdEFwcCkpIH0pXG4gIGRlY2xhcmUgYXBwTmFtZTogUHJvZHVjdEFwcDtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYXBwVmVyc2lvbjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBleHBpcnlEYXRlOiBEYXRlO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc1JlbGVhc2VkOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhWZXJzaW9uVHlwZSkpLFxuICAgIGRlZmF1bHRWYWx1ZTogVmVyc2lvblR5cGUuT1BUSU9OQUwsXG4gIH0pXG4gIGRlY2xhcmUgdmVyc2lvblR5cGU6IFZlcnNpb25UeXBlO1xufVxuIiwiaW1wb3J0IHtcbiAgQmVsb25nc1RvLFxuICBDb2x1bW4sXG4gIEZvcmVpZ25LZXksXG4gIE1vZGVsLFxuICBUYWJsZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBBcmVhIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7XG4gICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgICB2YWxpZGF0ZTogeyBub3ROdWxsOiB7IG1zZzogJ0NvdW50eSBJZCBSZXF1aXJlZCcgfSB9LFxuICB9KVxuICBkZWNsYXJlIGNvdW50cnlJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwYXJlbnRJZD86IG51bWJlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcbn1cbiIsImltcG9ydCB7IFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBEYXRhVHlwZSwgSGFzTWFueSB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEJyYW5kIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvZ28/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHdlYnNpdGU/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRGF0YVR5cGUsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQ2F0ZWdvcnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ2F0ZWdvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwYXJlbnRJZD86IG51bWJlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IENhdGVnb3J5LCB7IGZvcmVpZ25LZXk6ICdwYXJlbnRJZCcsIGFzOiAncGFyZW50JyB9KVxuICBkZWNsYXJlIHBhcmVudD86IENhdGVnb3J5O1xuXG4gIEBIYXNNYW55KCgpID0+IENhdGVnb3J5LCB7IGZvcmVpZ25LZXk6ICdwYXJlbnRJZCcsIGFzOiAnY2hpbGRyZW4nIH0pXG4gIGRlY2xhcmUgY2hpbGRyZW4/OiBDYXRlZ29yeVtdO1xufVxuIiwiaW1wb3J0IHsgQ29sdW1uLCBNb2RlbCwgVGFibGUgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENvdW50cnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGZsYWdJY29uOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGlzb0NvZGU6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGhvbmVFeHQ6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgY3VycmVuY3k6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgZXhjaGFuZ2VSYXRlVG9Ld2Q6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBJbnZlbnRvcnlTdG9jayBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyBudWxsID0gcHJvZHVjdCBoYXMgbm8gdmFyaWFudHNcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkPzogbnVtYmVyO1xuXG4gIC8vIFBoeXNpY2FsIHN0b2NrIGN1cnJlbnRseSBvbiBzaGVsZiBpbiB0aGlzIGludmVudG9yeVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcGh5c2ljYWxRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIFVuaXRzIHJlc2VydmVkIGZvciBwZW5kaW5nIG9yZGVycyAod2FpdGluZyBQTyBmdWxmaWxtZW50IG9yIHBhY2tpbmcpXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSByZXNlcnZlZFF1YW50aXR5OiBudW1iZXI7XG5cbiAgLy8gQXZhaWxhYmxlID0gcGh5c2ljYWxRdWFudGl0eSAtIHJlc2VydmVkUXVhbnRpdHkgKGNvbXB1dGVkIGluIHNlcnZpY2UgbGF5ZXIpXG5cbiAgLy8gRmxhZzogY2FuIHRoaXMgaXRlbSBiZSBzb3VyY2VkIGZyb20gYSB2ZW5kb3IgaWYgcGh5c2ljYWwgc3RvY2sgaXMgMD9cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBhdmFpbGFibGVGcm9tVmVuZG9yOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsb3dTdG9ja1RocmVzaG9sZD86IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yeTogSW52ZW50b3J5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudD86IFByb2R1Y3RWYXJpYW50O1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEhhc01hbnksXG4gIEJlbG9uZ3NUb01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTdG9jayB9IGZyb20gJy4vaW52ZW50b3J5LXN0b2NrLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEludmVudG9yeSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRyZXNzRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZHJlc3NBcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29udGFjdFBob25lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb250YWN0RW1haWw/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBIYXNNYW55KCgpID0+IEludmVudG9yeVN0b2NrKVxuICBkZWNsYXJlIHN0b2NrczogSW52ZW50b3J5U3RvY2tbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBTdG9yZSwgKCkgPT4gU3RvcmVJbnZlbnRvcnkpXG4gIGRlY2xhcmUgc3RvcmVzOiBTdG9yZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEJlbG9uZ3NUb01hbnksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFBlcm1pc3Npb24gZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIGUuZy4gJ3Byb2R1Y3RzLnZpZXcnLCAncHJvZHVjdHMuY3JlYXRlJywgJ2ludmVudG9yeS5hZGp1c3QnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgLy8gSHVtYW4gcmVhZGFibGUgZS5nLiAnVmlldyBQcm9kdWN0cydcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBkaXNwbGF5TmFtZTogc3RyaW5nO1xuXG4gIC8vIEdyb3VwaW5nIGZvciBVSSBlLmcuICdQcm9kdWN0cycsICdJbnZlbnRvcnknLCAnUHVyY2hhc2luZydcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBncm91cDogc3RyaW5nO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+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+IFN5c1JvbGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgc3lzUm9sZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUGVybWlzc2lvbilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwZXJtaXNzaW9uSWQ6IG51bWJlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vc3lzLnVzZXIuZW50aXR5JztcbmltcG9ydCB7IFN0b2NrTW92ZW1lbnRUeXBlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RvY2tNb3ZlbWVudFR5cGUnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTdG9ja01vdmVtZW50IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBJbnZlbnRvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaW52ZW50b3J5SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RvY2tNb3ZlbWVudFR5cGUpKSxcbiAgICBhbGxvd051bGw6IGZhbHNlLFxuICB9KVxuICBkZWNsYXJlIG1vdmVtZW50VHlwZTogU3RvY2tNb3ZlbWVudFR5cGU7XG5cbiAgLy8gUG9zaXRpdmUgPSBzdG9jayBpbiwgTmVnYXRpdmUgPSBzdG9jayBvdXRcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBxdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIFNuYXBzaG90IG9mIHF1YW50aXR5IGJlZm9yZSB0aGlzIG1vdmVtZW50XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcXVhbnRpdHlCZWZvcmU6IG51bWJlcjtcblxuICAvLyBTbmFwc2hvdCBvZiBxdWFudGl0eSBhZnRlciB0aGlzIG1vdmVtZW50XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcXVhbnRpdHlBZnRlcjogbnVtYmVyO1xuXG4gIC8vIFJlZmVyZW5jZSB0byBzb3VyY2UgZG9jdW1lbnQgKFBPIGlkLCBvcmRlciBpZCwgZXRjLilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJlZmVyZW5jZVR5cGU/OiBzdHJpbmc7IC8vICdwdXJjaGFzZV9vcmRlcicgfCAnb3JkZXInIHwgJ21hbnVhbCcgfCAndHJhbnNmZXInXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJlZmVyZW5jZUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY3JlYXRlZEJ5PzogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBJbnZlbnRvcnkpXG4gIGRlY2xhcmUgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNVc2VyKVxuICBkZWNsYXJlIGNyZWF0ZWRCeVVzZXI/OiBTeXNVc2VyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJy4vc3RvcmUuZW50aXR5JztcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vaW52ZW50b3J5LmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN0b3JlSW52ZW50b3J5IGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBzdG9yZUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgLy8gUHJpb3JpdHkg4oCUIGxvd2VyIG51bWJlciA9IHByZWZlcnJlZCBpbnZlbnRvcnkgZm9yIHRoaXMgc3RvcmVcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMSB9KVxuICBkZWNsYXJlIHByaW9yaXR5OiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFN0b3JlIH0gZnJvbSAnLi9wcm9kdWN0LXN0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU3RvcmUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Fbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZGVzY3JpcHRpb25Bcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9nbz86IHN0cmluZztcblxuICAvLyBJU08gY3VycmVuY3kgY29kZSBlLmcuIEtXRCwgU0FSLCBRQVIsIFVTRFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnVVNEJyB9KVxuICBkZWNsYXJlIGN1cnJlbmN5OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGN1cnJlbmN5U3ltYm9sRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGN1cnJlbmN5U3ltYm9sQXI/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzR2xvYmFsOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQcm9kdWN0LCAoKSA9PiBQcm9kdWN0U3RvcmUpXG4gIGRlY2xhcmUgcHJvZHVjdHM6IFByb2R1Y3RbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBJbnZlbnRvcnksICgpID0+IFN0b3JlSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yaWVzOiBJbnZlbnRvcnlbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBCZWxvbmdzVG9NYW55LFxuICBIYXNNYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmVudGl0eSc7XG5pbXBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN5c1JvbGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFBlcm1pc3Npb24sICgpID0+IFJvbGVQZXJtaXNzaW9uKVxuICBkZWNsYXJlIHBlcm1pc3Npb25zOiBQZXJtaXNzaW9uW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN5c1VzZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBuYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1c2VybmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBlbWFpbDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGhvbmVFeHQ6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwYXNzd29yZDogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwcm9maWxlUGljdHVyZT86IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNSb2xlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcm9sZUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxhc3RMb2dpbj86IERhdGU7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNSb2xlKVxuICBkZWNsYXJlIHJvbGU/OiBTeXNSb2xlO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEJlbG9uZ3NUb01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9wcm9kdWN0LXRhZy5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVGFnIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2x1Zzogc3RyaW5nOyAvLyBlLmcuICdiZXN0X3NlbGxlcicsICduZXdfYXJyaXZhbCcsICdkaXNjb3VudCdcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgLy8gT3B0aW9uYWwgY29sb3IgZm9yIFVJIGJhZGdlIGRpc3BsYXkgZS5nLiAnI0ZGMDAwMCdcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbG9yPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBCZWxvbmdzVG9NYW55KCgpID0+IFByb2R1Y3QsICgpID0+IFByb2R1Y3RUYWcpXG4gIGRlY2xhcmUgcHJvZHVjdHM6IFByb2R1Y3RbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi91c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBBcmVhIH0gZnJvbSAnLi9hcmVhLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXJBZGRyZXNzIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVzZXJJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbGFiZWw6IHN0cmluZzsgLy8gZS5nLiAnSG9tZScsICdXb3JrJywgJ090aGVyJ1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgZnVsbE5hbWU6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZTogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY291bnRyeUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQXJlYSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFyZWFJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2l0eT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYmxvY2s/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHN0cmVldD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYnVpbGRpbmc/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGZsb29yPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhcGFydG1lbnQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZGl0aW9uYWxJbmZvPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDksIDYpLCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsYXRpdHVkZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCg5LCA2KSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG9uZ2l0dWRlPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNEZWZhdWx0OiBib29sZWFuO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBVc2VyKVxuICBkZWNsYXJlIHVzZXI6IFVzZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBBcmVhKVxuICBkZWNsYXJlIGFyZWE/OiBBcmVhO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyRmF2b3JpdGUgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFVzZXIpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdXNlcklkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVXNlcilcbiAgZGVjbGFyZSB1c2VyOiBVc2VyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG5cbn1cbiIsImltcG9ydCB7XG4gIE1vZGVsLFxuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxuICBIYXNNYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgTGFuZ3VhZ2UgfSBmcm9tICcuLi91dGlscy9lbnVtcy9sYW5ndWFnZSc7XG5pbXBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9jb3VudHJ5LmVudGl0eSc7XG5pbXBvcnQgeyBHZW5kZXIgfSBmcm9tICcuLi91dGlscy9lbnVtcy9nZW5kZXInO1xuaW1wb3J0IHsgVXNlckFkZHJlc3MgfSBmcm9tICcuL3VzZXItYWRkcmVzcy5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXIgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmaXJzdE5hbWU/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGxhc3ROYW1lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwYXNzd29yZDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHZhbGlkYXRlOiB7IGlzRW1haWw6IHsgbXNnOiAnSW52YWxpZCBFbWFpbCcgfSB9IH0pXG4gIGRlY2xhcmUgZW1haWw6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGhvbmU/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lRXh0Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBiaXJ0aGRheT86IERhdGU7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGZhY2Vib29rSWQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGdvb2dsZUlkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBhcHBsZUlkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhMYW5ndWFnZSkpLFxuICAgIGRlZmF1bHRWYWx1ZTogTGFuZ3VhZ2UuRU5HTElTSCxcbiAgfSlcbiAgZGVjbGFyZSBwcmVmZXJyZWRMYW5ndWFnZTogTGFuZ3VhZ2U7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtblxuICBkZWNsYXJlIHByZWZlcnJlZENvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcHJvZmlsZVBpYz86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgbGFzdExvZ2luOiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNCbG9ja2VkOiBib29sZWFuO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNWZXJpZmllZDogYm9vbGVhbjtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcmVmQ29kZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhHZW5kZXIpKSxcbiAgICBkZWZhdWx0VmFsdWU6IEdlbmRlci5QUkVGRVJfTk9UX1RPX1NBWSxcbiAgfSlcbiAgZGVjbGFyZSBnZW5kZXI6IEdlbmRlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcblxuICBASGFzTWFueSgoKSA9PiBVc2VyQWRkcmVzcylcbiAgZGVjbGFyZSBhZGRyZXNzZXM6IFVzZXJBZGRyZXNzW107XG5cbiAgQEhhc01hbnkoKCkgPT4gVXNlckZhdm9yaXRlKVxuICBkZWNsYXJlIGZhdm9yaXRlczogVXNlckZhdm9yaXRlW107XG59XG4iLCJpbXBvcnQge1xuICBNb2RlbCxcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgUHJpbWFyeUtleSxcbiAgQXV0b0luY3JlbWVudCxcbiAgQ3JlYXRlZEF0LFxuICBVcGRhdGVkQXQsXG4gIERlbGV0ZWRBdCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IE9zTmFtZSB9IGZyb20gJy4uL3V0aWxzL2VudW1zL29zTmFtZSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFVzZXJEZXZpY2UgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFVzZXIpXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSB1c2VySWQ6IG51bWJlcjtcbiAgQENvbHVtblxuICBkZWNsYXJlIGRldmljZUlkPzogc3RyaW5nO1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgZmNtVG9rZW4/OiBzdHJpbmc7XG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKE9zTmFtZSkpLFxuICAgIGFsbG93TnVsbDogdHJ1ZSxcbiAgfSlcbiAgZGVjbGFyZSBvc1N5c3RlbTogc3RyaW5nO1xuICBAQmVsb25nc1RvKCgpID0+IFVzZXIpXG4gIGRlY2xhcmUgdXNlcjogVXNlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBWYXJpYW50VHlwZSB9IGZyb20gJy4vdmFyaWFudC10eXBlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBWYXJpYW50T3B0aW9uIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBWYXJpYW50VHlwZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2YXJpYW50VHlwZUlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVmFyaWFudFR5cGUpXG4gIGRlY2xhcmUgdmFyaWFudFR5cGU6IFZhcmlhbnRUeXBlO1xufVxuIiwiaW1wb3J0IHsgVGFibGUsIENvbHVtbiwgTW9kZWwsIEhhc01hbnkgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuaW1wb3J0IHsgRGF0YVR5cGUgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZhcmlhbnRUeXBlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL3ZlbmRvci5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmVuZG9yUHJvZHVjdCBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmVuZG9yKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHZlbmRvcklkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICAvLyBudWxsID0gYXBwbGllcyB0byBwcm9kdWN0IHdpdGggbm8gdmFyaWFudHNcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkPzogbnVtYmVyO1xuXG4gIC8vIFZlbmRvcidzIGNvc3QgcHJpY2UgdG8gdXNcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgY29zdFByaWNlOiBudW1iZXI7XG5cbiAgLy8gVmVuZG9yJ3MgU0tVL3JlZmVyZW5jZSBjb2RlIGZvciB0aGlzIHByb2R1Y3RcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHZlbmRvclNrdT86IHN0cmluZztcblxuICAvLyBUeXBpY2FsIGxlYWQgdGltZSBpbiBkYXlzIGZyb20gdGhpcyB2ZW5kb3JcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxlYWRUaW1lRGF5cz86IG51bWJlcjtcblxuICAvLyBNaW5pbXVtIG9yZGVyIHF1YW50aXR5XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDEgfSlcbiAgZGVjbGFyZSBtb3E6IG51bWJlcjtcblxuICAvLyBJcyB0aGlzIHRoZSBwcmVmZXJyZWQvZGVmYXVsdCB2ZW5kb3IgZm9yIHRoaXMgcHJvZHVjdD9cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc1ByZWZlcnJlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBWZW5kb3IpXG4gIGRlY2xhcmUgdmVuZG9yOiBWZW5kb3I7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50PzogUHJvZHVjdFZhcmlhbnQ7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmVuZG9yIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbnRhY3RQZXJzb24/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGVtYWlsPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwaG9uZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0VuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRyZXNzQXI/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgdGF4TnVtYmVyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb21tZXJjaWFsUmVnTnVtYmVyPzogc3RyaW5nO1xuXG4gIC8vIERlZmF1bHQgcGF5bWVudCB0ZXJtcyBpbiBkYXlzIChlLmcuIDMwID0gTkVUMzApXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBwYXltZW50VGVybXNEYXlzOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIG5vdGVzPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcbn1cbiIsImltcG9ydCB7IE1vZGVsQ3RvciB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcblxuLy8g4pSA4pSA4pSAIEV4aXN0aW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vZW50aXRpZXMvY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgQXJlYSB9IGZyb20gJy4vZW50aXRpZXMvYXJlYS5lbnRpdHknO1xuaW1wb3J0IHsgU3lzUm9sZSB9IGZyb20gJy4vZW50aXRpZXMvc3lzLnJvbGUuZW50aXR5JztcbmltcG9ydCB7IFN5c1VzZXIgfSBmcm9tICcuL2VudGl0aWVzL3N5cy51c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBVc2VyRGV2aWNlIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyRGV2aWNlLmVudGl0eSc7XG5pbXBvcnQgeyBBcGlLZXkgfSBmcm9tICcuL2VudGl0aWVzL2FwaWtleS5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckFkZHJlc3MgfSBmcm9tICcuL2VudGl0aWVzL3VzZXItYWRkcmVzcy5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckZhdm9yaXRlIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWZhdm9yaXRlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBDYXRhbG9ndWUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vZW50aXRpZXMvY2F0ZWdvcnkuZW50aXR5JztcbmltcG9ydCB7IEJyYW5kIH0gZnJvbSAnLi9lbnRpdGllcy9icmFuZC5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudFR5cGUgfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtdHlwZS5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudE9wdGlvbiB9IGZyb20gJy4vZW50aXRpZXMvdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RNZWRpYSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4vZW50aXRpZXMvdGFnLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgU3RvcmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0U3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3Qtc3RvcmUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIEludmVudG9yeSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnlTdG9jayB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LXN0b2NrLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9ja01vdmVtZW50IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9jay1tb3ZlbWVudC5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUHVyY2hhc2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IFZlbmRvciB9IGZyb20gJy4vZW50aXRpZXMvdmVuZG9yLmVudGl0eSc7XG5pbXBvcnQgeyBWZW5kb3JQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3ItcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlciB9IGZyb20gJy4vZW50aXRpZXMvcHVyY2hhc2Utb3JkZXIuZW50aXR5JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXJJdGVtIH0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci1pdGVtLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQZXJtaXNzaW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuL2VudGl0aWVzL3Blcm1pc3Npb24uZW50aXR5JztcbmltcG9ydCB7IFJvbGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9yb2xlLXBlcm1pc3Npb24uZW50aXR5JztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVYUE9SVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIOKUgOKUgOKUgCBFeGlzdGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IEFwaUtleSB9IGZyb20gJy4vZW50aXRpZXMvYXBpa2V5LmVudGl0eSc7XG5leHBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9lbnRpdGllcy9jb3VudHJ5LmVudGl0eSc7XG5leHBvcnQgeyBBcmVhIH0gZnJvbSAnLi9lbnRpdGllcy9hcmVhLmVudGl0eSc7XG5leHBvcnQgeyBTeXNSb2xlIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMucm9sZS5lbnRpdHknO1xuZXhwb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vZW50aXRpZXMvc3lzLnVzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL2VudGl0aWVzL3VzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJEZXZpY2UgfSBmcm9tICcuL2VudGl0aWVzL3VzZXJEZXZpY2UuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2F0YWxvZ3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eSc7XG5leHBvcnQgeyBCcmFuZCB9IGZyb20gJy4vZW50aXRpZXMvYnJhbmQuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0TWVkaWEsIE1lZGlhVHlwZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmV4cG9ydCB7IFRhZyB9IGZyb20gJy4vZW50aXRpZXMvdGFnLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHknO1xuXG5cbi8vIOKUgOKUgOKUgCBTdG9yZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5leHBvcnQgeyBTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUuZW50aXR5JztcbmV4cG9ydCB7IFByb2R1Y3RTdG9yZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1zdG9yZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgSW52ZW50b3J5IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnkuZW50aXR5JztcbmV4cG9ydCB7IFN0b3JlSW52ZW50b3J5IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS1pbnZlbnRvcnkuZW50aXR5JztcbmV4cG9ydCB7IEludmVudG9yeVN0b2NrIH0gZnJvbSAnLi9lbnRpdGllcy9pbnZlbnRvcnktc3RvY2suZW50aXR5JztcbmV4cG9ydCB7IFN0b2NrTW92ZW1lbnQgfSBmcm9tICcuL2VudGl0aWVzL3N0b2NrLW1vdmVtZW50LmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQdXJjaGFzaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3IuZW50aXR5JztcbmV4cG9ydCB7IFZlbmRvclByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3ZlbmRvci1wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBQdXJjaGFzZU9yZGVyIH0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci5lbnRpdHknO1xuZXhwb3J0IHtcbiAgUHVyY2hhc2VPcmRlckl0ZW0sXG4gIFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzLFxufSBmcm9tICcuL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLWl0ZW0uZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFBlcm1pc3Npb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9wZXJtaXNzaW9uLmVudGl0eSc7XG5leHBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vZW50aXRpZXMvcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBFbnVtcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IE9zTmFtZSB9IGZyb20gJy4vdXRpbHMvZW51bXMvb3NOYW1lJztcbmV4cG9ydCB7IFByb2R1Y3RBcHAgfSBmcm9tICcuL3V0aWxzL2VudW1zL3Byb2R1Y3RBcHAnO1xuZXhwb3J0IHsgVmVyc2lvblR5cGUgfSBmcm9tICcuL3V0aWxzL2VudW1zL3ZlcnNpb250eXBlJztcbmV4cG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi91dGlscy9lbnVtcy9sYW5ndWFnZSc7XG5leHBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5leHBvcnQgeyBHZW5kZXIgfSBmcm9tICcuL3V0aWxzL2VudW1zL2dlbmRlcic7XG5leHBvcnQgeyBQdXJjaGFzZU9yZGVyU3RhdHVzIH0gZnJvbSAnLi91dGlscy9lbnVtcy9wdXJjaGFzZU9yZGVyU3RhdHVzJztcbmV4cG9ydCB7IFN0b2NrTW92ZW1lbnRUeXBlIH0gZnJvbSAnLi91dGlscy9lbnVtcy9zdG9ja01vdmVtZW50VHlwZSc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0RFTCBSRUdJU1RSWVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERiTW9kZWxzKCk6IE1vZGVsQ3RvcltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBFeGlzdGluZ1xuICAgIEFwaUtleSxcbiAgICBBcmVhLFxuICAgIENvdW50cnksXG4gICAgU3lzUm9sZSxcbiAgICBTeXNVc2VyLFxuICAgIFVzZXIsXG4gICAgVXNlckRldmljZSxcbiAgICBVc2VyQWRkcmVzcyxcbiAgICBVc2VyRmF2b3JpdGUsXG5cbiAgICAvLyBDYXRhbG9ndWVcbiAgICBDYXRlZ29yeSxcbiAgICBCcmFuZCxcbiAgICBWYXJpYW50VHlwZSxcbiAgICBWYXJpYW50T3B0aW9uLFxuICAgIFByb2R1Y3QsXG4gICAgUHJvZHVjdE1lZGlhLFxuICAgIFByb2R1Y3RWYXJpYW50LFxuICAgIFByb2R1Y3RWYXJpYW50T3B0aW9uLFxuICAgIFRhZyxcbiAgICBQcm9kdWN0VGFnLFxuXG4gICAgLy8gU3RvcmVzXG4gICAgU3RvcmUsXG4gICAgUHJvZHVjdFN0b3JlLFxuXG4gICAgLy8gSW52ZW50b3J5XG4gICAgSW52ZW50b3J5LFxuICAgIFN0b3JlSW52ZW50b3J5LFxuICAgIEludmVudG9yeVN0b2NrLFxuICAgIFN0b2NrTW92ZW1lbnQsXG5cbiAgICAvLyBQdXJjaGFzaW5nXG4gICAgVmVuZG9yLFxuICAgIFZlbmRvclByb2R1Y3QsXG4gICAgUHVyY2hhc2VPcmRlcixcbiAgICBQdXJjaGFzZU9yZGVySXRlbSxcblxuICAgIC8vIFBlcm1pc3Npb25zXG4gICAgUGVybWlzc2lvbixcbiAgICBSb2xlUGVybWlzc2lvbixcbiAgXTtcbn1cbiIsImV4cG9ydCBlbnVtIEdlbmRlciB7XG4gIE1BTEUgPSAnTWFsZScsXG4gIEZFTUFMRSA9ICdGZW1hbGUnLFxuICBQUkVGRVJfTk9UX1RPX1NBWSA9ICdQcmVmZXIgbm90IHRvIHNheScsXG59XG4iLCJleHBvcnQgZW51bSBMYW5ndWFnZSB7XG4gIEVOR0xJU0ggPSAnZW4nLFxuICBBUkFCSUMgPSAnYXInLFxufVxuIiwiZXhwb3J0IGVudW0gT3NOYW1lIHtcbiAgQU5EUk9JRCA9ICdhbmRyb2lkJyxcbiAgSU9TID0gJ2lPUycsXG4gIFdFQiA9ICd3ZWInLFxufVxuIiwiZXhwb3J0IGVudW0gUHJvZHVjdEFwcCB7XG4gIERBU0hCT0FSRCA9ICdkYXNoYm9hcmQnLFxuICBVU0VSX0FQUCA9ICd1c2VyYXBwJyxcbn1cbiIsImV4cG9ydCBlbnVtIFB1cmNoYXNlT3JkZXJTdGF0dXMge1xuICBEUkFGVCA9ICdkcmFmdCcsXG4gIFNFTlRfVE9fVkVORE9SID0gJ3NlbnRfdG9fdmVuZG9yJyxcbiAgUEFSVElBTExZX1JFQ0VJVkVEID0gJ3BhcnRpYWxseV9yZWNlaXZlZCcsXG4gIEZVTExZX1JFQ0VJVkVEID0gJ2Z1bGx5X3JlY2VpdmVkJyxcbiAgQ0xPU0VEID0gJ2Nsb3NlZCcsXG4gIENBTkNFTExFRCA9ICdjYW5jZWxsZWQnLFxufVxuIiwiZXhwb3J0IGVudW0gU3RhdHVzIHtcbiAgQUNUSVZFID0gJ2FjdGl2ZScsXG4gIElOX0FDVElWRSA9ICdpbmFjdGl2ZScsXG59XG4iLCJleHBvcnQgZW51bSBTdG9ja01vdmVtZW50VHlwZSB7XG4gIC8vIFN0b2NrIGNvbWluZyBpblxuICBSRUNFSVZFRCA9ICdyZWNlaXZlZCcsICAgICAgICAgICAvLyBQTyByZWNlaXZlZCBpbnRvIGludmVudG9yeVxuXG4gIC8vIFN0b2NrIGdvaW5nIG91dCBvciBiZWluZyBoZWxkXG4gIFJFU0VSVkVEID0gJ3Jlc2VydmVkJywgICAgICAgICAgIC8vIFJlc2VydmVkIGZvciBhIHBlbmRpbmcgb3JkZXJcbiAgUkVTRVJWQVRJT05fUkVMRUFTRUQgPSAncmVzZXJ2YXRpb25fcmVsZWFzZWQnLCAvLyBPcmRlciBjYW5jZWxsZWQsIHN0b2NrIGZyZWVkXG5cbiAgLy8gTWFudWFsIGFkanVzdG1lbnRzXG4gIEFESlVTVE1FTlRfQUREID0gJ2FkanVzdG1lbnRfYWRkJywgICAgICAgLy8gTWFudWFsIHN0b2NrIGluY3JlYXNlXG4gIEFESlVTVE1FTlRfUkVNT1ZFID0gJ2FkanVzdG1lbnRfcmVtb3ZlJywgLy8gTWFudWFsIHN0b2NrIGRlY3JlYXNlIChkYW1hZ2UsIGxvc3MpXG5cbiAgLy8gUmV0dXJuc1xuICBSRVRVUk5FRF9GUk9NX0NVU1RPTUVSID0gJ3JldHVybmVkX2Zyb21fY3VzdG9tZXInLFxuICBSRVRVUk5FRF9UT19WRU5ET1IgPSAncmV0dXJuZWRfdG9fdmVuZG9yJyxcblxuICAvLyBUcmFuc2ZlcnNcbiAgVFJBTlNGRVJfSU4gPSAndHJhbnNmZXJfaW4nLCAgIC8vIE1vdmVkIGluIGZyb20gYW5vdGhlciBpbnZlbnRvcnlcbiAgVFJBTlNGRVJfT1VUID0gJ3RyYW5zZmVyX291dCcsIC8vIE1vdmVkIG91dCB0byBhbm90aGVyIGludmVudG9yeVxufVxuIiwiZXhwb3J0IGVudW0gVmVyc2lvblR5cGUge1xuICBPUFRJT05BTCA9ICdvcHRpb25hbCcsXG4gIE1BTkRBVE9SWSA9ICdtYW5kYXRvcnknLFxufVxuIiwiaW1wb3J0IHsgTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9jb21tb24nO1xuaW1wb3J0IHsgU2VxdWVsaXplTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9zZXF1ZWxpemUnO1xuaW1wb3J0IHsgQ29uZmlnTW9kdWxlIH0gZnJvbSAnQG5lc3Rqcy9jb25maWcnO1xuaW1wb3J0IHsgZ2V0RGJNb2RlbHMgfSBmcm9tICdAYXBwL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeSc7XG5cbkBNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29uZmlnTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgaXNHbG9iYWw6IHRydWUsXG4gICAgfSksXG4gICAgU2VxdWVsaXplTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgZGlhbGVjdDogJ215c3FsJyxcbiAgICAgIGhvc3Q6IHByb2Nlc3MuZW52Lk1ZU1FMX0hPU1QsXG4gICAgICBkYXRhYmFzZTogcHJvY2Vzcy5lbnYuTVlTUUxfREFUQUJBU0UsXG4gICAgICB1c2VybmFtZTogcHJvY2Vzcy5lbnYuTVlTUUxfVVNFUixcbiAgICAgIHBhc3N3b3JkOiBwcm9jZXNzLmVudi5NWVNRTF9QQVNTV09SRCxcbiAgICAgIHBvcnQ6IDMzMDYsXG4gICAgICBtb2RlbHM6IGdldERiTW9kZWxzKCksXG4gICAgICBhdXRvTG9hZE1vZGVsczogdHJ1ZSxcbiAgICAgIHN5bmNocm9uaXplOiB0cnVlLFxuICAgICAgbG9nZ2luZzogZmFsc2UsXG4gICAgICBkZWZpbmU6IHtcbiAgICAgICAgdGltZXN0YW1wczogdHJ1ZSxcbiAgICAgICAgcGFyYW5vaWQ6IHRydWUsXG4gICAgICB9LFxuICAgIH0pLFxuICBdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBNb2R1bGUge31cbiIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29tbW9uXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29uZmlnXCIpOyIsIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIkBuZXN0anMvY29yZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL3NlcXVlbGl6ZVwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJzZXF1ZWxpemUtdHlwZXNjcmlwdFwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJ0c2NvbmZpZy1wYXRocy9yZWdpc3RlclwiKTsiLCIvLyBUaGUgbW9kdWxlIGNhY2hlXG52YXIgX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fID0ge307XG5cbi8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG5mdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuXHR2YXIgY2FjaGVkTW9kdWxlID0gX193ZWJwYWNrX21vZHVsZV9jYWNoZV9fW21vZHVsZUlkXTtcblx0aWYgKGNhY2hlZE1vZHVsZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0cmV0dXJuIGNhY2hlZE1vZHVsZS5leHBvcnRzO1xuXHR9XG5cdC8vIENoZWNrIGlmIG1vZHVsZSBleGlzdHMgKGRldmVsb3BtZW50IG9ubHkpXG5cdGlmIChfX3dlYnBhY2tfbW9kdWxlc19fW21vZHVsZUlkXSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0dmFyIGUgPSBuZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiICsgbW9kdWxlSWQgKyBcIidcIik7XG5cdFx0ZS5jb2RlID0gJ01PRFVMRV9OT1RfRk9VTkQnO1xuXHRcdHRocm93IGU7XG5cdH1cblx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcblx0dmFyIG1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF0gPSB7XG5cdFx0Ly8gbm8gbW9kdWxlLmlkIG5lZWRlZFxuXHRcdC8vIG5vIG1vZHVsZS5sb2FkZWQgbmVlZGVkXG5cdFx0ZXhwb3J0czoge31cblx0fTtcblxuXHQvLyBFeGVjdXRlIHRoZSBtb2R1bGUgZnVuY3Rpb25cblx0X193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0uY2FsbChtb2R1bGUuZXhwb3J0cywgbW9kdWxlLCBtb2R1bGUuZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXyk7XG5cblx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcblx0cmV0dXJuIG1vZHVsZS5leHBvcnRzO1xufVxuXG4iLCJpbXBvcnQgJ3RzY29uZmlnLXBhdGhzL3JlZ2lzdGVyJztcbmltcG9ydCB7IE5lc3RGYWN0b3J5IH0gZnJvbSAnQG5lc3Rqcy9jb3JlJztcbmltcG9ydCB7IEFwcE1vZHVsZSB9IGZyb20gJy4vYXBwLm1vZHVsZSc7XG5cbmFzeW5jIGZ1bmN0aW9uIGJvb3RzdHJhcCgpIHtcbiAgY29uc3QgYXBwID0gYXdhaXQgTmVzdEZhY3RvcnkuY3JlYXRlKEFwcE1vZHVsZSwgeyBjb3JzOiB0cnVlIH0pO1xuICBhd2FpdCBhcHAubGlzdGVuKHByb2Nlc3MuZW52LlNFUlZFUl9QT1JUID8/IDkwMDQpO1xufVxuYm9vdHN0cmFwKCk7XG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9
|
|
2859
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLEdBQUcsQ0FBQyxVQUFVO2dCQUNoQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjO2dCQUNwQyxJQUFJLEVBQUUsSUFBSTtnQkFDVixNQUFNLEVBQUUsMENBQVcsR0FBRTtnQkFDckIsY0FBYyxFQUFFLElBQUk7Z0JBQ3BCLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUU7b0JBQ04sVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0YsQ0FBQztTQUNIO1FBQ0QsU0FBUyxFQUFFLEVBQUU7S0FDZCxDQUFDO0dBQ1csU0FBUyxDQUFHOzs7Ozs7Ozs7OztBQzdCekIsMkM7Ozs7Ozs7Ozs7QUNBQSwyQzs7Ozs7Ozs7OztBQ0FBLHlDOzs7Ozs7Ozs7O0FDQUEsOEM7Ozs7Ozs7Ozs7QUNBQSxpRDs7Ozs7Ozs7OztBQ0FBLG9EOzs7Ozs7VUNBQTtVQUNBOztVQUVBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBOztVQUVBO1VBQ0E7O1VBRUE7VUFDQTtVQUNBOzs7Ozs7Ozs7Ozs7QUM1QkEsOEVBQWlDO0FBQ2pDLHVFQUEyQztBQUMzQyxvRkFBeUM7QUFFekMsS0FBSyxVQUFVLFNBQVM7SUFDdEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxrQkFBVyxDQUFDLE1BQU0sQ0FBQyxzQkFBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDaEUsTUFBTSxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ3BELENBQUM7QUFDRCxTQUFTLEVBQUUsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2FwaWtleS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYXJlYS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvYnJhbmQuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9jb3VudHJ5LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9pbnZlbnRvcnktc3RvY2suZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL2ludmVudG9yeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcGVybWlzc2lvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC1zdG9yZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC10YWcuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHJvZHVjdC5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHVyY2hhc2Utb3JkZXItaXRlbS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvcHVyY2hhc2Utb3JkZXIuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3JvbGUtcGVybWlzc2lvbi5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc2hpcHBpbmctcnVsZS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3RvY2stbW92ZW1lbnQuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N0b3JlLWludmVudG9yeS5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvc3RvcmUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3N5cy5yb2xlLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy9zeXMudXNlci5lbnRpdHkudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvZW50aXRpZXMvdGFnLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3VzZXItZmF2b3JpdGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3VzZXIuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3VzZXJEZXZpY2UuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2VudGl0aWVzL3ZlbmRvci1wcm9kdWN0LmVudGl0eS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy9lbnRpdGllcy92ZW5kb3IuZW50aXR5LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL2luZGV4LnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL2dlbmRlci50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9sYW5ndWFnZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9vc05hbWUudHMiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvLi9saWJzL3RhdGF5YWItZW50aXRpZXMtbGlicmFyeS9zcmMvdXRpbHMvZW51bXMvcHJvZHVjdEFwcC50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9wdXJjaGFzZU9yZGVyU3RhdHVzLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzLy4vbGlicy90YXRheWFiLWVudGl0aWVzLWxpYnJhcnkvc3JjL3V0aWxzL2VudW1zL3N0YXR1cy50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy9zdG9ja01vdmVtZW50VHlwZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL2xpYnMvdGF0YXlhYi1lbnRpdGllcy1saWJyYXJ5L3NyYy91dGlscy9lbnVtcy92ZXJzaW9udHlwZS50cyIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL3NyYy9hcHAubW9kdWxlLnRzIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwiQG5lc3Rqcy9jb21tb25cIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcIkBuZXN0anMvY29uZmlnXCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJAbmVzdGpzL2NvcmVcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy9leHRlcm5hbCBjb21tb25qcyBcIkBuZXN0anMvc2VxdWVsaXplXCIiLCJ3ZWJwYWNrOi8vdHQtZW50aXRpZXMvZXh0ZXJuYWwgY29tbW9uanMgXCJzZXF1ZWxpemUtdHlwZXNjcmlwdFwiIiwid2VicGFjazovL3R0LWVudGl0aWVzL2V4dGVybmFsIGNvbW1vbmpzIFwidHNjb25maWctcGF0aHMvcmVnaXN0ZXJcIiIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly90dC1lbnRpdGllcy8uL3NyYy9tYWluLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbiwgRGF0YVR5cGUsIE1vZGVsLCBUYWJsZSB9IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5pbXBvcnQgeyBWZXJzaW9uVHlwZSB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3ZlcnNpb250eXBlJztcbmltcG9ydCB7IE9zTmFtZSB9IGZyb20gJy4uL3V0aWxzL2VudW1zL29zTmFtZSc7XG5pbXBvcnQgeyBQcm9kdWN0QXBwIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvcHJvZHVjdEFwcCc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIEFwaUtleSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtblxuICBkZWNsYXJlIGhhc2hlZEFwaUtleTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoT3NOYW1lKSkgfSlcbiAgZGVjbGFyZSBvc05hbWU6IE9zTmFtZTtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFByb2R1Y3RBcHApKSB9KVxuICBkZWNsYXJlIGFwcE5hbWU6IFByb2R1Y3RBcHA7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGFwcFZlcnNpb246IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgZXhwaXJ5RGF0ZTogRGF0ZTtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNSZWxlYXNlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoVmVyc2lvblR5cGUpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFZlcnNpb25UeXBlLk9QVElPTkFMLFxuICB9KVxuICBkZWNsYXJlIHZlcnNpb25UeXBlOiBWZXJzaW9uVHlwZTtcbn1cbiIsImltcG9ydCB7XG4gIEJlbG9uZ3NUbyxcbiAgQ29sdW1uLFxuICBGb3JlaWduS2V5LFxuICBNb2RlbCxcbiAgVGFibGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgQXJlYSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oe1xuICAgIGFsbG93TnVsbDogZmFsc2UsXG4gICAgdmFsaWRhdGU6IHsgbm90TnVsbDogeyBtc2c6ICdDb3VudHkgSWQgUmVxdWlyZWQnIH0gfSxcbiAgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ6IG51bWJlcjtcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGFyZW50SWQ/OiBudW1iZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG59XG4iLCJpbXBvcnQgeyBUYWJsZSwgQ29sdW1uLCBNb2RlbCwgRGF0YVR5cGUsIEhhc01hbnkgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBCcmFuZCBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkZXNjcmlwdGlvbkFyPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsb2dvPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSB3ZWJzaXRlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIERhdGFUeXBlLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEhhc01hbnksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIENhdGVnb3J5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGltYWdlPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENhdGVnb3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcGFyZW50SWQ/OiBudW1iZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDYXRlZ29yeSwgeyBmb3JlaWduS2V5OiAncGFyZW50SWQnLCBhczogJ3BhcmVudCcgfSlcbiAgZGVjbGFyZSBwYXJlbnQ/OiBDYXRlZ29yeTtcblxuICBASGFzTWFueSgoKSA9PiBDYXRlZ29yeSwgeyBmb3JlaWduS2V5OiAncGFyZW50SWQnLCBhczogJ2NoaWxkcmVuJyB9KVxuICBkZWNsYXJlIGNoaWxkcmVuPzogQ2F0ZWdvcnlbXTtcbn1cbiIsImltcG9ydCB7IENvbHVtbiwgTW9kZWwsIFRhYmxlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBDb3VudHJ5IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmbGFnSWNvbjogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBpc29Db2RlOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGN1cnJlbmN5OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGV4Y2hhbmdlUmF0ZVRvS3dkOiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgSW52ZW50b3J5U3RvY2sgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8gbnVsbCA9IHByb2R1Y3QgaGFzIG5vIHZhcmlhbnRzXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBQaHlzaWNhbCBzdG9jayBjdXJyZW50bHkgb24gc2hlbGYgaW4gdGhpcyBpbnZlbnRvcnlcbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHBoeXNpY2FsUXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBVbml0cyByZXNlcnZlZCBmb3IgcGVuZGluZyBvcmRlcnMgKHdhaXRpbmcgUE8gZnVsZmlsbWVudCBvciBwYWNraW5nKVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcmVzZXJ2ZWRRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIEF2YWlsYWJsZSA9IHBoeXNpY2FsUXVhbnRpdHkgLSByZXNlcnZlZFF1YW50aXR5IChjb21wdXRlZCBpbiBzZXJ2aWNlIGxheWVyKVxuXG4gIC8vIEZsYWc6IGNhbiB0aGlzIGl0ZW0gYmUgc291cmNlZCBmcm9tIGEgdmVuZG9yIGlmIHBoeXNpY2FsIHN0b2NrIGlzIDA/XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgYXZhaWxhYmxlRnJvbVZlbmRvcjogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbG93U3RvY2tUaHJlc2hvbGQ/OiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcnk6IEludmVudG9yeTtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnQ/OiBQcm9kdWN0VmFyaWFudDtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBIYXNNYW55LFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5U3RvY2sgfSBmcm9tICcuL2ludmVudG9yeS1zdG9jay5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmVJbnZlbnRvcnkgfSBmcm9tICcuL3N0b3JlLWludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBJbnZlbnRvcnkgZXh0ZW5kcyBNb2RlbCB7XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0VuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRyZXNzQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNvbnRhY3RQaG9uZT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29udGFjdEVtYWlsPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBASGFzTWFueSgoKSA9PiBJbnZlbnRvcnlTdG9jaylcbiAgZGVjbGFyZSBzdG9ja3M6IEludmVudG9yeVN0b2NrW107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gU3RvcmUsICgpID0+IFN0b3JlSW52ZW50b3J5KVxuICBkZWNsYXJlIHN0b3JlczogU3RvcmVbXTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBCZWxvbmdzVG9NYW55LFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBTeXNSb2xlIH0gZnJvbSAnLi9zeXMucm9sZS5lbnRpdHknO1xuaW1wb3J0IHsgUm9sZVBlcm1pc3Npb24gfSBmcm9tICcuL3JvbGUtcGVybWlzc2lvbi5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQZXJtaXNzaW9uIGV4dGVuZHMgTW9kZWwge1xuICAvLyBlLmcuICdwcm9kdWN0cy52aWV3JywgJ3Byb2R1Y3RzLmNyZWF0ZScsICdpbnZlbnRvcnkuYWRqdXN0J1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuXG4gIC8vIEh1bWFuIHJlYWRhYmxlIGUuZy4gJ1ZpZXcgUHJvZHVjdHMnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgZGlzcGxheU5hbWU6IHN0cmluZztcblxuICAvLyBHcm91cGluZyBmb3IgVUkgZS5nLiAnUHJvZHVjdHMnLCAnSW52ZW50b3J5JywgJ1B1cmNoYXNpbmcnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgZ3JvdXA6IHN0cmluZztcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBTeXNSb2xlLCAoKSA9PiBSb2xlUGVybWlzc2lvbilcbiAgZGVjbGFyZSByb2xlczogU3lzUm9sZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcblxuZXhwb3J0IGVudW0gTWVkaWFUeXBlIHtcbiAgSU1BR0UgPSAnaW1hZ2UnLFxuICBWSURFTyA9ICd2aWRlbycsXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RNZWRpYSBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVybDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhNZWRpYVR5cGUpKSxcbiAgICBkZWZhdWx0VmFsdWU6IE1lZGlhVHlwZS5JTUFHRSxcbiAgfSlcbiAgZGVjbGFyZSB0eXBlOiBNZWRpYVR5cGU7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc0RlZmF1bHQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhbHRFbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWx0QXI/OiBzdHJpbmc7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBQcm9kdWN0KVxuICBkZWNsYXJlIHByb2R1Y3Q6IFByb2R1Y3Q7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdFN0b3JlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFN0b3JlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHN0b3JlSWQ6IG51bWJlcjtcblxuICAvLyBTdG9yZS1zcGVjaWZpYyByZWd1bGFyIHByaWNlIOKAlCBudWxsIG1lYW5zIHVzZSBwcm9kdWN0LmRlZmF1bHRQcmljZVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByaWNlPzogbnVtYmVyO1xuXG4gIC8vIFNhbGUgcHJpY2Ug4oCUIG9ubHkgYWN0aXZlIHdoZW4gdG9kYXkgaXMgYmV0d2VlbiBzYWxlU3RhcnREYXRlIGFuZCBzYWxlRW5kRGF0ZVxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNhbGVQcmljZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREFURSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2FsZVN0YXJ0RGF0ZT86IERhdGU7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRBVEUsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNhbGVFbmREYXRlPzogRGF0ZTtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFRhZyB9IGZyb20gJy4vdGFnLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFByb2R1Y3RUYWcgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gVGFnKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHRhZ0lkOiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgVmFyaWFudE9wdGlvbiB9IGZyb20gJy4vdmFyaWFudC1vcHRpb24uZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdFZhcmlhbnRPcHRpb24gZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBWYXJpYW50T3B0aW9uKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHZhcmlhbnRPcHRpb25JZDogbnVtYmVyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgQmVsb25nc1RvTWFueSxcbiAgSGFzTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudE9wdGlvbiB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LW9wdGlvbi5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgUHJvZHVjdFZhcmlhbnQgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNrdT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYmFyY29kZT86IHN0cmluZztcblxuICAvLyBPdmVycmlkZSBkZWZhdWx0IHByb2R1Y3QgcHJpY2UgcGVyIHZhcmlhbnQgaWYgbmVlZGVkXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJpY2VPdmVycmlkZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBWYXJpYW50T3B0aW9uLCAoKSA9PiBQcm9kdWN0VmFyaWFudE9wdGlvbilcbiAgZGVjbGFyZSBvcHRpb25zOiBWYXJpYW50T3B0aW9uW107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBIYXNNYW55LFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgQnJhbmQgfSBmcm9tICcuL2JyYW5kLmVudGl0eSc7XG5pbXBvcnQgeyBDYXRlZ29yeSB9IGZyb20gJy4vY2F0ZWdvcnkuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RNZWRpYSB9IGZyb20gJy4vcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFN0b3JlIH0gZnJvbSAnLi9wcm9kdWN0LXN0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9wcm9kdWN0LXRhZy5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL3RhZy5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQcm9kdWN0IGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHNrdT86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYmFyY29kZT86IHN0cmluZztcblxuICAvLyBEZWZhdWx0IHByaWNlIHVzZWQgd2hlbiBubyBzdG9yZS1zcGVjaWZpYyBwcmljZSBpcyBzZXRcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBkZWZhdWx0UHJpY2U6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBCcmFuZClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJyYW5kSWQ/OiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ2F0ZWdvcnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjYXRlZ29yeUlkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSBzb3J0T3JkZXI6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzRmVhdHVyZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBoYXNWYXJpYW50czogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBCcmFuZClcbiAgZGVjbGFyZSBicmFuZDogQnJhbmQ7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDYXRlZ29yeSlcbiAgZGVjbGFyZSBjYXRlZ29yeTogQ2F0ZWdvcnk7XG5cbiAgQEhhc01hbnkoKCkgPT4gUHJvZHVjdE1lZGlhKVxuICBkZWNsYXJlIG1lZGlhOiBQcm9kdWN0TWVkaWFbXTtcblxuICBASGFzTWFueSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgZGVjbGFyZSB2YXJpYW50czogUHJvZHVjdFZhcmlhbnRbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBTdG9yZSwgKCkgPT4gUHJvZHVjdFN0b3JlKVxuICBkZWNsYXJlIHN0b3JlczogU3RvcmVbXTtcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBUYWcsICgpID0+IFByb2R1Y3RUYWcpXG4gIGRlY2xhcmUgdGFnczogVGFnW107XG5cbiAgQEhhc01hbnkoKCkgPT4gVXNlckZhdm9yaXRlKVxuICBkZWNsYXJlIHVzZXJGYXZvcml0ZXM6IFVzZXJGYXZvcml0ZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXIgfSBmcm9tICcuL3B1cmNoYXNlLW9yZGVyLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0VmFyaWFudCB9IGZyb20gJy4vcHJvZHVjdC12YXJpYW50LmVudGl0eSc7XG5cbmV4cG9ydCBlbnVtIFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzIHtcbiAgUEVORElORyA9ICdwZW5kaW5nJyxcbiAgUEFSVElBTExZX1JFQ0VJVkVEID0gJ3BhcnRpYWxseV9yZWNlaXZlZCcsXG4gIEZVTExZX1JFQ0VJVkVEID0gJ2Z1bGx5X3JlY2VpdmVkJyxcbiAgQ0FOQ0VMTEVEID0gJ2NhbmNlbGxlZCcsXG59XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFB1cmNoYXNlT3JkZXJJdGVtIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBQdXJjaGFzZU9yZGVyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHB1cmNoYXNlT3JkZXJJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBwcm9kdWN0VmFyaWFudElkPzogbnVtYmVyO1xuXG4gIC8vIEhvdyBtYW55IHVuaXRzIHdlcmUgb3JkZXJlZCBmcm9tIHZlbmRvclxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG9yZGVyZWRRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIEhvdyBtYW55IHVuaXRzIGhhdmUgYmVlbiByZWNlaXZlZCBzbyBmYXIgKHVwZGF0ZWQgb24gZWFjaCByZWNlaXB0KVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcmVjZWl2ZWRRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIEhvdyBtYW55IG9mIHRoZXNlIGFyZSByZXNlcnZlZCBmb3IgYSBzcGVjaWZpYyBjdXN0b21lciBvcmRlclxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcmVzZXJ2ZWRRdWFudGl0eTogbnVtYmVyO1xuXG4gIC8vIFZlbmRvcidzIGNvc3QgcHJpY2UgcGVyIHVuaXQgYXQgdGltZSBvZiBQT1xuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCgxMCwgMyksIGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1bml0Q29zdFByaWNlOiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBkZWZhdWx0VmFsdWU6IDAgfSlcbiAgZGVjbGFyZSB0b3RhbENvc3RQcmljZTogbnVtYmVyO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhQdXJjaGFzZU9yZGVySXRlbVN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogUHVyY2hhc2VPcmRlckl0ZW1TdGF0dXMuUEVORElORyxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzO1xuXG4gIC8vIFJlZmVyZW5jZSB0byB0aGUgY3VzdG9tZXIgb3JkZXIgdGhhdCB0cmlnZ2VyZWQgdGhpcyBQTyBpdGVtIChudWxsYWJsZSA9IHByb2FjdGl2ZSBzdG9jayByZXBsZW5pc2htZW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgdHJpZ2dlck9yZGVySWQ/OiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFB1cmNoYXNlT3JkZXIpXG4gIGRlY2xhcmUgcHVyY2hhc2VPcmRlcjogUHVyY2hhc2VPcmRlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBkZWNsYXJlIHZhcmlhbnQ/OiBQcm9kdWN0VmFyaWFudDtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG4gIEhhc01hbnksXG4gIERhdGFUeXBlLFxufSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBWZW5kb3IgfSBmcm9tICcuL3ZlbmRvci5lbnRpdHknO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFN5c1VzZXIgfSBmcm9tICcuL3N5cy51c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBQdXJjaGFzZU9yZGVySXRlbSB9IGZyb20gJy4vcHVyY2hhc2Utb3JkZXItaXRlbS5lbnRpdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlclN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3B1cmNoYXNlT3JkZXJTdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBQdXJjaGFzZU9yZGVyIGV4dGVuZHMgTW9kZWwge1xuICAvLyBBdXRvLWdlbmVyYXRlZCBQTyBudW1iZXIgZS5nLiBQTy0yMDI2LTAwMDAxXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB1bmlxdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBwb051bWJlcjogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFZlbmRvcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2ZW5kb3JJZDogbnVtYmVyO1xuXG4gIC8vIFRhcmdldCBpbnZlbnRvcnkgd2hlcmUgcmVjZWl2ZWQgc3RvY2sgd2lsbCBiZSBzdG9yZWRcbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFB1cmNoYXNlT3JkZXJTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFB1cmNoYXNlT3JkZXJTdGF0dXMuRFJBRlQsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBQdXJjaGFzZU9yZGVyU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgdG90YWxBbW91bnQ6IG51bWJlcjtcblxuICAvLyBDdXJyZW5jeSBvZiB0aGUgUE8gKHZlbmRvcidzIGN1cnJlbmN5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAnVVNEJyB9KVxuICBkZWNsYXJlIGN1cnJlbmN5OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGV4cGVjdGVkRGVsaXZlcnlEYXRlPzogRGF0ZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2VudEF0PzogRGF0ZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY2xvc2VkQXQ/OiBEYXRlO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjYW5jZWxsZWRBdD86IERhdGU7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNhbmNlbGxhdGlvblJlYXNvbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbm90ZXM/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzVXNlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNyZWF0ZWRCeT86IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBTeXNVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgc2VudEJ5PzogbnVtYmVyO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBWZW5kb3IpXG4gIGRlY2xhcmUgdmVuZG9yOiBWZW5kb3I7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBJbnZlbnRvcnkpXG4gIGRlY2xhcmUgaW52ZW50b3J5OiBJbnZlbnRvcnk7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNVc2VyLCB7IGZvcmVpZ25LZXk6ICdjcmVhdGVkQnknLCBhczogJ2NyZWF0b3InIH0pXG4gIGRlY2xhcmUgY3JlYXRvcj86IFN5c1VzZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBTeXNVc2VyLCB7IGZvcmVpZ25LZXk6ICdzZW50QnknLCBhczogJ3NlbmRlcicgfSlcbiAgZGVjbGFyZSBzZW5kZXI/OiBTeXNVc2VyO1xuXG4gIEBIYXNNYW55KCgpID0+IFB1cmNoYXNlT3JkZXJJdGVtKVxuICBkZWNsYXJlIGl0ZW1zOiBQdXJjaGFzZU9yZGVySXRlbVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9wZXJtaXNzaW9uLmVudGl0eSc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFJvbGVQZXJtaXNzaW9uIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBTeXNSb2xlKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHN5c1JvbGVJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFBlcm1pc3Npb24pXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGVybWlzc2lvbklkOiBudW1iZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTaGlwcGluZ1J1bGUgZXh0ZW5kcyBNb2RlbCB7XG4gIC8vIEZyb20gd2hpY2ggaW52ZW50b3J5XG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIC8vIFRvIHdoaWNoIGNvdW50cnlcbiAgQEZvcmVpZ25LZXkoKCkgPT4gQ291bnRyeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ6IG51bWJlcjtcblxuICAvLyBPcHRpb25hbDogb3ZlcnJpZGUgZm9yIGEgc3BlY2lmaWMgc3RvcmVcbiAgLy8gbnVsbCA9IGFwcGxpZXMgdG8gYWxsIHN0b3JlcyBzaGlwcGluZyBmcm9tIHRoaXMgaW52ZW50b3J5IHRvIHRoaXMgY291bnRyeVxuICBARm9yZWlnbktleSgoKSA9PiBTdG9yZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHN0b3JlSWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogMSB9KVxuICBkZWNsYXJlIG1pbkRheXM6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiAzIH0pXG4gIGRlY2xhcmUgbWF4RGF5czogbnVtYmVyO1xuXG4gIC8vIENhcnJpZXIgbmFtZSBlLmcuIEFyYW1leCwgREhMLCBGZWRFeCwgSW50ZXJuYWxcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNhcnJpZXJOYW1lPzogc3RyaW5nO1xuXG4gIC8vIFNoaXBwaW5nIGNvc3QgaW4gdGhlIGludmVudG9yeSdzIGJhc2UgY3VycmVuY3kgKEtXRClcbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoMTAsIDMpLCBhbGxvd051bGw6IHRydWUsIGRlZmF1bHRWYWx1ZTogMCB9KVxuICBkZWNsYXJlIHNoaXBwaW5nQ29zdD86IG51bWJlcjtcblxuICAvLyBGcmVlIHNoaXBwaW5nIHRocmVzaG9sZCDigJQgbnVsbCBtZWFucyBuZXZlciBmcmVlXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgZnJlZVNoaXBwaW5nVGhyZXNob2xkPzogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCBkZWZhdWx0VmFsdWU6IHRydWUgfSlcbiAgZGVjbGFyZSBpc0FjdGl2ZTogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbm90ZXM/OiBzdHJpbmc7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IEludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcnk6IEludmVudG9yeTtcblxuICBAQmVsb25nc1RvKCgpID0+IENvdW50cnkpXG4gIGRlY2xhcmUgY291bnRyeTogQ291bnRyeTtcblxuICBAQmVsb25nc1RvKCgpID0+IFN0b3JlKVxuICBkZWNsYXJlIHN0b3JlPzogU3RvcmU7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFN5c1VzZXIgfSBmcm9tICcuL3N5cy51c2VyLmVudGl0eSc7XG5pbXBvcnQgeyBTdG9ja01vdmVtZW50VHlwZSB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0b2NrTW92ZW1lbnRUeXBlJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgU3RvY2tNb3ZlbWVudCBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gSW52ZW50b3J5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGludmVudG9yeUlkOiBudW1iZXI7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gUHJvZHVjdClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwcm9kdWN0SWQ6IG51bWJlcjtcblxuICBARm9yZWlnbktleSgoKSA9PiBQcm9kdWN0VmFyaWFudClcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHByb2R1Y3RWYXJpYW50SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0b2NrTW92ZW1lbnRUeXBlKSksXG4gICAgYWxsb3dOdWxsOiBmYWxzZSxcbiAgfSlcbiAgZGVjbGFyZSBtb3ZlbWVudFR5cGU6IFN0b2NrTW92ZW1lbnRUeXBlO1xuXG4gIC8vIFBvc2l0aXZlID0gc3RvY2sgaW4sIE5lZ2F0aXZlID0gc3RvY2sgb3V0XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcXVhbnRpdHk6IG51bWJlcjtcblxuICAvLyBTbmFwc2hvdCBvZiBxdWFudGl0eSBiZWZvcmUgdGhpcyBtb3ZlbWVudFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHF1YW50aXR5QmVmb3JlOiBudW1iZXI7XG5cbiAgLy8gU25hcHNob3Qgb2YgcXVhbnRpdHkgYWZ0ZXIgdGhpcyBtb3ZlbWVudFxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHF1YW50aXR5QWZ0ZXI6IG51bWJlcjtcblxuICAvLyBSZWZlcmVuY2UgdG8gc291cmNlIGRvY3VtZW50IChQTyBpZCwgb3JkZXIgaWQsIGV0Yy4pXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSByZWZlcmVuY2VUeXBlPzogc3RyaW5nOyAvLyAncHVyY2hhc2Vfb3JkZXInIHwgJ29yZGVyJyB8ICdtYW51YWwnIHwgJ3RyYW5zZmVyJ1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSByZWZlcmVuY2VJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbm90ZXM/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzVXNlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNyZWF0ZWRCeT86IG51bWJlcjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gSW52ZW50b3J5KVxuICBkZWNsYXJlIGludmVudG9yeTogSW52ZW50b3J5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudD86IFByb2R1Y3RWYXJpYW50O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3lzVXNlcilcbiAgZGVjbGFyZSBjcmVhdGVkQnlVc2VyPzogU3lzVXNlcjtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICcuL3N0b3JlLmVudGl0eSc7XG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2ludmVudG9yeS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTdG9yZUludmVudG9yeSBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3RvcmUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgc3RvcmVJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IEludmVudG9yeSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBpbnZlbnRvcnlJZDogbnVtYmVyO1xuXG4gIC8vIFByaW9yaXR5IOKAlCBsb3dlciBudW1iZXIgPSBwcmVmZXJyZWQgaW52ZW50b3J5IGZvciB0aGlzIHN0b3JlXG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IDEgfSlcbiAgZGVjbGFyZSBwcmlvcml0eTogbnVtYmVyO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbiAgQmVsb25nc1RvTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RTdG9yZSB9IGZyb20gJy4vcHJvZHVjdC1zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmVJbnZlbnRvcnkgfSBmcm9tICcuL3N0b3JlLWludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgSW52ZW50b3J5IH0gZnJvbSAnLi9pbnZlbnRvcnkuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFN0b3JlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVFbjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUFyOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uRW4/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGRlc2NyaXB0aW9uQXI/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvZ28/OiBzdHJpbmc7XG5cbiAgLy8gSVNPIGN1cnJlbmN5IGNvZGUgZS5nLiBLV0QsIFNBUiwgUUFSLCBVU0RcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIGRlZmF1bHRWYWx1ZTogJ1VTRCcgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeVN5bWJvbEVuPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjdXJyZW5jeVN5bWJvbEFyPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcbiAgZGVjbGFyZSBpc0dsb2JhbDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gUHJvZHVjdCwgKCkgPT4gUHJvZHVjdFN0b3JlKVxuICBkZWNsYXJlIHByb2R1Y3RzOiBQcm9kdWN0W107XG5cbiAgQEJlbG9uZ3NUb01hbnkoKCkgPT4gSW52ZW50b3J5LCAoKSA9PiBTdG9yZUludmVudG9yeSlcbiAgZGVjbGFyZSBpbnZlbnRvcmllczogSW52ZW50b3J5W107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgQmVsb25nc1RvTWFueSxcbiAgSGFzTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUGVybWlzc2lvbiB9IGZyb20gJy4vcGVybWlzc2lvbi5lbnRpdHknO1xuaW1wb3J0IHsgUm9sZVBlcm1pc3Npb24gfSBmcm9tICcuL3JvbGUtcGVybWlzc2lvbi5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTeXNSb2xlIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBkaXNwbGF5TmFtZT86IHN0cmluZztcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQZXJtaXNzaW9uLCAoKSA9PiBSb2xlUGVybWlzc2lvbilcbiAgZGVjbGFyZSBwZXJtaXNzaW9uczogUGVybWlzc2lvbltdO1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuLi91dGlscy9lbnVtcy9zdGF0dXMnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBTeXNVc2VyIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdXNlcm5hbWU6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgdW5pcXVlOiB0cnVlIH0pXG4gIGRlY2xhcmUgZW1haWw6IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHBob25lRXh0OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZTogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGFzc3dvcmQ6IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcHJvZmlsZVBpY3R1cmU/OiBzdHJpbmc7XG5cbiAgQEZvcmVpZ25LZXkoKCkgPT4gU3lzUm9sZSlcbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHJvbGVJZD86IG51bWJlcjtcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsYXN0TG9naW4/OiBEYXRlO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gU3lzUm9sZSlcbiAgZGVjbGFyZSByb2xlPzogU3lzUm9sZTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBCZWxvbmdzVG9NYW55LFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4vcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFRhZyB9IGZyb20gJy4vcHJvZHVjdC10YWcuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFRhZyBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UsIHVuaXF1ZTogdHJ1ZSB9KVxuICBkZWNsYXJlIHNsdWc6IHN0cmluZzsgLy8gZS5nLiAnYmVzdF9zZWxsZXInLCAnbmV3X2Fycml2YWwnLCAnZGlzY291bnQnXG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIC8vIE9wdGlvbmFsIGNvbG9yIGZvciBVSSBiYWRnZSBkaXNwbGF5IGUuZy4gJyNGRjAwMDAnXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb2xvcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBAQmVsb25nc1RvTWFueSgoKSA9PiBQcm9kdWN0LCAoKSA9PiBQcm9kdWN0VGFnKVxuICBkZWNsYXJlIHByb2R1Y3RzOiBQcm9kdWN0W107XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgQXJlYSB9IGZyb20gJy4vYXJlYS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyQWRkcmVzcyBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVXNlcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB1c2VySWQ6IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGxhYmVsOiBzdHJpbmc7IC8vIGUuZy4gJ0hvbWUnLCAnV29yaycsICdPdGhlcidcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGZ1bGxOYW1lOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBwaG9uZUV4dDogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcGhvbmU6IHN0cmluZztcblxuICBARm9yZWlnbktleSgoKSA9PiBDb3VudHJ5KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNvdW50cnlJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IEFyZWEpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhcmVhSWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGNpdHk/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJsb2NrPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBzdHJlZXQ/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGJ1aWxkaW5nPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBmbG9vcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYXBhcnRtZW50Pzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5URVhULCBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBhZGRpdGlvbmFsSW5mbz86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuREVDSU1BTCg5LCA2KSwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgbGF0aXR1ZGU/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLkRFQ0lNQUwoOSwgNiksIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGxvbmdpdHVkZT86IG51bWJlcjtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzRGVmYXVsdDogYm9vbGVhbjtcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVXNlcilcbiAgZGVjbGFyZSB1c2VyOiBVc2VyO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQ291bnRyeSlcbiAgZGVjbGFyZSBjb3VudHJ5OiBDb3VudHJ5O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gQXJlYSlcbiAgZGVjbGFyZSBhcmVhPzogQXJlYTtcbn1cbiIsImltcG9ydCB7XG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIE1vZGVsLFxuICBGb3JlaWduS2V5LFxuICBCZWxvbmdzVG8sXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVXNlckZhdm9yaXRlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIHVzZXJJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8g4pSA4pSA4pSAIEFzc29jaWF0aW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuICBAQmVsb25nc1RvKCgpID0+IFVzZXIpXG4gIGRlY2xhcmUgdXNlcjogVXNlcjtcblxuICBAQmVsb25nc1RvKCgpID0+IFByb2R1Y3QpXG4gIGRlY2xhcmUgcHJvZHVjdDogUHJvZHVjdDtcblxuXG59XG4iLCJpbXBvcnQge1xuICBNb2RlbCxcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbiAgSGFzTWFueSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvbGFuZ3VhZ2UnO1xuaW1wb3J0IHsgQ291bnRyeSB9IGZyb20gJy4vY291bnRyeS5lbnRpdHknO1xuaW1wb3J0IHsgR2VuZGVyIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvZ2VuZGVyJztcbmltcG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi91c2VyLWFkZHJlc3MuZW50aXR5JztcbmltcG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyIGV4dGVuZHMgTW9kZWwge1xuICBAQ29sdW1uXG4gIGRlY2xhcmUgZmlyc3ROYW1lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBsYXN0TmFtZT86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgcGFzc3dvcmQ6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlLCB2YWxpZGF0ZTogeyBpc0VtYWlsOiB7IG1zZzogJ0ludmFsaWQgRW1haWwnIH0gfSB9KVxuICBkZWNsYXJlIGVtYWlsOiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHBob25lPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwaG9uZUV4dD86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYmlydGhkYXk/OiBEYXRlO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBmYWNlYm9va0lkPzogc3RyaW5nO1xuXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBnb29nbGVJZD86IHN0cmluZztcblxuICBAQ29sdW1uXG4gIGRlY2xhcmUgYXBwbGVJZD86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoTGFuZ3VhZ2UpKSxcbiAgICBkZWZhdWx0VmFsdWU6IExhbmd1YWdlLkVOR0xJU0gsXG4gIH0pXG4gIGRlY2xhcmUgcHJlZmVycmVkTGFuZ3VhZ2U6IExhbmd1YWdlO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBwcmVmZXJyZWRDb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHByb2ZpbGVQaWM/OiBzdHJpbmc7XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIGxhc3RMb2dpbjogRGF0ZTtcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzQmxvY2tlZDogYm9vbGVhbjtcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuICBkZWNsYXJlIGlzVmVyaWZpZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtblxuICBkZWNsYXJlIHJlZkNvZGU6IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoR2VuZGVyKSksXG4gICAgZGVmYXVsdFZhbHVlOiBHZW5kZXIuUFJFRkVSX05PVF9UT19TQVksXG4gIH0pXG4gIGRlY2xhcmUgZ2VuZGVyOiBHZW5kZXI7XG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG5cbiAgQEhhc01hbnkoKCkgPT4gVXNlckFkZHJlc3MpXG4gIGRlY2xhcmUgYWRkcmVzc2VzOiBVc2VyQWRkcmVzc1tdO1xuXG4gIEBIYXNNYW55KCgpID0+IFVzZXJGYXZvcml0ZSlcbiAgZGVjbGFyZSBmYXZvcml0ZXM6IFVzZXJGYXZvcml0ZVtdO1xufVxuIiwiaW1wb3J0IHtcbiAgTW9kZWwsXG4gIFRhYmxlLFxuICBDb2x1bW4sXG4gIFByaW1hcnlLZXksXG4gIEF1dG9JbmNyZW1lbnQsXG4gIENyZWF0ZWRBdCxcbiAgVXBkYXRlZEF0LFxuICBEZWxldGVkQXQsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgQmVsb25nc1RvTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuL3VzZXIuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5pbXBvcnQgeyBPc05hbWUgfSBmcm9tICcuLi91dGlscy9lbnVtcy9vc05hbWUnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBVc2VyRGV2aWNlIGV4dGVuZHMgTW9kZWwge1xuICBARm9yZWlnbktleSgoKSA9PiBVc2VyKVxuICBAQ29sdW1uXG4gIGRlY2xhcmUgdXNlcklkOiBudW1iZXI7XG4gIEBDb2x1bW5cbiAgZGVjbGFyZSBkZXZpY2VJZD86IHN0cmluZztcbiAgQENvbHVtblxuICBkZWNsYXJlIGZjbVRva2VuPzogc3RyaW5nO1xuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhPc05hbWUpKSxcbiAgICBhbGxvd051bGw6IHRydWUsXG4gIH0pXG4gIGRlY2xhcmUgb3NTeXN0ZW06IHN0cmluZztcbiAgQEJlbG9uZ3NUbygoKSA9PiBVc2VyKVxuICBkZWNsYXJlIHVzZXI6IFVzZXI7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVmFyaWFudFR5cGUgfSBmcm9tICcuL3ZhcmlhbnQtdHlwZS5lbnRpdHknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcblxuQFRhYmxlXG5leHBvcnQgY2xhc3MgVmFyaWFudE9wdGlvbiBleHRlbmRzIE1vZGVsIHtcbiAgQEZvcmVpZ25LZXkoKCkgPT4gVmFyaWFudFR5cGUpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgdmFyaWFudFR5cGVJZDogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgbmFtZUVuOiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lQXI6IHN0cmluZztcblxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICBAQmVsb25nc1RvKCgpID0+IFZhcmlhbnRUeXBlKVxuICBkZWNsYXJlIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZTtcbn1cbiIsImltcG9ydCB7IFRhYmxlLCBDb2x1bW4sIE1vZGVsLCBIYXNNYW55IH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi4vdXRpbHMvZW51bXMvc3RhdHVzJztcbmltcG9ydCB7IERhdGFUeXBlIH0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuXG5AVGFibGVcbmV4cG9ydCBjbGFzcyBWYXJpYW50VHlwZSBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oe1xuICAgIHR5cGU6IERhdGFUeXBlLkVOVU0oLi4uT2JqZWN0LnZhbHVlcyhTdGF0dXMpKSxcbiAgICBkZWZhdWx0VmFsdWU6IFN0YXR1cy5BQ1RJVkUsXG4gIH0pXG4gIGRlY2xhcmUgc3RhdHVzOiBTdGF0dXM7XG59XG4iLCJpbXBvcnQge1xuICBUYWJsZSxcbiAgQ29sdW1uLFxuICBNb2RlbCxcbiAgRm9yZWlnbktleSxcbiAgQmVsb25nc1RvLFxuICBEYXRhVHlwZSxcbn0gZnJvbSAnc2VxdWVsaXplLXR5cGVzY3JpcHQnO1xuaW1wb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi92ZW5kb3IuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuL3Byb2R1Y3QuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZlbmRvclByb2R1Y3QgZXh0ZW5kcyBNb2RlbCB7XG4gIEBGb3JlaWduS2V5KCgpID0+IFZlbmRvcilcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSB2ZW5kb3JJZDogbnVtYmVyO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3QpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IGZhbHNlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdElkOiBudW1iZXI7XG5cbiAgLy8gbnVsbCA9IGFwcGxpZXMgdG8gcHJvZHVjdCB3aXRoIG5vIHZhcmlhbnRzXG4gIEBGb3JlaWduS2V5KCgpID0+IFByb2R1Y3RWYXJpYW50KVxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcHJvZHVjdFZhcmlhbnRJZD86IG51bWJlcjtcblxuICAvLyBWZW5kb3IncyBjb3N0IHByaWNlIHRvIHVzXG4gIEBDb2x1bW4oeyB0eXBlOiBEYXRhVHlwZS5ERUNJTUFMKDEwLCAzKSwgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIGNvc3RQcmljZTogbnVtYmVyO1xuXG4gIC8vIFZlbmRvcidzIFNLVS9yZWZlcmVuY2UgY29kZSBmb3IgdGhpcyBwcm9kdWN0XG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSB2ZW5kb3JTa3U/OiBzdHJpbmc7XG5cbiAgLy8gVHlwaWNhbCBsZWFkIHRpbWUgaW4gZGF5cyBmcm9tIHRoaXMgdmVuZG9yXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBsZWFkVGltZURheXM/OiBudW1iZXI7XG5cbiAgLy8gTWluaW11bSBvcmRlciBxdWFudGl0eVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAxIH0pXG4gIGRlY2xhcmUgbW9xOiBudW1iZXI7XG5cbiAgLy8gSXMgdGhpcyB0aGUgcHJlZmVycmVkL2RlZmF1bHQgdmVuZG9yIGZvciB0aGlzIHByb2R1Y3Q/XG4gIEBDb2x1bW4oeyBkZWZhdWx0VmFsdWU6IGZhbHNlIH0pXG4gIGRlY2xhcmUgaXNQcmVmZXJyZWQ6IGJvb2xlYW47XG5cbiAgQENvbHVtbih7XG4gICAgdHlwZTogRGF0YVR5cGUuRU5VTSguLi5PYmplY3QudmFsdWVzKFN0YXR1cykpLFxuICAgIGRlZmF1bHRWYWx1ZTogU3RhdHVzLkFDVElWRSxcbiAgfSlcbiAgZGVjbGFyZSBzdGF0dXM6IFN0YXR1cztcblxuICAvLyDilIDilIDilIAgQXNzb2NpYXRpb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4gIEBCZWxvbmdzVG8oKCkgPT4gVmVuZG9yKVxuICBkZWNsYXJlIHZlbmRvcjogVmVuZG9yO1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdClcbiAgZGVjbGFyZSBwcm9kdWN0OiBQcm9kdWN0O1xuXG4gIEBCZWxvbmdzVG8oKCkgPT4gUHJvZHVjdFZhcmlhbnQpXG4gIGRlY2xhcmUgdmFyaWFudD86IFByb2R1Y3RWYXJpYW50O1xufVxuIiwiaW1wb3J0IHtcbiAgVGFibGUsXG4gIENvbHVtbixcbiAgTW9kZWwsXG4gIEZvcmVpZ25LZXksXG4gIEJlbG9uZ3NUbyxcbiAgSGFzTWFueSxcbiAgRGF0YVR5cGUsXG59IGZyb20gJ3NlcXVlbGl6ZS10eXBlc2NyaXB0JztcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IFN0YXR1cyB9IGZyb20gJy4uL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5cbkBUYWJsZVxuZXhwb3J0IGNsYXNzIFZlbmRvciBleHRlbmRzIE1vZGVsIHtcbiAgQENvbHVtbih7IGFsbG93TnVsbDogZmFsc2UgfSlcbiAgZGVjbGFyZSBuYW1lRW46IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiBmYWxzZSB9KVxuICBkZWNsYXJlIG5hbWVBcjogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb250YWN0UGVyc29uPzogc3RyaW5nO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBlbWFpbD86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgcGhvbmU/OiBzdHJpbmc7XG5cbiAgQENvbHVtbih7IHR5cGU6IERhdGFUeXBlLlRFWFQsIGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIGFkZHJlc3NFbj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgdHlwZTogRGF0YVR5cGUuVEVYVCwgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgYWRkcmVzc0FyPzogc3RyaW5nO1xuXG4gIEBGb3JlaWduS2V5KCgpID0+IENvdW50cnkpXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBjb3VudHJ5SWQ/OiBudW1iZXI7XG5cbiAgQENvbHVtbih7IGFsbG93TnVsbDogdHJ1ZSB9KVxuICBkZWNsYXJlIHRheE51bWJlcj86IHN0cmluZztcblxuICBAQ29sdW1uKHsgYWxsb3dOdWxsOiB0cnVlIH0pXG4gIGRlY2xhcmUgY29tbWVyY2lhbFJlZ051bWJlcj86IHN0cmluZztcblxuICAvLyBEZWZhdWx0IHBheW1lbnQgdGVybXMgaW4gZGF5cyAoZS5nLiAzMCA9IE5FVDMwKVxuICBAQ29sdW1uKHsgZGVmYXVsdFZhbHVlOiAwIH0pXG4gIGRlY2xhcmUgcGF5bWVudFRlcm1zRGF5czogbnVtYmVyO1xuXG4gIEBDb2x1bW4oeyBhbGxvd051bGw6IHRydWUgfSlcbiAgZGVjbGFyZSBub3Rlcz86IHN0cmluZztcblxuICBAQ29sdW1uKHtcbiAgICB0eXBlOiBEYXRhVHlwZS5FTlVNKC4uLk9iamVjdC52YWx1ZXMoU3RhdHVzKSksXG4gICAgZGVmYXVsdFZhbHVlOiBTdGF0dXMuQUNUSVZFLFxuICB9KVxuICBkZWNsYXJlIHN0YXR1czogU3RhdHVzO1xuXG4gIC8vIOKUgOKUgOKUgCBBc3NvY2lhdGlvbnMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5cbiAgQEJlbG9uZ3NUbygoKSA9PiBDb3VudHJ5KVxuICBkZWNsYXJlIGNvdW50cnk6IENvdW50cnk7XG59XG4iLCJpbXBvcnQgeyBNb2RlbEN0b3IgfSBmcm9tICdzZXF1ZWxpemUtdHlwZXNjcmlwdCc7XG5cbi8vIOKUgOKUgOKUgCBFeGlzdGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IENvdW50cnkgfSBmcm9tICcuL2VudGl0aWVzL2NvdW50cnkuZW50aXR5JztcbmltcG9ydCB7IEFyZWEgfSBmcm9tICcuL2VudGl0aWVzL2FyZWEuZW50aXR5JztcbmltcG9ydCB7IFN5c1JvbGUgfSBmcm9tICcuL2VudGl0aWVzL3N5cy5yb2xlLmVudGl0eSc7XG5pbXBvcnQgeyBTeXNVc2VyIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMudXNlci5lbnRpdHknO1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4vZW50aXRpZXMvdXNlci5lbnRpdHknO1xuaW1wb3J0IHsgVXNlckRldmljZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlckRldmljZS5lbnRpdHknO1xuaW1wb3J0IHsgQXBpS2V5IH0gZnJvbSAnLi9lbnRpdGllcy9hcGlrZXkuZW50aXR5JztcbmltcG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5JztcbmltcG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2F0YWxvZ3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuaW1wb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eSc7XG5pbXBvcnQgeyBCcmFuZCB9IGZyb20gJy4vZW50aXRpZXMvYnJhbmQuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5JztcbmltcG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LmVudGl0eSc7XG5pbXBvcnQgeyBQcm9kdWN0TWVkaWEgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtbWVkaWEuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQuZW50aXR5JztcbmltcG9ydCB7IFByb2R1Y3RWYXJpYW50T3B0aW9uIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL2VudGl0aWVzL3RhZy5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFRhZyB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC10YWcuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFN0b3JlcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnLi9lbnRpdGllcy9zdG9yZS5lbnRpdHknO1xuaW1wb3J0IHsgUHJvZHVjdFN0b3JlIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXN0b3JlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBJbnZlbnRvcnkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG5pbXBvcnQgeyBJbnZlbnRvcnkgfSBmcm9tICcuL2VudGl0aWVzL2ludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgU3RvcmVJbnZlbnRvcnkgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLWludmVudG9yeS5lbnRpdHknO1xuaW1wb3J0IHsgSW52ZW50b3J5U3RvY2sgfSBmcm9tICcuL2VudGl0aWVzL2ludmVudG9yeS1zdG9jay5lbnRpdHknO1xuaW1wb3J0IHsgU3RvY2tNb3ZlbWVudCB9IGZyb20gJy4vZW50aXRpZXMvc3RvY2stbW92ZW1lbnQuZW50aXR5JztcbmltcG9ydCB7IFNoaXBwaW5nUnVsZSB9IGZyb20gJy4vZW50aXRpZXMvc2hpcHBpbmctcnVsZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgUHVyY2hhc2luZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IFZlbmRvciB9IGZyb20gJy4vZW50aXRpZXMvdmVuZG9yLmVudGl0eSc7XG5pbXBvcnQgeyBWZW5kb3JQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3ItcHJvZHVjdC5lbnRpdHknO1xuaW1wb3J0IHsgUHVyY2hhc2VPcmRlciB9IGZyb20gJy4vZW50aXRpZXMvcHVyY2hhc2Utb3JkZXIuZW50aXR5JztcbmltcG9ydCB7IFB1cmNoYXNlT3JkZXJJdGVtIH0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci1pdGVtLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQZXJtaXNzaW9ucyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuL2VudGl0aWVzL3Blcm1pc3Npb24uZW50aXR5JztcbmltcG9ydCB7IFJvbGVQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9yb2xlLXBlcm1pc3Npb24uZW50aXR5JztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVYUE9SVFNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIOKUgOKUgOKUgCBFeGlzdGluZyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IEFwaUtleSB9IGZyb20gJy4vZW50aXRpZXMvYXBpa2V5LmVudGl0eSc7XG5leHBvcnQgeyBDb3VudHJ5IH0gZnJvbSAnLi9lbnRpdGllcy9jb3VudHJ5LmVudGl0eSc7XG5leHBvcnQgeyBBcmVhIH0gZnJvbSAnLi9lbnRpdGllcy9hcmVhLmVudGl0eSc7XG5leHBvcnQgeyBTeXNSb2xlIH0gZnJvbSAnLi9lbnRpdGllcy9zeXMucm9sZS5lbnRpdHknO1xuZXhwb3J0IHsgU3lzVXNlciB9IGZyb20gJy4vZW50aXRpZXMvc3lzLnVzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXIgfSBmcm9tICcuL2VudGl0aWVzL3VzZXIuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJEZXZpY2UgfSBmcm9tICcuL2VudGl0aWVzL3VzZXJEZXZpY2UuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJBZGRyZXNzIH0gZnJvbSAnLi9lbnRpdGllcy91c2VyLWFkZHJlc3MuZW50aXR5JztcbmV4cG9ydCB7IFVzZXJGYXZvcml0ZSB9IGZyb20gJy4vZW50aXRpZXMvdXNlci1mYXZvcml0ZS5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgQ2F0YWxvZ3VlIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgQ2F0ZWdvcnkgfSBmcm9tICcuL2VudGl0aWVzL2NhdGVnb3J5LmVudGl0eSc7XG5leHBvcnQgeyBCcmFuZCB9IGZyb20gJy4vZW50aXRpZXMvYnJhbmQuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRUeXBlIH0gZnJvbSAnLi9lbnRpdGllcy92YXJpYW50LXR5cGUuZW50aXR5JztcbmV4cG9ydCB7IFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3ZhcmlhbnQtb3B0aW9uLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0IH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0TWVkaWEsIE1lZGlhVHlwZSB9IGZyb20gJy4vZW50aXRpZXMvcHJvZHVjdC1tZWRpYS5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnQgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC5lbnRpdHknO1xuZXhwb3J0IHsgUHJvZHVjdFZhcmlhbnRPcHRpb24gfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3QtdmFyaWFudC1vcHRpb24uZW50aXR5JztcbmV4cG9ydCB7IFRhZyB9IGZyb20gJy4vZW50aXRpZXMvdGFnLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0VGFnIH0gZnJvbSAnLi9lbnRpdGllcy9wcm9kdWN0LXRhZy5lbnRpdHknO1xuXG4vLyDilIDilIDilIAgU3RvcmVzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgU3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3N0b3JlLmVudGl0eSc7XG5leHBvcnQgeyBQcm9kdWN0U3RvcmUgfSBmcm9tICcuL2VudGl0aWVzL3Byb2R1Y3Qtc3RvcmUuZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIEludmVudG9yeSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IEludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LmVudGl0eSc7XG5leHBvcnQgeyBTdG9yZUludmVudG9yeSB9IGZyb20gJy4vZW50aXRpZXMvc3RvcmUtaW52ZW50b3J5LmVudGl0eSc7XG5leHBvcnQgeyBJbnZlbnRvcnlTdG9jayB9IGZyb20gJy4vZW50aXRpZXMvaW52ZW50b3J5LXN0b2NrLmVudGl0eSc7XG5leHBvcnQgeyBTdG9ja01vdmVtZW50IH0gZnJvbSAnLi9lbnRpdGllcy9zdG9jay1tb3ZlbWVudC5lbnRpdHknO1xuZXhwb3J0IHsgU2hpcHBpbmdSdWxlIH0gZnJvbSAnLi9lbnRpdGllcy9zaGlwcGluZy1ydWxlLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBQdXJjaGFzaW5nIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuZXhwb3J0IHsgVmVuZG9yIH0gZnJvbSAnLi9lbnRpdGllcy92ZW5kb3IuZW50aXR5JztcbmV4cG9ydCB7IFZlbmRvclByb2R1Y3QgfSBmcm9tICcuL2VudGl0aWVzL3ZlbmRvci1wcm9kdWN0LmVudGl0eSc7XG5leHBvcnQgeyBQdXJjaGFzZU9yZGVyIH0gZnJvbSAnLi9lbnRpdGllcy9wdXJjaGFzZS1vcmRlci5lbnRpdHknO1xuZXhwb3J0IHtcbiAgUHVyY2hhc2VPcmRlckl0ZW0sXG4gIFB1cmNoYXNlT3JkZXJJdGVtU3RhdHVzLFxufSBmcm9tICcuL2VudGl0aWVzL3B1cmNoYXNlLW9yZGVyLWl0ZW0uZW50aXR5JztcblxuLy8g4pSA4pSA4pSAIFBlcm1pc3Npb25zIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG5leHBvcnQgeyBQZXJtaXNzaW9uIH0gZnJvbSAnLi9lbnRpdGllcy9wZXJtaXNzaW9uLmVudGl0eSc7XG5leHBvcnQgeyBSb2xlUGVybWlzc2lvbiB9IGZyb20gJy4vZW50aXRpZXMvcm9sZS1wZXJtaXNzaW9uLmVudGl0eSc7XG5cbi8vIOKUgOKUgOKUgCBFbnVtcyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmV4cG9ydCB7IE9zTmFtZSB9IGZyb20gJy4vdXRpbHMvZW51bXMvb3NOYW1lJztcbmV4cG9ydCB7IFByb2R1Y3RBcHAgfSBmcm9tICcuL3V0aWxzL2VudW1zL3Byb2R1Y3RBcHAnO1xuZXhwb3J0IHsgVmVyc2lvblR5cGUgfSBmcm9tICcuL3V0aWxzL2VudW1zL3ZlcnNpb250eXBlJztcbmV4cG9ydCB7IExhbmd1YWdlIH0gZnJvbSAnLi91dGlscy9lbnVtcy9sYW5ndWFnZSc7XG5leHBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3V0aWxzL2VudW1zL3N0YXR1cyc7XG5leHBvcnQgeyBHZW5kZXIgfSBmcm9tICcuL3V0aWxzL2VudW1zL2dlbmRlcic7XG5leHBvcnQgeyBQdXJjaGFzZU9yZGVyU3RhdHVzIH0gZnJvbSAnLi91dGlscy9lbnVtcy9wdXJjaGFzZU9yZGVyU3RhdHVzJztcbmV4cG9ydCB7IFN0b2NrTW92ZW1lbnRUeXBlIH0gZnJvbSAnLi91dGlscy9lbnVtcy9zdG9ja01vdmVtZW50VHlwZSc7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0RFTCBSRUdJU1RSWVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERiTW9kZWxzKCk6IE1vZGVsQ3RvcltdIHtcbiAgcmV0dXJuIFtcbiAgICAvLyBFeGlzdGluZ1xuICAgIEFwaUtleSxcbiAgICBBcmVhLFxuICAgIENvdW50cnksXG4gICAgU3lzUm9sZSxcbiAgICBTeXNVc2VyLFxuICAgIFVzZXIsXG4gICAgVXNlckRldmljZSxcbiAgICBVc2VyQWRkcmVzcyxcbiAgICBVc2VyRmF2b3JpdGUsXG5cbiAgICAvLyBDYXRhbG9ndWVcbiAgICBDYXRlZ29yeSxcbiAgICBCcmFuZCxcbiAgICBWYXJpYW50VHlwZSxcbiAgICBWYXJpYW50T3B0aW9uLFxuICAgIFByb2R1Y3QsXG4gICAgUHJvZHVjdE1lZGlhLFxuICAgIFByb2R1Y3RWYXJpYW50LFxuICAgIFByb2R1Y3RWYXJpYW50T3B0aW9uLFxuICAgIFRhZyxcbiAgICBQcm9kdWN0VGFnLFxuXG4gICAgLy8gU3RvcmVzXG4gICAgU3RvcmUsXG4gICAgUHJvZHVjdFN0b3JlLFxuXG4gICAgLy8gSW52ZW50b3J5XG4gICAgSW52ZW50b3J5LFxuICAgIFN0b3JlSW52ZW50b3J5LFxuICAgIEludmVudG9yeVN0b2NrLFxuICAgIFN0b2NrTW92ZW1lbnQsXG4gICAgU2hpcHBpbmdSdWxlLFxuXG4gICAgLy8gUHVyY2hhc2luZ1xuICAgIFZlbmRvcixcbiAgICBWZW5kb3JQcm9kdWN0LFxuICAgIFB1cmNoYXNlT3JkZXIsXG4gICAgUHVyY2hhc2VPcmRlckl0ZW0sXG5cbiAgICAvLyBQZXJtaXNzaW9uc1xuICAgIFBlcm1pc3Npb24sXG4gICAgUm9sZVBlcm1pc3Npb24sXG4gIF07XG59XG4iLCJleHBvcnQgZW51bSBHZW5kZXIge1xuICBNQUxFID0gJ01hbGUnLFxuICBGRU1BTEUgPSAnRmVtYWxlJyxcbiAgUFJFRkVSX05PVF9UT19TQVkgPSAnUHJlZmVyIG5vdCB0byBzYXknLFxufVxuIiwiZXhwb3J0IGVudW0gTGFuZ3VhZ2Uge1xuICBFTkdMSVNIID0gJ2VuJyxcbiAgQVJBQklDID0gJ2FyJyxcbn1cbiIsImV4cG9ydCBlbnVtIE9zTmFtZSB7XG4gIEFORFJPSUQgPSAnYW5kcm9pZCcsXG4gIElPUyA9ICdpT1MnLFxuICBXRUIgPSAnd2ViJyxcbn1cbiIsImV4cG9ydCBlbnVtIFByb2R1Y3RBcHAge1xuICBEQVNIQk9BUkQgPSAnZGFzaGJvYXJkJyxcbiAgVVNFUl9BUFAgPSAndXNlcmFwcCcsXG59XG4iLCJleHBvcnQgZW51bSBQdXJjaGFzZU9yZGVyU3RhdHVzIHtcbiAgRFJBRlQgPSAnZHJhZnQnLFxuICBTRU5UX1RPX1ZFTkRPUiA9ICdzZW50X3RvX3ZlbmRvcicsXG4gIFBBUlRJQUxMWV9SRUNFSVZFRCA9ICdwYXJ0aWFsbHlfcmVjZWl2ZWQnLFxuICBGVUxMWV9SRUNFSVZFRCA9ICdmdWxseV9yZWNlaXZlZCcsXG4gIENMT1NFRCA9ICdjbG9zZWQnLFxuICBDQU5DRUxMRUQgPSAnY2FuY2VsbGVkJyxcbn1cbiIsImV4cG9ydCBlbnVtIFN0YXR1cyB7XG4gIEFDVElWRSA9ICdhY3RpdmUnLFxuICBJTl9BQ1RJVkUgPSAnaW5hY3RpdmUnLFxufVxuIiwiZXhwb3J0IGVudW0gU3RvY2tNb3ZlbWVudFR5cGUge1xuICAvLyBTdG9jayBjb21pbmcgaW5cbiAgUkVDRUlWRUQgPSAncmVjZWl2ZWQnLCAgICAgICAgICAgLy8gUE8gcmVjZWl2ZWQgaW50byBpbnZlbnRvcnlcblxuICAvLyBTdG9jayBnb2luZyBvdXQgb3IgYmVpbmcgaGVsZFxuICBSRVNFUlZFRCA9ICdyZXNlcnZlZCcsICAgICAgICAgICAvLyBSZXNlcnZlZCBmb3IgYSBwZW5kaW5nIG9yZGVyXG4gIFJFU0VSVkFUSU9OX1JFTEVBU0VEID0gJ3Jlc2VydmF0aW9uX3JlbGVhc2VkJywgLy8gT3JkZXIgY2FuY2VsbGVkLCBzdG9jayBmcmVlZFxuXG4gIC8vIE1hbnVhbCBhZGp1c3RtZW50c1xuICBBREpVU1RNRU5UX0FERCA9ICdhZGp1c3RtZW50X2FkZCcsICAgICAgIC8vIE1hbnVhbCBzdG9jayBpbmNyZWFzZVxuICBBREpVU1RNRU5UX1JFTU9WRSA9ICdhZGp1c3RtZW50X3JlbW92ZScsIC8vIE1hbnVhbCBzdG9jayBkZWNyZWFzZSAoZGFtYWdlLCBsb3NzKVxuXG4gIC8vIFJldHVybnNcbiAgUkVUVVJORURfRlJPTV9DVVNUT01FUiA9ICdyZXR1cm5lZF9mcm9tX2N1c3RvbWVyJyxcbiAgUkVUVVJORURfVE9fVkVORE9SID0gJ3JldHVybmVkX3RvX3ZlbmRvcicsXG5cbiAgLy8gVHJhbnNmZXJzXG4gIFRSQU5TRkVSX0lOID0gJ3RyYW5zZmVyX2luJywgICAvLyBNb3ZlZCBpbiBmcm9tIGFub3RoZXIgaW52ZW50b3J5XG4gIFRSQU5TRkVSX09VVCA9ICd0cmFuc2Zlcl9vdXQnLCAvLyBNb3ZlZCBvdXQgdG8gYW5vdGhlciBpbnZlbnRvcnlcbn1cbiIsImV4cG9ydCBlbnVtIFZlcnNpb25UeXBlIHtcbiAgT1BUSU9OQUwgPSAnb3B0aW9uYWwnLFxuICBNQU5EQVRPUlkgPSAnbWFuZGF0b3J5Jyxcbn1cbiIsImltcG9ydCB7IE1vZHVsZSB9IGZyb20gJ0BuZXN0anMvY29tbW9uJztcbmltcG9ydCB7IFNlcXVlbGl6ZU1vZHVsZSB9IGZyb20gJ0BuZXN0anMvc2VxdWVsaXplJztcbmltcG9ydCB7IENvbmZpZ01vZHVsZSB9IGZyb20gJ0BuZXN0anMvY29uZmlnJztcbmltcG9ydCB7IGdldERiTW9kZWxzIH0gZnJvbSAnQGFwcC90YXRheWFiLWVudGl0aWVzLWxpYnJhcnknO1xuXG5ATW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbmZpZ01vZHVsZS5mb3JSb290KHtcbiAgICAgIGlzR2xvYmFsOiB0cnVlLFxuICAgIH0pLFxuICAgIFNlcXVlbGl6ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgIGRpYWxlY3Q6ICdteXNxbCcsXG4gICAgICBob3N0OiBwcm9jZXNzLmVudi5NWVNRTF9IT1NULFxuICAgICAgZGF0YWJhc2U6IHByb2Nlc3MuZW52Lk1ZU1FMX0RBVEFCQVNFLFxuICAgICAgdXNlcm5hbWU6IHByb2Nlc3MuZW52Lk1ZU1FMX1VTRVIsXG4gICAgICBwYXNzd29yZDogcHJvY2Vzcy5lbnYuTVlTUUxfUEFTU1dPUkQsXG4gICAgICBwb3J0OiAzMzA2LFxuICAgICAgbW9kZWxzOiBnZXREYk1vZGVscygpLFxuICAgICAgYXV0b0xvYWRNb2RlbHM6IHRydWUsXG4gICAgICBzeW5jaHJvbml6ZTogdHJ1ZSxcbiAgICAgIGxvZ2dpbmc6IGZhbHNlLFxuICAgICAgZGVmaW5lOiB7XG4gICAgICAgIHRpbWVzdGFtcHM6IHRydWUsXG4gICAgICAgIHBhcmFub2lkOiB0cnVlLFxuICAgICAgfSxcbiAgICB9KSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgQXBwTW9kdWxlIHt9XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvbW1vblwiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvbmZpZ1wiKTsiLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJAbmVzdGpzL2NvcmVcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiQG5lc3Rqcy9zZXF1ZWxpemVcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwic2VxdWVsaXplLXR5cGVzY3JpcHRcIik7IiwibW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwidHNjb25maWctcGF0aHMvcmVnaXN0ZXJcIik7IiwiLy8gVGhlIG1vZHVsZSBjYWNoZVxudmFyIF9fd2VicGFja19tb2R1bGVfY2FjaGVfXyA9IHt9O1xuXG4vLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXHQvLyBDaGVjayBpZiBtb2R1bGUgaXMgaW4gY2FjaGVcblx0dmFyIGNhY2hlZE1vZHVsZSA9IF9fd2VicGFja19tb2R1bGVfY2FjaGVfX1ttb2R1bGVJZF07XG5cdGlmIChjYWNoZWRNb2R1bGUgIT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBjYWNoZWRNb2R1bGUuZXhwb3J0cztcblx0fVxuXHQvLyBDaGVjayBpZiBtb2R1bGUgZXhpc3RzIChkZXZlbG9wbWVudCBvbmx5KVxuXHRpZiAoX193ZWJwYWNrX21vZHVsZXNfX1ttb2R1bGVJZF0gPT09IHVuZGVmaW5lZCkge1xuXHRcdHZhciBlID0gbmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIiArIG1vZHVsZUlkICsgXCInXCIpO1xuXHRcdGUuY29kZSA9ICdNT0RVTEVfTk9UX0ZPVU5EJztcblx0XHR0aHJvdyBlO1xuXHR9XG5cdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG5cdHZhciBtb2R1bGUgPSBfX3dlYnBhY2tfbW9kdWxlX2NhY2hlX19bbW9kdWxlSWRdID0ge1xuXHRcdC8vIG5vIG1vZHVsZS5pZCBuZWVkZWRcblx0XHQvLyBubyBtb2R1bGUubG9hZGVkIG5lZWRlZFxuXHRcdGV4cG9ydHM6IHt9XG5cdH07XG5cblx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG5cdF9fd2VicGFja19tb2R1bGVzX19bbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG5cdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG5cdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbn1cblxuIiwiaW1wb3J0ICd0c2NvbmZpZy1wYXRocy9yZWdpc3Rlcic7XG5pbXBvcnQgeyBOZXN0RmFjdG9yeSB9IGZyb20gJ0BuZXN0anMvY29yZSc7XG5pbXBvcnQgeyBBcHBNb2R1bGUgfSBmcm9tICcuL2FwcC5tb2R1bGUnO1xuXG5hc3luYyBmdW5jdGlvbiBib290c3RyYXAoKSB7XG4gIGNvbnN0IGFwcCA9IGF3YWl0IE5lc3RGYWN0b3J5LmNyZWF0ZShBcHBNb2R1bGUsIHsgY29yczogdHJ1ZSB9KTtcbiAgYXdhaXQgYXBwLmxpc3Rlbihwcm9jZXNzLmVudi5TRVJWRVJfUE9SVCA/PyA5MDA0KTtcbn1cbmJvb3RzdHJhcCgpO1xuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Table,
|
|
3
|
+
Column,
|
|
4
|
+
Model,
|
|
5
|
+
ForeignKey,
|
|
6
|
+
BelongsTo,
|
|
7
|
+
DataType,
|
|
8
|
+
} from 'sequelize-typescript';
|
|
9
|
+
import { Inventory } from './inventory.entity';
|
|
10
|
+
import { Country } from './country.entity';
|
|
11
|
+
import { Store } from './store.entity';
|
|
12
|
+
|
|
13
|
+
@Table
|
|
14
|
+
export class ShippingRule extends Model {
|
|
15
|
+
// From which inventory
|
|
16
|
+
@ForeignKey(() => Inventory)
|
|
17
|
+
@Column({ allowNull: false })
|
|
18
|
+
declare inventoryId: number;
|
|
19
|
+
|
|
20
|
+
// To which country
|
|
21
|
+
@ForeignKey(() => Country)
|
|
22
|
+
@Column({ allowNull: false })
|
|
23
|
+
declare countryId: number;
|
|
24
|
+
|
|
25
|
+
// Optional: override for a specific store
|
|
26
|
+
// null = applies to all stores shipping from this inventory to this country
|
|
27
|
+
@ForeignKey(() => Store)
|
|
28
|
+
@Column({ allowNull: true })
|
|
29
|
+
declare storeId?: number;
|
|
30
|
+
|
|
31
|
+
@Column({ allowNull: false, defaultValue: 1 })
|
|
32
|
+
declare minDays: number;
|
|
33
|
+
|
|
34
|
+
@Column({ allowNull: false, defaultValue: 3 })
|
|
35
|
+
declare maxDays: number;
|
|
36
|
+
|
|
37
|
+
// Carrier name e.g. Aramex, DHL, FedEx, Internal
|
|
38
|
+
@Column({ allowNull: true })
|
|
39
|
+
declare carrierName?: string;
|
|
40
|
+
|
|
41
|
+
// Shipping cost in the inventory's base currency (KWD)
|
|
42
|
+
@Column({ type: DataType.DECIMAL(10, 3), allowNull: true, defaultValue: 0 })
|
|
43
|
+
declare shippingCost?: number;
|
|
44
|
+
|
|
45
|
+
// Free shipping threshold — null means never free
|
|
46
|
+
@Column({ type: DataType.DECIMAL(10, 3), allowNull: true })
|
|
47
|
+
declare freeShippingThreshold?: number;
|
|
48
|
+
|
|
49
|
+
@Column({ allowNull: false, defaultValue: true })
|
|
50
|
+
declare isActive: boolean;
|
|
51
|
+
|
|
52
|
+
@Column({ allowNull: true })
|
|
53
|
+
declare notes?: string;
|
|
54
|
+
|
|
55
|
+
// ─── Associations ─────────────────────────────────────────────────────────────
|
|
56
|
+
|
|
57
|
+
@BelongsTo(() => Inventory)
|
|
58
|
+
declare inventory: Inventory;
|
|
59
|
+
|
|
60
|
+
@BelongsTo(() => Country)
|
|
61
|
+
declare country: Country;
|
|
62
|
+
|
|
63
|
+
@BelongsTo(() => Store)
|
|
64
|
+
declare store?: Store;
|
|
65
|
+
}
|
|
@@ -32,6 +32,7 @@ import { Inventory } from './entities/inventory.entity';
|
|
|
32
32
|
import { StoreInventory } from './entities/store-inventory.entity';
|
|
33
33
|
import { InventoryStock } from './entities/inventory-stock.entity';
|
|
34
34
|
import { StockMovement } from './entities/stock-movement.entity';
|
|
35
|
+
import { ShippingRule } from './entities/shipping-rule.entity';
|
|
35
36
|
|
|
36
37
|
// ─── Purchasing ───────────────────────────────────────────────────────────────
|
|
37
38
|
import { Vendor } from './entities/vendor.entity';
|
|
@@ -70,7 +71,6 @@ export { ProductVariantOption } from './entities/product-variant-option.entity';
|
|
|
70
71
|
export { Tag } from './entities/tag.entity';
|
|
71
72
|
export { ProductTag } from './entities/product-tag.entity';
|
|
72
73
|
|
|
73
|
-
|
|
74
74
|
// ─── Stores ───────────────────────────────────────────────────────────────────
|
|
75
75
|
export { Store } from './entities/store.entity';
|
|
76
76
|
export { ProductStore } from './entities/product-store.entity';
|
|
@@ -80,6 +80,7 @@ export { Inventory } from './entities/inventory.entity';
|
|
|
80
80
|
export { StoreInventory } from './entities/store-inventory.entity';
|
|
81
81
|
export { InventoryStock } from './entities/inventory-stock.entity';
|
|
82
82
|
export { StockMovement } from './entities/stock-movement.entity';
|
|
83
|
+
export { ShippingRule } from './entities/shipping-rule.entity';
|
|
83
84
|
|
|
84
85
|
// ─── Purchasing ───────────────────────────────────────────────────────────────
|
|
85
86
|
export { Vendor } from './entities/vendor.entity';
|
|
@@ -143,6 +144,7 @@ export function getDbModels(): ModelCtor[] {
|
|
|
143
144
|
StoreInventory,
|
|
144
145
|
InventoryStock,
|
|
145
146
|
StockMovement,
|
|
147
|
+
ShippingRule,
|
|
146
148
|
|
|
147
149
|
// Purchasing
|
|
148
150
|
Vendor,
|