UNPKG

kre-form

Version:

本项目由 Angular8+ 编写的表单设计器和表单应用,所有的配置都是 JSON 结构体组成,PC 端是基于 ANT 组件库封装

134 lines (112 loc) 72.8 kB
(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["ui-ant-ant-module"],{ /***/ "./demo/src/app/ui/ant/ant.module.ts": /*!*******************************************!*\ !*** ./demo/src/app/ui/ant/ant.module.ts ***! \*******************************************/ /*! exports provided: UIANTModule */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "UIANTModule", function() { return UIANTModule; }); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); /* harmony import */ var _angular_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @angular/common */ "./node_modules/@angular/common/fesm5/common.js"); /* harmony import */ var _angular_router__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @angular/router */ "./node_modules/@angular/router/fesm5/router.js"); /* harmony import */ var _angular_forms__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @angular/forms */ "./node_modules/@angular/forms/fesm5/forms.js"); /* harmony import */ var ng_zorro_antd__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ng-zorro-antd */ "./node_modules/ng-zorro-antd/fesm5/ng-zorro-antd.js"); /* harmony import */ var _kre_form_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @kre-form/core */ "./src/core/src/public_api.ts"); /* harmony import */ var _kre_form_ant__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @kre-form/ant */ "./src/ant/src/public_api.ts"); /* harmony import */ var _kre_form_abc__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @kre-form/abc */ "./src/abc/src/public_api.ts"); /* harmony import */ var _index_component__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./index.component */ "./demo/src/app/ui/ant/index.component.ts"); var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __importDefault = (undefined && undefined.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var entryComponents = [_index_component__WEBPACK_IMPORTED_MODULE_8__["UIAntComponent"]]; var routes = [ { path: "", component: _index_component__WEBPACK_IMPORTED_MODULE_8__["UIAntComponent"], }, { path: "index", component: _index_component__WEBPACK_IMPORTED_MODULE_8__["UIAntComponent"], }, ]; var UIANTModule = /** @class */ (function () { function UIANTModule() { } UIANTModule = __decorate([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["NgModule"])({ declarations: entryComponents.slice(), entryComponents: entryComponents.slice(), imports: [ ng_zorro_antd__WEBPACK_IMPORTED_MODULE_4__["NgZorroAntdModule"], _angular_common__WEBPACK_IMPORTED_MODULE_1__["CommonModule"], _angular_forms__WEBPACK_IMPORTED_MODULE_3__["FormsModule"], _kre_form_abc__WEBPACK_IMPORTED_MODULE_7__["DeonCodemirrorModule"], _angular_router__WEBPACK_IMPORTED_MODULE_2__["RouterModule"].forChild(routes), _angular_forms__WEBPACK_IMPORTED_MODULE_3__["ReactiveFormsModule"], _kre_form_core__WEBPACK_IMPORTED_MODULE_5__["KreFormModule"].forConfig("84e1a5936fe23d544abc4c020703320f96dff20f0398b4332fc328c0a5cd789aa80406c6a280aebccfc4fe50bd9fa50e"), _kre_form_core__WEBPACK_IMPORTED_MODULE_5__["KreFormModule"].forRoot(), _kre_form_ant__WEBPACK_IMPORTED_MODULE_6__["KreFormAntModule"], ], }) ], UIANTModule); return UIANTModule; }()); /***/ }), /***/ "./demo/src/app/ui/ant/commonService.ts": /*!**********************************************!*\ !*** ./demo/src/app/ui/ant/commonService.ts ***! \**********************************************/ /*! exports provided: TestCommonService */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TestCommonService", function() { return TestCommonService; }); /* harmony import */ var _angular_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @angular/core */ "./node_modules/@angular/core/fesm5/core.js"); var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); 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; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (undefined && undefined.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; var __importDefault = (undefined && undefined.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; var TestCommonService = /** @class */ (function () { function TestCommonService() { } TestCommonService.prototype.getAPI = function () { return { empName: { templateOptions: { required: true, maxLength: 10, }, value: "api", }, }; }; TestCommonService = __decorate([ Object(_angular_core__WEBPACK_IMPORTED_MODULE_0__["Injectable"])(), __metadata("design:paramtypes", []) ], TestCommonService); return TestCommonService; }()); /***/ }), /***/ "./demo/src/app/ui/ant/index.component.less": /*!**************************************************!*\ !*** ./demo/src/app/ui/ant/index.component.less ***! \**************************************************/ /*! no static exports found */ /***/ (function(module, exports) { module.exports = ":host ::ng-deep {\n width: 100%;\n display: flex;\n height: 100%;\n background-color: #fff;\n flex-direction: column;\n}\n:host ::ng-deep kre-skeleton {\n display: flex;\n flex: 1;\n}\n:host ::ng-deep kre-skeleton nz-spin {\n padding: 50px 50px 0 50px;\n z-index: 2;\n}\n:host ::ng-deep kre-skeleton nz-skeleton {\n padding: 100px 50px 100px 0;\n margin: 0 0 0 -50px;\n}\n:host ::ng-deep .kreform-basic {\n width: 100%;\n height: 100%;\n margin: 0;\n background-color: #fff;\n border-radius: 4px;\n display: flex;\n flex-direction: column;\n /*基础组件*/\n /*撑满组件*/\n /*多记录区域*/\n /*布局样式*/\n}\n:host ::ng-deep .kreform-basic kreform {\n display: block;\n flex: 1;\n flex-grow: 1;\n padding: 20px 30px;\n background-color: #fff;\n}\n:host ::ng-deep .kreform-basic .krebutton {\n padding: 10px;\n border-bottom: solid 1px #dcdce0;\n}\n:host ::ng-deep .kreform-basic .krebutton .btn {\n min-width: 44px;\n height: 22px;\n border-radius: 3px;\n font-size: 12px;\n padding: 0 5px;\n border: 1px solid #6090df;\n margin-right: 8px;\n}\n:host ::ng-deep .kreform-basic .krebutton .btn-save {\n color: #fff;\n background-color: #71a9ff;\n}\n:host ::ng-deep .kreform-basic .krebutton .btn-cancel,\n:host ::ng-deep .kreform-basic .krebutton .btn-reset {\n color: #6090df;\n}\n:host ::ng-deep .kreform-basic .tips {\n position: relative;\n width: 18px;\n margin-left: 6px;\n}\n:host ::ng-deep .kreform-basic .tips .icon-bangzhu {\n display: inline-block;\n color: #bfbfbf;\n font-size: 18px;\n position: absolute;\n top: 50%;\n margin-top: -9px;\n}\n:host ::ng-deep .kreform-basic .ant-checkbox-group,\n:host ::ng-deep .kreform-basic .ant-checkbox-wrapper,\n:host ::ng-deep .kreform-basic .ant-radio-wrapper {\n line-height: 32px !important;\n}\n:host ::ng-deep .kreform-basic .has-error .ant-input,\n:host ::ng-deep .kreform-basic .has-error .ant-input:hover,\n:host ::ng-deep .kreform-basic .has-error .ant-input-number,\n:host ::ng-deep .kreform-basic .has-error .ant-time-picker-input,\n:host ::ng-deep .kreform-basic .has-error .ant-select-selection,\n:host ::ng-deep .kreform-basic .has-error .ant-upload {\n border: 1px solid #fc8e8c;\n}\n:host ::ng-deep .kreform-basic .has-error .ant-upload.ant-upload-drag {\n border: 0px solid #fc8e8c;\n}\n:host ::ng-deep .kreform-basic .has-error .icon-tianjin,\n:host ::ng-deep .kreform-basic .has-error .anticon {\n color: #fc8e8c;\n}\n:host ::ng-deep .kreform-basic .ant-input,\n:host ::ng-deep .kreform-basic .ant-select-selection {\n border: 1px solid #dcdce0;\n}\n:host ::ng-deep .kreform-basic krefield-wrapper,\n:host ::ng-deep .kreform-basic krefield-text,\n:host ::ng-deep .kreform-basic krefield-texti18n,\n:host ::ng-deep .kreform-basic krefield-textarea,\n:host ::ng-deep .kreform-basic krefield-number,\n:host ::ng-deep .kreform-basic krefield-password,\n:host ::ng-deep .kreform-basic krefield-number,\n:host ::ng-deep .kreform-basic krefield-radio,\n:host ::ng-deep .kreform-basic krefield-checkbox,\n:host ::ng-deep .kreform-basic krefield-select,\n:host ::ng-deep .kreform-basic krefield-datetime,\n:host ::ng-deep .kreform-basic krefield-image,\n:host ::ng-deep .kreform-basic krefield-upload,\n:host ::ng-deep .kreform-basic krefield-lookup,\n:host ::ng-deep .kreform-basic krefield-html,\n:host ::ng-deep .kreform-basic krefield-line,\n:host ::ng-deep .kreform-basic kreform-repeat {\n display: flex;\n width: 100%;\n flex: 1;\n}\n:host ::ng-deep .kreform-basic krefield-wrapper .fieldtext,\n:host ::ng-deep .kreform-basic krefield-text .fieldtext,\n:host ::ng-deep .kreform-basic krefield-texti18n .fieldtext,\n:host ::ng-deep .kreform-basic krefield-textarea .fieldtext,\n:host ::ng-deep .kreform-basic krefield-number .fieldtext,\n:host ::ng-deep .kreform-basic krefield-password .fieldtext,\n:host ::ng-deep .kreform-basic krefield-number .fieldtext,\n:host ::ng-deep .kreform-basic krefield-radio .fieldtext,\n:host ::ng-deep .kreform-basic krefield-checkbox .fieldtext,\n:host ::ng-deep .kreform-basic krefield-select .fieldtext,\n:host ::ng-deep .kreform-basic krefield-datetime .fieldtext,\n:host ::ng-deep .kreform-basic krefield-image .fieldtext,\n:host ::ng-deep .kreform-basic krefield-upload .fieldtext,\n:host ::ng-deep .kreform-basic krefield-lookup .fieldtext,\n:host ::ng-deep .kreform-basic krefield-html .fieldtext,\n:host ::ng-deep .kreform-basic krefield-line .fieldtext,\n:host ::ng-deep .kreform-basic kreform-repeat .fieldtext {\n height: 32px;\n line-height: 32px;\n}\n:host ::ng-deep .kreform-basic krefield-lookup nz-input-group:hover .anticon {\n display: flex;\n}\n:host ::ng-deep .kreform-basic krefield-lookup nz-input-group .ant-input {\n min-height: auto;\n}\n:host ::ng-deep .kreform-basic krefield-lookup nz-input-group .anticon {\n display: none;\n padding: 1px;\n background-color: #bbb;\n color: #fff;\n border-radius: 50%;\n position: absolute;\n font-size: 14px;\n top: 50%;\n right: 0px;\n z-index: 3;\n align-items: center;\n line-height: 0;\n transform: translateY(-52%);\n}\n:host ::ng-deep .kreform-basic krefield-lookup nz-input-group span > .icon-tianjin {\n color: #bfbfbf;\n font-size: 16px;\n line-height: 0 !important;\n}\n:host ::ng-deep .kreform-basic kreform-validation-message {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n display: inline-block;\n color: #fc8e8c !important;\n font-size: 12px;\n}\n:host ::ng-deep .kreform-basic krefield-textarea .fieldtext {\n height: auto !important;\n}\n:host ::ng-deep .kreform-basic krefield-texti18n .inputi18n {\n display: flex;\n width: 100%;\n flex: 1;\n}\n:host ::ng-deep .kreform-basic krefield-html .fieldControl {\n padding: 6px 0 0 10px;\n}\n:host ::ng-deep .kreform-basic krefield-html .fieldControl .control {\n padding: 15px 10px 15px 10px !important;\n}\n:host ::ng-deep .kreform-basic nz-upload,\n:host ::ng-deep .kreform-basic .panel-line,\n:host ::ng-deep .kreform-basic .panel-html {\n width: 100% !important;\n}\n:host ::ng-deep .kreform-basic kreform-repeat {\n display: flex;\n flex: 1;\n flex-direction: column;\n margin: 0 0 20px 0;\n}\n:host ::ng-deep .kreform-basic kreform-repeat .row {\n position: relative;\n margin-bottom: 30px;\n border: 1px solid #ffca5e;\n display: flex;\n flex: 1;\n align-items: center;\n padding: 30px 10px 0 10px;\n margin-left: -10px;\n margin-right: -10px;\n}\n:host ::ng-deep .kreform-basic kreform-repeat .row .del {\n align-items: center;\n min-width: 50px;\n height: 22px;\n line-height: 22px;\n color: #fff;\n cursor: pointer;\n text-align: center;\n border-color: #6090df;\n border-top-left-radius: 2px;\n border-top-right-radius: 2px;\n position: absolute;\n top: -23px;\n right: -1px;\n margin: 0;\n padding: 1px 6px;\n font-size: 12px;\n background-color: #ffb15e;\n box-sizing: border-box;\n}\n:host ::ng-deep .kreform-basic kreform-repeat .row .panel-kreform-group {\n flex: 1;\n}\n:host ::ng-deep .kreform-basic kreform-repeat .add span {\n float: right;\n display: inline-block;\n width: 200px;\n border-radius: 4px;\n line-height: 32px;\n text-align: center;\n color: #6090df;\n background-color: #f6f8fd;\n border-color: #6090df;\n cursor: pointer;\n}\n:host ::ng-deep .kreform-basic kreform-repeat kreform-group {\n width: 100%;\n}\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field {\n display: flex;\n width: 100%;\n}\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-wrapper,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-input,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-number,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-textarea,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-datepicker,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-select,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-radio,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-checkbox,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-multiradio,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-multicheckbox,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-image,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-lookup,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-template,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-label,\n:host ::ng-deep .kreform-basic kreform-repeat kreform-field krefield-upload {\n display: flex;\n flex: 1;\n}\n:host ::ng-deep .kreform-basic nz-picker {\n display: flex;\n flex: 1;\n}\n:host ::ng-deep .kreform-basic nz-picker .ant-calendar-picker {\n flex: 1;\n}\n:host ::ng-deep .kreform-basic krefield-wrapper .fieldlabel span {\n display: inline-block;\n color: #ff4018;\n margin-right: 3px;\n}\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol {\n flex: 1;\n}\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol nz-picker,\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol nz-input-number,\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol nz-year-picker,\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol nz-time-picker,\n:host ::ng-deep .kreform-basic kreform-field .fieldcontrol .ant-calendar-picker {\n width: 100%;\n}\n:host ::ng-deep .kreform-basic kreform-field .fieldlabel {\n width: 150px;\n padding-right: 6px;\n padding-left: 6px;\n padding-top: 7px;\n margin-bottom: 0;\n font-size: 14px;\n line-height: 17px;\n color: #323232;\n text-align: right;\n vertical-align: middle;\n float: left;\n box-sizing: border-box;\n font-weight: 400;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n:host ::ng-deep .kreform-basic kreform-field .fieldlabel::after {\n content: \":\";\n}\n:host ::ng-deep .kreform-basic kreform-field .fieldContent {\n display: flex;\n width: 100%;\n margin: 0 0 15px 0;\n}\n:host ::ng-deep .kreform-basic kreform-field .invalid-feedback {\n width: 100%;\n height: 30px;\n line-height: 26px;\n}\n:host ::ng-deep .kreform-basic .panel-repeat,\n:host ::ng-deep .kreform-basic .panel-textarea,\n:host ::ng-deep .kreform-basic .panel-label,\n:host ::ng-deep .kreform-basic .panel-upload {\n width: 100% !important;\n}\n:host ::ng-deep .kreform-basic .fieldcontrol hr {\n border: 0;\n border-top: 1px solid #dcdce0;\n margin: 10px 0 25px 0;\n}\n:host ::ng-deep .kreform-basic .panel-label krefield-label .fieldcontrol {\n padding-top: 15px;\n padding-bottom: 15px;\n padding-left: 30px;\n padding-right: 30px;\n font-size: 13px;\n color: #6090df;\n}\n:host ::ng-deep .kreform-basic .layout-column-1 {\n display: flex;\n flex-direction: column;\n padding-left: 10px;\n padding-right: 10px;\n}\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-text,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-texti18n,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-textarea,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-number,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-password,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-radio,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-checkbox,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-select,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-datetime,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-image,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-upload,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-lookup,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-html,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-line,\n:host ::ng-deep .kreform-basic .layout-column-1 krefield-texti18n .inputi18n {\n width: 560px;\n}\n:host ::ng-deep .kreform-basic .layout-column-1 kreform-repeat .row .panel-kreform-group {\n padding-left: 15px;\n padding-right: 15px;\n}\n:host ::ng-deep .kreform-basic .layout-column-2 {\n display: flex;\n flex-direction: column;\n}\n:host ::ng-deep .kreform-basic .layout-column-2 kreform-field {\n float: left;\n width: 50%;\n}\n:host ::ng-deep .kreform-basic .layout-column-2 kreform-repeat kreform-field {\n float: left;\n width: 50%;\n}\n:host ::ng-deep .kreform-basic .layout-column-3 {\n display: flex;\n flex-direction: column;\n}\n:host ::ng-deep .kreform-basic .layout-column-3 kreform-field {\n float: left;\n width: 33.33333%;\n}\n:host ::ng-deep .kreform-basic .layout-column-3 kreform-repeat krefield {\n float: left;\n width: 33.33333%;\n}\n:host ::ng-deep .kreform-basic .layout-row-2 .panel-label krefield-html .fieldcontrol {\n padding-top: 15px !important;\n padding-bottom: 15px !important;\n}\n:host ::ng-deep .kreform-basic .layout-row-2 krefield-wrapper {\n flex-direction: column !important;\n}\n:host ::ng-deep .kreform-basic .layout-row-2 krefield-wrapper .fieldlabel {\n float: left !important;\n text-align: left !important;\n flex: 1 !important;\n width: 100% !important;\n padding: 0 10px;\n}\n:host ::ng-deep .kreform-basic .layout-row-2 krefield-wrapper .fieldcontrol {\n padding: 5px 10px 0px 10px !important;\n}\n:host ::ng-deep .kreform-basic .layout-row-2 krefield-wrapper .fieldcontrol hr {\n margin: 0 0 15px 0 !important;\n}\n\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaWNreGluL2pzaGEvR2l0SHViL2tyZS1mb3JtL2RlbW8vc3JjL2FwcC91aS9hbnQvaW5kZXguY29tcG9uZW50Lmxlc3MiLCJkZW1vL3NyYy9hcHAvdWkvYW50L2luZGV4LmNvbXBvbmVudC5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0Esc0JBQUE7RUFDQSxzQkFBQTtBQ0NGO0FETkE7RUFRSSxhQUFBO0VBQ0EsT0FBQTtBQ0NKO0FEVkE7RUFZTSx5QkFBQTtFQUNBLFVBQUE7QUNDTjtBRGRBO0VBaUJNLDJCQUFBO0VBQ0EsbUJBQUE7QUNBTjtBRGxCQTtFQXlCSSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHNCQUFBO0VDSkYsT0FBTztFQUNQLE9BQU87RUFDUCxRQUFRO0VBQ1IsT0FBTztBQUNUO0FEL0JBO0VBa0NNLGNBQUE7RUFDQSxPQUFBO0VBRUEsWUFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7QUNBTjtBRHZDQTtFQTJDTSxhQUFBO0VBQ0EsZ0NBQUE7QUNETjtBRDNDQTtFQStDUSxlQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLGlCQUFBO0FDRFI7QURHUTtFQUNFLFdBQUE7RUFDQSx5QkFBQTtBQ0RWO0FESVE7O0VBRUUsY0FBQTtBQ0ZWO0FENURBO0VBcUVNLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0FDTk47QURqRUE7RUEwRVEscUJBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLGdCQUFBO0FDTlI7QUR6RUE7OztFQXNGTSw0QkFBQTtBQ1JOO0FEOUVBOzs7Ozs7RUFpR1EseUJBQUE7QUNYUjtBRHRGQTtFQXFHUSx5QkFBQTtBQ1pSO0FEekZBOztFQTBHUSxjQUFBO0FD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RFY7QURsV0E7RUFnYU0sYUFBQTtFQUNBLHNCQUFBO0VBRUEsa0JBQUE7RUFDQSxtQkFBQTtBQzVETjtBRHhXQTs7Ozs7Ozs7Ozs7Ozs7O0VBcWJRLFlBQUE7QUM1RFI7QUR6WEE7RUEyYlksa0JBQUE7RUFDQSxtQkFBQTtBQy9EWjtBRDdYQTtFQW1jTSxhQUFBO0VBQ0Esc0JBQUE7QUNuRU47QURqWUE7RUF1Y1EsV0FBQTtFQUNBLFVBQUE7QUNuRVI7QURyWUE7RUE2Y1UsV0FBQTtFQUNBLFVBQUE7QUNyRVY7QUR6WUE7RUFvZE0sYUFBQTtFQUNBLHNCQUFBO0FDeEVOO0FEN1lBO0VBd2RRLFdBQUE7RUFDQSxnQkFBQTtBQ3hFUjtBRGpaQTtFQThkVSxXQUFBO0VBQ0EsZ0JBQUE7QUMxRVY7QURyWkE7RUF3ZVksNEJBQUE7RUFDQSwrQkFBQTtBQ2hGWjtBRHpaQTtFQStlUSxpQ0FBQTtBQ25GUjtBRDVaQTtFQWtmVSxzQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxzQkFBQTtFQUNBLGVBQUE7QUNuRlY7QURuYUE7RUEwZlUscUNBQUE7QUNwRlY7QUR0YUE7RUE2ZlksNkJBQUE7QUNwRloiLCJmaWxlIjoiZGVtby9zcmMvYXBwL3VpL2FudC9pbmRleC5jb21wb25lbnQubGVzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAga3JlLXNrZWxldG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG5cbiAgICBuei1zcGluIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggNTBweCAwIDUwcHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIG56LXNrZWxldG9uIHtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDUwcHggMTAwcHggMDtcbiAgICAgIG1hcmdpbjogMCAwIDAgLTUwcHg7XG4gICAgfVxuICB9XG5cblxuXG4gIC5rcmVmb3JtLWJhc2ljIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIGtyZWZvcm0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4OiAxO1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDIwcHggMzBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgfVxuXG4gICAgLmtyZWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNkY2RjZTA7XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBtaW4td2lkdGg6IDQ0cHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjA5MGRmO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcblxuICAgICAgICAmLXNhdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3MWE5ZmY7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNhbmNlbCxcbiAgICAgICAgJi1yZXNldCB7XG4gICAgICAgICAgY29sb3I6ICM2MDkwZGY7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpcHMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuXG4gICAgICAuaWNvbi1iYW5nemh1IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjb2xvcjogI2JmYmZiZjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbnQtY2hlY2tib3gtZ3JvdXAsXG4gICAgLmFudC1jaGVja2JveC13cmFwcGVyLFxuICAgIC5hbnQtcmFkaW8td3JhcHBlciB7XG4gICAgICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oYXMtZXJyb3Ige1xuXG4gICAgICAuYW50LWlucHV0LFxuICAgICAgLmFudC1pbnB1dDpob3ZlcixcbiAgICAgIC5hbnQtaW5wdXQtbnVtYmVyLFxuICAgICAgLmFudC10aW1lLXBpY2tlci1pbnB1dCxcbiAgICAgIC5hbnQtc2VsZWN0LXNlbGVjdGlvbixcbiAgICAgIC5hbnQtdXBsb2FkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZjOGU4YztcbiAgICAgIH1cblxuICAgICAgLmFudC11cGxvYWQuYW50LXVwbG9hZC1kcmFnIHtcbiAgICAgICAgYm9yZGVyOiAwcHggc29saWQgI2ZjOGU4YztcbiAgICAgIH1cblxuICAgICAgLmljb24tdGlhbmppbixcbiAgICAgIC5hbnRpY29uIHtcbiAgICAgICAgY29sb3I6ICNmYzhlOGM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFudC1pbnB1dCxcbiAgICAuYW50LXNlbGVjdC1zZWxlY3Rpb24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNlMDtcbiAgICB9XG5cbiAgICAvKuWfuuehgOe7hOS7tiovXG4gICAga3JlZmllbGQtd3JhcHBlcixcbiAgICBrcmVmaWVsZC10ZXh0LFxuICAgIGtyZWZpZWxkLXRleHRpMThuLFxuICAgIGtyZWZpZWxkLXRleHRhcmVhLFxuICAgIGtyZWZpZWxkLW51bWJlcixcbiAgICBrcmVmaWVsZC1wYXNzd29yZCxcbiAgICBrcmVmaWVsZC1udW1iZXIsXG4gICAga3JlZmllbGQtcmFkaW8sXG4gICAga3JlZmllbGQtY2hlY2tib3gsXG4gICAga3JlZmllbGQtc2VsZWN0LFxuICAgIGtyZWZpZWxkLWRhdGV0aW1lLFxuICAgIGtyZWZpZWxkLWltYWdlLFxuICAgIGtyZWZpZWxkLXVwbG9hZCxcbiAgICBrcmVmaWVsZC1sb29rdXAsXG4gICAga3JlZmllbGQtaHRtbCxcbiAgICBrcmVmaWVsZC1saW5lLCBcbiAgICBrcmVmb3JtLXJlcGVhdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgZmxleDogMTtcblxuICAgICAgLmZpZWxkdGV4dCB7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAga3JlZmllbGQtbG9va3VwIHtcbiAgICAgIG56LWlucHV0LWdyb3VwIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLmFudGljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hbnQtaW5wdXQge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuYW50aWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiYjtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MiUpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTIlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4+Lmljb24tdGlhbmppbiB7XG4gICAgICAgICAgY29sb3I6ICNiZmJmYmY7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBrcmVmb3JtLXZhbGlkYXRpb24tbWVzc2FnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogI2ZjOGU4YyAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgIH1cblxuICAgIGtyZWZpZWxkLXRleHRhcmVhIHtcbiAgICAgIC5maWVsZHRleHQge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBrcmVmaWVsZC10ZXh0aTE4biB7XG4gICAgICAuaW5wdXRpMThuIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICB9XG4gICAgfVxuXG4gICAga3JlZmllbGQtaHRtbCB7XG4gICAgICAuZmllbGRDb250cm9sIHtcbiAgICAgICAgcGFkZGluZzogNnB4IDAgMCAxMHB4O1xuXG4gICAgICAgIC5jb250cm9sIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHggMTVweCAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKuaSkea7oee7hOS7tiovXG4gICAgbnotdXBsb2FkLFxuICAgIC5wYW5lbC1saW5lLFxuICAgIC5wYW5lbC1odG1sIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLyrlpJrorrDlvZXljLrln58qL1xuICAgIGtyZWZvcm0tcmVwZWF0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcblxuICAgICAgLnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmY2E1ZTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC8vIHBhZGRpbmc6IDEwcHggMCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTBweCAwIDEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcblxuXG4gICAgICAgIC5kZWwge1xuICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjA5MGRmO1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IC0yM3B4O1xuICAgICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAxcHggNnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiMTVlO1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAucGFuZWwta3JlZm9ybS1ncm91cCB7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hZGQgc3BhbiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICM2MDkwZGY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY4ZmQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzYwOTBkZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuXG4gICAgICBrcmVmb3JtLWdyb3VwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIGtyZWZvcm0tZmllbGQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBrcmVmaWVsZC13cmFwcGVyLFxuICAgICAgICBrcmVmaWVsZC1pbnB1dCxcbiAgICAgICAga3JlZmllbGQtbnVtYmVyLFxuICAgICAgICBrcmVmaWVsZC10ZXh0YXJlYSxcbiAgICAgICAga3JlZmllbGQtZGF0ZXBpY2tlcixcbiAgICAgICAga3JlZmllbGQtc2VsZWN0LFxuICAgICAgICBrcmVmaWVsZC1yYWRpbyxcbiAgICAgICAga3JlZmllbGQtY2hlY2tib3gsXG4gICAgICAgIGtyZWZpZWxkLW11bHRpcmFkaW8sXG4gICAgICAgIGtyZWZpZWxkLW11bHRpY2hlY2tib3gsXG4gICAgICAgIGtyZWZpZWxkLWltYWdlLFxuICAgICAgICBrcmVmaWVsZC1sb29rdXAsXG4gICAgICAgIGtyZWZpZWxkLXRlbXBsYXRlLFxuICAgICAgICBrcmVmaWVsZC1sYWJlbCxcbiAgICAgICAga3JlZmllbGQtdXBsb2FkIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICAgIG56LXBpY2tlcntcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgLmFudC1jYWxlbmRhci1waWNrZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIGtyZWZpZWxkLXdyYXBwZXJ7XG4gICAgICAuZmllbGRsYWJlbCB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb2xvcjogI2ZmNDAxODtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGtyZWZvcm0tZmllbGQge1xuICAgICAgLmZpZWxkY29udHJvbCB7XG4gICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG56LXBpY2tlcixcbiAgICAgICAgbnotaW5wdXQtbnVtYmVyLFxuICAgICAgICBuei15ZWFyLXBpY2tlcixcbiAgICAgICAgbnotdGltZS1waWNrZXIsXG4gICAgICAgIC5hbnQtY2FsZW5kYXItcGlja2VyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGRsYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxNTBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgY29sb3I6ICMzMjMyMzI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi77yaXCI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkQ29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgfVxuXG4gICAgICAuaW52YWxpZC1mZWVkYmFjayB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYW5lbC1yZXBlYXQsXG4gICAgLnBhbmVsLXRleHRhcmVhLFxuICAgIC5wYW5lbC1sYWJlbCxcbiAgICAucGFuZWwtdXBsb2FkIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmZpZWxkY29udHJvbCBociB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNlMDtcbiAgICAgIG1hcmdpbjogMTBweCAwIDI1cHggMDtcbiAgICB9XG5cblxuICAgIC5wYW5lbC1sYWJlbCB7XG4gICAgICBrcmVmaWVsZC1sYWJlbCB7XG4gICAgICAgIC5maWVsZGNvbnRyb2wge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBjb2xvcjogIzYwOTBkZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8q5biD5bGA5qC35byPKi9cbiAgICAubGF5b3V0LWNvbHVtbi0xIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICBrcmVmaWVsZC10ZXh0LFxuICAgICAga3JlZmllbGQtdGV4dGkxOG4sXG4gICAgICBrcmVmaWVsZC10ZXh0YXJlYSxcbiAgICAgIGtyZWZpZWxkLW51bWJlcixcbiAgICAgIGtyZWZpZWxkLXBhc3N3b3JkLFxuICAgICAga3JlZmllbGQtcmFkaW8sXG4gICAgICBrcmVmaWVsZC1jaGVja2JveCxcbiAgICAgIGtyZWZpZWxkLXNlbGVjdCxcbiAgICAgIGtyZWZpZWxkLWRhdGV0aW1lLFxuICAgICAga3JlZmllbGQtaW1hZ2UsXG4gICAgICBrcmVmaWVsZC11cGxvYWQsXG4gICAgICBrcmVmaWVsZC1sb29rdXAsXG4gICAgICBrcmVmaWVsZC1odG1sLFxuICAgICAga3JlZmllbGQtbGluZSxcbiAgICAgIGtyZWZpZWxkLXRleHRpMThuIC5pbnB1dGkxOG4ge1xuICAgICAgICB3aWR0aDogNTYwcHg7XG4gICAgICB9XG5cbiAgICAgIGtyZWZvcm0tcmVwZWF0IHtcbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgLnBhbmVsLWtyZWZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGF5b3V0LWNvbHVtbi0yIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICBrcmVmb3JtLWZpZWxkIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIGtyZWZvcm0tcmVwZWF0IHtcbiAgICAgICAga3JlZm9ybS1maWVsZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXlvdXQtY29sdW1uLTMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgIGtyZWZvcm0tZmllbGQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgIH1cblxuICAgICAga3JlZm9ybS1yZXBlYXQge1xuICAgICAgICBrcmVmaWVsZCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5sYXlvdXQtcm93LTIge1xuICAgICAgLnBhbmVsLWxhYmVsIHtcbiAgICAgICAga3JlZmllbGQtaHRtbCB7XG4gICAgICAgICAgLmZpZWxkY29udHJvbCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAga3JlZmllbGQtd3JhcHBlcntcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5maWVsZGxhYmVsIHtcbiAgICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICAgICAgICBmbGV4OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRjb250cm9sIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweCAwcHggMTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgaHIge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIjpob3N0IDo6bmctZGVlcCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG46aG9zdCA6Om5nLWRlZXAga3JlLXNrZWxldG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbn1cbjpob3N0IDo6bmctZGVlcCBrcmUtc2tlbGV0b24gbnotc3BpbiB7XG4gIHBhZGRpbmc6IDUwcHggNTBweCAwIDUwcHg7XG4gIHotaW5kZXg6IDI7XG59XG46aG9zdCA6Om5nLWRlZXAga3JlLXNrZWxldG9uIG56LXNrZWxldG9uIHtcbiAgcGFkZGluZzogMTAwcHggNTBweCAxMDBweCAwO1xuICBtYXJnaW46IDAgMCAwIC01MHB4O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8q5Z+656GA57uE5Lu2Ki9cbiAgLyrmkpHmu6Hnu4Tku7YqL1xuICAvKuWkmuiusOW9leWMuuWfnyovXG4gIC8q5biD5bGA5qC35byPKi9cbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDE7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZzogMjBweCAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5rcmVidXR0b24ge1xuICBwYWRkaW5nOiAxMHB4O1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggI2RjZGNlMDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyAua3JlYnV0dG9uIC5idG4ge1xuICBtaW4td2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogMjJweDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjA5MGRmO1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyAua3JlYnV0dG9uIC5idG4tc2F2ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzFhOWZmO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5rcmVidXR0b24gLmJ0bi1jYW5jZWwsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmtyZWJ1dHRvbiAuYnRuLXJlc2V0IHtcbiAgY29sb3I6ICM2MDkwZGY7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLnRpcHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxOHB4O1xuICBtYXJnaW4tbGVmdDogNnB4O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC50aXBzIC5pY29uLWJhbmd6aHUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjYmZiZmJmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC05cHg7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmFudC1jaGVja2JveC1ncm91cCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyAuYW50LWNoZWNrYm94LXdyYXBwZXIsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmFudC1yYWRpby13cmFwcGVyIHtcbiAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyAuaGFzLWVycm9yIC5hbnQtaW5wdXQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmhhcy1lcnJvciAuYW50LWlucHV0OmhvdmVyLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5oYXMtZXJyb3IgLmFudC1pbnB1dC1udW1iZXIsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmhhcy1lcnJvciAuYW50LXRpbWUtcGlja2VyLWlucHV0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5oYXMtZXJyb3IgLmFudC1zZWxlY3Qtc2VsZWN0aW9uLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5oYXMtZXJyb3IgLmFudC11cGxvYWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZmM4ZThjO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5oYXMtZXJyb3IgLmFudC11cGxvYWQuYW50LXVwbG9hZC1kcmFnIHtcbiAgYm9yZGVyOiAwcHggc29saWQgI2ZjOGU4Yztcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyAuaGFzLWVycm9yIC5pY29uLXRpYW5qaW4sXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmhhcy1lcnJvciAuYW50aWNvbiB7XG4gIGNvbG9yOiAjZmM4ZThjO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIC5hbnQtaW5wdXQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLmFudC1zZWxlY3Qtc2VsZWN0aW9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RjZGNlMDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC13cmFwcGVyLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLXRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdGV4dGkxOG4sXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdGV4dGFyZWEsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtbnVtYmVyLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLXBhc3N3b3JkLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLW51bWJlcixcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1yYWRpbyxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1jaGVja2JveCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1zZWxlY3QsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtZGF0ZXRpbWUsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtaW1hZ2UsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdXBsb2FkLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWxvb2t1cCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1odG1sLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWxpbmUsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgZmxleDogMTtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC13cmFwcGVyIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdGV4dCAuZmllbGR0ZXh0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLXRleHRpMThuIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdGV4dGFyZWEgLmZpZWxkdGV4dCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1udW1iZXIgLmZpZWxkdGV4dCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1wYXNzd29yZCAuZmllbGR0ZXh0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLW51bWJlciAuZmllbGR0ZXh0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLXJhZGlvIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtY2hlY2tib3ggLmZpZWxkdGV4dCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1zZWxlY3QgLmZpZWxkdGV4dCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1kYXRldGltZSAuZmllbGR0ZXh0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWltYWdlIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtdXBsb2FkIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtbG9va3VwIC5maWVsZHRleHQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtaHRtbCAuZmllbGR0ZXh0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWxpbmUgLmZpZWxkdGV4dCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCAuZmllbGR0ZXh0IHtcbiAgaGVpZ2h0OiAzMnB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1sb29rdXAgbnotaW5wdXQtZ3JvdXA6aG92ZXIgLmFudGljb24ge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgZGlzcGxheTogZmxleDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC1sb29rdXAgbnotaW5wdXQtZ3JvdXAgLmFudC1pbnB1dCB7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtbG9va3VwIG56LWlucHV0LWdyb3VwIC5hbnRpY29uIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJiO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwcHg7XG4gIHotaW5kZXg6IDM7XG4gIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTIlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MiUpO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWxvb2t1cCBuei1pbnB1dC1ncm91cCBzcGFuID4gLmljb24tdGlhbmppbiB7XG4gIGNvbG9yOiAjYmZiZmJmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS12YWxpZGF0aW9uLW1lc3NhZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICNmYzhlOGMgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLXRleHRhcmVhIC5maWVsZHRleHQge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmaWVsZC10ZXh0aTE4biAuaW5wdXRpMThuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gIGZsZXg6IDE7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZmllbGQtaHRtbCAuZmllbGRDb250cm9sIHtcbiAgcGFkZGluZzogNnB4IDAgMCAxMHB4O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZpZWxkLWh0bWwgLmZpZWxkQ29udHJvbCAuY29udHJvbCB7XG4gIHBhZGRpbmc6IDE1cHggMTBweCAxNXB4IDEwcHggIWltcG9ydGFudDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBuei11cGxvYWQsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLnBhbmVsLWxpbmUsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMgLnBhbmVsLWh0bWwge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IC5yb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmNhNWU7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiBmbGV4O1xuICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICBmbGV4OiAxO1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAzMHB4IDEwcHggMCAxMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQgLnJvdyAuZGVsIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWluLXdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzYwOTBkZjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTIzcHg7XG4gIHJpZ2h0OiAtMXB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFweCA2cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYjE1ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCAucm93IC5wYW5lbC1rcmVmb3JtLWdyb3VwIHtcbiAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgZmxleDogMTtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCAuYWRkIHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDIwMHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjNjA5MGRmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmOGZkO1xuICBib3JkZXItY29sb3I6ICM2MDkwZGY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCBrcmVmb3JtLWdyb3VwIHtcbiAgd2lkdGg6IDEwMCU7XG59XG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQga3JlZm9ybS1maWVsZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xufVxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IGtyZWZvcm0tZmllbGQga3JlZmllbGQtd3JhcHBlcixcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCBrcmVmb3JtLWZpZWxkIGtyZWZpZWxkLWlucHV0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IGtyZWZvcm0tZmllbGQga3JlZmllbGQtbnVtYmVyLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IGtyZWZvcm0tZmllbGQga3JlZmllbGQtdGV4dGFyZWEsXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQga3JlZm9ybS1maWVsZCBrcmVmaWVsZC1kYXRlcGlja2VyLFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IGtyZWZvcm0tZmllbGQga3JlZmllbGQtc2VsZWN0LFxuOmhvc3QgOjpuZy1kZWVwIC5rcmVmb3JtLWJhc2ljIGtyZWZvcm0tcmVwZWF0IGtyZWZvcm0tZmllbGQga3JlZmllbGQtcmFkaW8sXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQga3JlZm9ybS1maWVsZCBrcmVmaWVsZC1jaGVja2JveCxcbjpob3N0IDo6bmctZGVlcCAua3JlZm9ybS1iYXNpYyBrcmVmb3JtLXJlcGVhdCBrcmVmb3JtLWZpZWxkIGtyZWZpZWxkLW11bHRpcmFkaW8sXG46aG9zdCA6Om5nLWRlZXAgLmtyZWZvcm0tYmFzaWMga3JlZm9ybS1yZXBlYXQga3JlZm9ybS1maWVsZCBrcmVmaWVsZC1tdWx0aWNoZWNrYm94LFxuOm