qms-angular 1.1.54 → 1.1.56

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.
@@ -431,7 +431,9 @@ export const sv = {
431
431
  "SELECT_TEMPLATE": "Välj mall",
432
432
  "DELETE_TEMPLATE": "Ta bort mall",
433
433
  "SAVE_AS_TEMPLATE": "Spara som mall",
434
- "RESET_TO_LAST_SAVE": "Släng osparade ändringar"
434
+ "RESET_TO_LAST_SAVE": "Släng osparade ändringar",
435
+ "PLACE_NEXT_TO": "Placera bredvid",
436
+ "PLACE_UNDER": "Placera under",
435
437
  }
436
438
  };
437
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL21vZGVsL3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsVUFBVTtJQUNyQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsY0FBYyxFQUFFLGVBQWU7SUFDL0IsYUFBYSxFQUFFLE9BQU87SUFDdEIsZUFBZSxFQUFFLFdBQVc7SUFDNUIsd0JBQXdCLEVBQUUsZ0NBQWdDO0lBQzFELFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsUUFBUSxFQUFFLFdBQVc7SUFDckIsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLHNCQUFzQixFQUFFLDBDQUEwQztJQUNsRSwyQkFBMkIsRUFBRSw2QkFBNkI7SUFDMUQsa0JBQWtCLEVBQUUsdUJBQXVCO0lBQzNDLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxXQUFXO0lBQ3pCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsZUFBZSxFQUFFLHlEQUF5RDtJQUMxRSxlQUFlLEVBQUUsaUZBQWlGO0lBQ2xHLGlCQUFpQixFQUFFLGdCQUFnQjtJQUNuQyxVQUFVLEVBQUUsU0FBUztJQUNyQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGdC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L0MsYUFBYSxFQUFFLGdCQUFnQjtRQUMvQixXQUFXLEVBQUUsVUFBVTtRQUN2QixPQUFPLEVBQUUsTUFBTTtRQUNmLE9BQU8sRUFBRSxPQUFPO1FBQ2hCLFlBQVksRUFBRSxVQUFVO1FBQ3hCLFFBQVEsRUFBRSxTQUFTO1FBQ25CLGFBQWEsRUFBRSxZQUFZO1FBQzNCLGNBQWMsRUFBRSxVQUFVO1FBQzFCLDBCQUEwQixFQUFFLHFCQUFxQjtRQUNqRCxLQUFLLEVBQUUsS0FBSztRQUNaLEtBQUssRUFBRSxRQUFRO1FBQ2YsUUFBUSxFQUFFLFNBQVM7UUFDbkIsYUFBYSxFQUFFLGFBQWE7UUFDNUIsU0FBUyxFQUFFLFNBQVM7UUFDcEIsT0FBTyxFQUFFLE9BQU87UUFDaEIsV0FBVyxFQUFFLFlBQVk7UUFDekIsVUFBVSxFQUFFLFVBQVU7UUFDdEIsUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLE9BQU87UUFDZixNQUFNLEVBQUUsVUFBVTtRQUNsQixhQUFhLEVBQUUsYUFBYTtRQUM1QixZQUFZLEVBQUUsMEJBQTBCO1FBQ3hDLFlBQVksRUFBRSwwQkFBMEI7UUFDeEMsT0FBTyxFQUFFLDZCQUE2QjtRQUN0QyxlQUFlLEVBQUUsbUJBQW1CO1FBQ3BDLGNBQWMsRUFBRSw2QkFBNkI7UUFDN0MsbUJBQW1CLEVBQUUsa0JBQWtCO1FBQ3ZDLGFBQWEsRUFBRSxxQkFBcUI7UUFDcEMsVUFBVSxFQUFFLFVBQVU7UUFDdEIsU0FBUyxFQUFFLFVBQVU7UUFDckIsa0JBQWtCLEVBQUUsc0JBQXNCO1FBQzFDLFdBQVcsRUFBRSxzQkFBc0I7UUFDbkMsWUFBWSxFQUFFLHFCQUFxQjtRQUNuQyxpQkFBaUIsRUFBRSxXQUFXO1FBQzlCLGlCQUFpQixFQUFFLGNBQWM7UUFDakMsa0JBQWtCLEVBQUUsZ0JBQWdCO1FBQ3BDLG9CQUFvQixFQUFFLDBCQUEwQjtLQUNqRDtDQUNGLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3Qgc3YgPSB7XG4gIFwiUkVTVUxUU1wiOiBcIlJlc3VsdGF0XCIsXG4gIFwiUk9XX1BFUl9QQUdFXCI6IFwiUmFkZXIgcGVyIHNpZGFcIixcbiAgXCJKVU1fVE9fUEFHRVwiOiBcIkhvcHBhIMOldCBzaWRhblwiLFxuICBcIk1ZX0NPTVBPTkVOVFwiOiBcIk1pbiBrb21wb25lbnRcIixcbiAgXCJTQVZFX0JVVFRPTlwiOiBcIlNwYXJhXCIsXG4gIFwiQ0FOQ0VMX0JVVFRPTlwiOiBcIkFubnVsbGVyYVwiLFxuICBcIkRFTEVURV9NRVNTQUdFX0NPTU1FTlRcIjogXCJEZXR0YSBtZWRkZWxhbmRlIGhhciByYWRlcmF0cy5cIixcbiAgXCJSRUdSRVRcIjogXCLDhW5ncmFcIixcbiAgXCJFRElUXCI6IFwiUmVkaWdlcmFcIixcbiAgXCJERUxFVEVcIjogXCJSYWRlcmFcIixcbiAgXCJTQVZFXCI6IFwiU3BhcmFcIixcbiAgXCJDQU5DRUxcIjogXCJBbm51bGxlcmFcIixcbiAgXCJFRElUX0ZJTEVfTkFNRVwiOiBcIlJlZGlnZXJhIGZpbG5hbW5cIixcbiAgXCJGSUxFX05BTUVcIjogXCJGaWxuYW1uXCIsXG4gIFwiVVBMT0FEX0xFQVZFX1dBUk5JTkdcIjogXCJGaWxlcm5hIGR1IGxhZGRhciB1cHAga2Fuc2tlIGludGUgc3BhcmFzXCIsXG4gIFwiU09NRV9GSUxFU19XRVJFX05PVF9BRERFRFwiOiBcIlZpc3NhIGZpbGVyIGxhZGVzIGludGUgdGlsbFwiLFxuICBcIllPVV9DQU5fT05MWV9BRERcIjogXCJEdSBrYW4gYmFyYSBsYWRkYSB1cHBcIixcbiAgXCJTRUxFQ1RcIjogXCJWw6RsalwiLFxuICBcIlBST0NFU1NFU1wiOiBcIlByb2Nlc3NlclwiLFxuICBcIkRPQ1VNRU5UU1wiOiBcIkRva3VtZW50XCIsXG4gIFwiREVWSUFUSU9OXCI6IFwiS2F0ZWdvcmllclwiLFxuICBcIkNIRUNLTElTVFwiOiBcIkNoZWNrbGlzdG9yXCIsXG4gIFwiQVNTRVNTTUVOVFwiOiBcIkFuYWx5c2VyYVwiLFxuICBcIkFERFwiOiBcIkzDpGdnIHRpbGxcIixcbiAgXCJTRUFSQ0hcIjogXCJTw7ZrXCIsXG4gIFwiUkVHVUxBUl9USVRMRVwiOiBcIlZpbGthIGjDpG5kZWxzZXIgdmlsbCBkdSBoYSBtZWQgaSByaXNrYW5hbHlzZW4vcmlza2VybmE/XCIsXG4gIFwiQ0FQVElPTl9USVRMRVwiOiBcIkkgb3JzYWtzYW5hbHlzZXIgbMOkZ2dzIGFsbGEgb3JzYWtlciByZWxhdGVyYWRlIHRpbGwgaMOkbmRlbHNlbiBhdXRvbWF0aXNrdCB0aWxsLlwiLFxuICBcIkNBVVNBTF9BTkFMWVpFU1wiOiBcIlZhbGRhIGFuYWx5c2VyXCIsXG4gIFwiRklOSVNIRURcIjogXCJGw6RyZGlnYVwiLFxuICBcIlBST0NFU1NfSURcIjogXCJJRFwiLFxuICBcIkRPQ1VNRU5UX0lEXCI6IFwiSURcIixcbiAgXCJQUk9DRVNTX0FSRUFcIjogXCJQcm9jZXNzb21yw6VkZW5cIixcbiAgXCJGT0xERVJcIjogXCJtYXBwXCIsXG4gIFwiREVWSUFUSU9OX1RZUEVcIjogXCJGYWxsIHR5cFwiLFxuICBcIkNIRUNLTElTVF9DQVRFR09SWVwiOiBcIkthdGVnb3JpZXJcIixcbiAgXCJFVkVOVFwiOiBcIkjDpG5kZWxzZVwiLFxuICBcIkFSRUFfT0ZfSU1QQUNUXCI6IFwiS29uc2VrdmVuc29tcsOlZGVcIixcbiAgXCJSRVNVTFRcIjogXCJSZXN1bHRhdFwiLFxuICBcIk5PVF9BQ0NFUFRFRFwiOiBcIkludGUgYWNjZXB0ZXJhZFwiLFxuICBcIk1VU1RfQkVfRVZBTFVBVEVEXCI6IFwiTcOlc3RlIMO2dmVydsOkZ2FzXCIsXG4gIFwiQUNDRVBURURcIjogXCJBY2NlcHRlcmFkXCIsXG4gIFwiQVJDSElWRURcIjogXCJBcmtpdmVyYWRcIixcbiAgXCJDQVVTRVwiOiBcIk9yc2FrXCIsXG4gIFwiUEFHRVwiOiBcIlNpZGFcIixcbiAgXCJPRlwiOiBcImF2XCIsXG4gIFwiUkVQT1JUX0ZPUlwiOiBcIlJhcHBvcnQgZsO2clwiLFxuICBcIlNFTEVDVEVEXCI6IFwiVmFsZ3RlXCIsXG4gIFwiQ0hPT1NFX0FMTFwiOiBcInbDpGxqIGFsbGFcIixcbiAgXCJCUkVBRENSVU1CXCI6IFwiU3Ryw7ZicsO2ZFwiLFxuICBcIk5BVklHQVRFX1RPXCI6IFwiTmF2aWdlcmEgdGlsbFwiLFxuICBcIkZJTEVfU0laRV9MSU1JVFwiOiBcIkZpbHN0b3JsZWtzZ3LDpG5zXCIsXG4gIFwiU1VQUE9SVEVEX0VYVEVOU0lPTlNcIjogXCJUaWxsw6RnZyBzb20gc3TDtmRzXCIsXG4gIFwiRklMRVNfQVJFX05PVF9TVVBQT1JURURcIjogXCJGaWwoZXIpIHN0w7ZkcyBpbnRlXCIsXG4gIFwiRklMRVNfRVhDRUVEX1VQTE9BRF9MSU1JVFwiOiBcIkZpbChlcikgw7Z2ZXJza3JpZGVyIGdyw6Ruc2VuIGbDtnIgdXBwbGFkZG5pbmdzc3Rvcmxla1wiLFxuICBcIlNFTEVDVF9BQ0NFU1NcIjogXCJWw6RsaiBhbnN2YXJpZ2EgcGVyc29uZXJcIixcbiAgXCJQRVJTT05cIjogXCJQZXJzb25cIixcbiAgXCJVU0VSX0dST1VQXCI6IFwiQW52w6RuZGFyZ3J1cHBcIixcbiAgXCJERVBBUlRNRU5UXCI6IFwiQXZkZWxuaW5nXCIsXG4gIFwiUk9MRVwiOiBcIlJvbGxcIixcbiAgXCJERVBBUlRNRU5UX1VOSVRcIjogXCJBdmRlbG5pbmcvZW5oZXRcIixcbiAgXCJJTkNMVURFX1NVQl9ERVBBUlRNRU5UU1wiOiBcIklua2x1ZGVyYSBhdXRvbWF0aXNrdCB1bmRlcmF2ZGVsbmluZ2FyXCIsXG4gIFwiTkFNRVwiOiBcIm5hbW5cIixcbiAgXCJTRUFSQ0hfVVNFUl9HUk9VUFwiOiBcIlPDtmsgYW52w6RuZGFyZ3J1cHBcIixcbiAgXCJTRUFSQ0hfREVQQVJUTUVOVF9VTklUXCI6IFwiU8O2a2F2ZGVsbmluZy9lbmhldFwiLFxuICBcIkZJTFRFUlwiOiBcIkFudsOkbmQgZmlsdGVyXCIsXG4gIFwiVFlQRVwiOiBcIlR5cFwiLFxuICBcIlNFQVJDSF9XSVRIX05BTUVcIjogXCJTw7ZrIGVmdGVyIGbDtnItIG9jaCBlZnRlcm5hbW5cIixcbiAgXCJSRVNVTFRfU0VBUkNIX0ZPUlwiOiBcIlPDtmsgcmVzdWx0YXQgZWZ0ZXJcIixcbiAgXCJUT09MVElQX0lOQ0xVREVfU1VCX0RFUEFSVE1FTlRcIjogXCJ7MH0g4oCTIGlua2x1ZGVyYXIgezF9IGJhcm5cIixcbiAgXCJUT09MVElQX0lOQ0xVREVfU1VCX0lURU1cIjogXCJ7MH0g4oCTIGlubmVow6VsbGVyIHsxfSB1bmRlcmVsZW1lbnRcIixcbiAgXCJOT19SRVNVTFRcIjogXCJJbmdldCByZXN1bHRhdFwiLFxuICBcIklURU1fTk9UX01BVENIX1RPX1RSRUVcIjogXCJEZW5uYSBhcnRpa2VsIG1hdGNoYXIgaW50ZSB0csOkZGV0XCIsXG4gIFwiRVJST1JcIjoge1xuICAgIFwiU0VMRUNUX0RBTkdFUlwiOiBcIkR1IG3DpXN0ZSB2w6RsamEgZW4gZWxsZXIgZmxlcmEgaMOkbmRlbHNlclwiXG4gIH0sXG4gIFwiTUVTU0FHRVwiOiB7XG4gICAgXCJQUk9DRVNTRVNfSU5cIjogXCJQcm9jZXNzZXIgaVwiLFxuICAgIFwiRE9DVU1FTlRTX0lOXCI6IFwiRG9rdW1lbnQgaVwiXG4gIH0sXG4gIFwiU0VMRUNUX0lOQ0xVREVfQ0hJTERcIjogXCJTZWxlY3QgaW5rbHVkZXJhciBiYXJuXCIsXG4gIFwiQkFDS19UT19UUkVFXCI6IFwiVGlsbGJha2EgdGlsbCBldHQgdHLDpGRcIixcbiAgXCJHT1RPX1NFQUNIX1JFU1VMVFwiOiBcIkfDpSB0aWxsIHPDtmtyZXN1bHRhdGV0XCIsXG4gIFwiUU1TQ0tFRElUT1JcIjoge1xuICAgIFwiSURcIjogXCJJRFwiLFxuICAgIFwiSU5GT1JNQVRJT05cIjogXCJJbmZvcm1hdGlvblwiLFxuICAgIFwiUkVNT1ZFX01BUFwiOiBcIlRhIGJvcnQga2FydGFuXCIsXG4gICAgXCJJTUFHRV9NQVBfUFJPUEVSVElFU1wiOiBcIkJpbGRrYXJ0YSBlZ2Vuc2thcGVyXCIsXG4gICAgXCJJTlNFUlRfVE9PTFRJUFwiOiBcIlPDpHR0IGkgZW4gdmVya3R5Z3NzcGV0c1wiLFxuICAgIFwiQ09OVEVOVFwiOiBcIklubmVow6VsbFwiLFxuICAgIFwiVEVNUExBVEVcIjogXCJNYWxsXCIsXG4gICAgXCJDT05URU5UX1RFTVBMQVRFXCI6IFwiSW5uZWjDpWxsc21hbGxcIixcbiAgICBcIkNSRUFURV9ORVdfVEVNUExBVEVcIjogXCJTa2FwYSBlbiBueSBtYWxsXCIsXG4gICAgXCJVUERBVEVfVEVNUExBVEVcIjogXCJVcHBkYXRlcmEgbWFsbFwiLFxuICAgIFwiVElUTEVcIjogXCJUaXRlbFwiLFxuICAgIFwiREVTQ1JJUFRJT05cIjogXCJCZXNrcml2bmluZ1wiLFxuICAgIFwiU0FWRVwiOiBcIlNwYXJhXCIsXG4gICAgXCJDSE9PU0VfVEVNUExBVEVcIjogXCJWw6RsaiBtYWxsZW4gZHUgdmlsbCDDtnBwbmEgaSBlZGl0b3JuXCIsXG4gICAgXCJSRVBMQUNFX0NPTlRFTlRcIjogXCJCeXQgdXQgZGV0IGZha3Rpc2thIGlubmVow6VsbGV0XCIsXG4gICAgXCJTQVZFRFwiOiBcIlNwYXJhZFwiLFxuICAgIFwiU0FWRV9GQUlMRURcIjogXCJTcGFybmluZ2VuIG1pc3NseWNrYWRlc1wiLFxuICAgIFwiREVMRVRFXCI6IFwiUmFkZXJhXCIsXG4gICAgXCJERUxFVEVEXCI6IFwicmFkZXJhZGVcIixcbiAgICBcIkRFTEVURV9GQUlMRURcIjogXCJEZXQgZ2ljayBpbnRlIGF0dCB0YSBib3J0XCIsXG4gICAgXCJERUxFVEVfVEVNUExBVEVcIjogXCJUYSBib3J0IG1hbGxcIixcbiAgICBcIkNIQU5HRV9URU1QTEFURVwiOiBcIsOEbmRyYSBtYWxsXCIsXG4gICAgXCJDQU5DRUxcIjogXCJBbm51bGxlcmFcIixcbiAgICBcIkxJTktcIjogXCJJbmZvZ2EvcmVkaWdlcmEgbMOkbmtcIixcbiAgICBcIkxJTktfVFlQRVwiOiBcIktvcHBsaW5nc3R5cFwiLFxuICAgIFwiWk9PTVwiOiBcIlpvb21cIixcbiAgICBcIkxJTktfVVJMXCI6IFwiVVJMXCIsXG4gICAgXCJMSU5LX0FOQ0hPUl9JTl9URVhUXCI6IFwiTMOkbmsgdGlsbCBhbmthcmUgaSB0ZXh0ZW5cIixcbiAgICBcIkxJTktfRU1BSUxcIjogXCJFLXBvc3RcIixcbiAgICBcIkxJTktfQU5DSE9SX0RPQ1VNRU5UXCI6IFwiRsO2cmFua3JhIGkgZXR0IGFubmF0IGRva3VtZW50XCIsXG4gICAgXCJUQVJHRVRcIjogXCJNw6VsXCIsXG4gICAgXCJUQVJUR0VUX05FV1wiOiBcIk55dHQgZsO2bnN0ZXIgKF9ibGFuaylcIixcbiAgICBcIlRBUkdFVF9UT1BNT1NUXCI6IFwiRGV0IMO2dnJlIGbDtm5zdHJldCAoX3RvcClcIixcbiAgICBcIlRBUkdFVF9TQU1FXCI6IFwiU2FtbWEgZsO2bnN0ZXIgKHNqw6RsdilcIixcbiAgICBcIlRBUkdFVF9QQVJFTlRcIjogXCLDlnZlcm9yZG5hdCBmw7Zuc3RlciAoX2bDtnLDpGxkZXIpXCIsXG4gICAgXCJQUk9UT0NPTFwiOiBcIlByb3Rva29sbFwiLFxuICAgIFwiUFJPVE9DT0xfSFRUUFwiOiBcImh0dHA6Ly9cIixcbiAgICBcIlBST1RPQ09MX0hUVFBTXCI6IFwiaHR0cHM6Ly9cIixcbiAgICBcIlBST1RPQ09MX0ZUUFwiOiBcImZ0cDovL1wiLFxuICAgIFwiUFJPVE9DT0xfTkVXXCI6IFwibnloZXRlcjovL1wiLFxuICAgIFwiUFJPVE9DT0xfT1RIRVJcIjogXCI8YW5uYXQ+XCIsXG4gICAgXCJBRFZJU09SWV9USVRMRVwiOiBcIlLDpWRnaXZhbmRlIHRpdGVsXCIsXG4gICAgXCJIQU5EQk9PS1wiOiBcImUtaGFuZGJva1wiLFxuICAgIFwiQVRUQUNITUVOVFwiOiBcIlZlZGxlZ2dcIixcbiAgICBcIk9LXCI6IFwiT0tcIixcbiAgICBcIlVSTF9IRUFERVJcIjogXCJVUkwtaW5mb3JtYXRpb25cIixcbiAgICBcIkFOQ0hPUl9URVhUX0hFQURFUlwiOiBcIlbDpGxqIGV0IGFua2VyXCIsXG4gICAgXCJBTkNIT1JfQllfTkFNRVwiOiBcIkFua2VyIHZlZCBuYW1uXCIsXG4gICAgXCJFTUFJTF9IRUFERVJcIjogXCJFLXBvc3RpbmZvcm1hdGlvblwiLFxuICAgIFwiRU1BSUxfQUREUkVTU1wiOiBcIkFkcmVzc1wiLFxuICAgIFwiRU1BSUxfU1VCSkVDVFwiOiBcIkVtbmVcIixcbiAgICBcIkVNQUlMX0JPRFlcIjogXCJLcm9wcFwiLFxuICAgIFwiQU5DSE9SX0FUVEFDSE1FTlRcIjogXCJWZWRsZWdnXCIsXG4gICAgXCJBTkNIT1JfUkVMQVRFRF9ET0NVTUVOVFwiOiBcIlJlbGF0ZXJ0ZSBkb2t1bWVudFwiLFxuICAgIFwiQUREX0RPQ1VNRU5UX1BST0NFU1NcIjogXCJMw6RnZyB0aWxsIGRva3VtZW50IC8gcHJvY2Vzc1wiLFxuICAgIFwiQUREX0RPQ1VNRU5UXCI6IFwiTMOkZ2cgdGlsbCBkb2t1bWVudFwiLFxuICAgIFwiQUREXCI6IFwiTMOkZ2cgdGlsbFwiLFxuICAgIFwiUFJPU0VTU0VSXCI6IFwiUHJvY2Vzc2VyXCIsXG4gICAgXCJET0NVTUVOVFNcIjogXCJEb2t1bWVudFwiLFxuICAgIFwiVVBEQVRFXCI6IFwiVXBwZGF0ZXJpbmdcIixcbiAgICBcIkRPQ1VNRU5UXCI6IFwiRG9rdW1lbnRcIixcbiAgICBcIkNPTkZJUk1cIjogXCJCZWtyw6RmdGFcIixcbiAgICBcIlNFQVJDSFwiOiBcIlPDtmtcIixcbiAgICBcIklNQUdFX01PREVfUE9JTlRFUlwiOiBcIlBla2FyXCIsXG4gICAgXCJJTUFHRV9NT0RFX1JFQ1RBTkdMRVwiOiBcIlJla3RhbmdlbFwiLFxuICAgIFwiSU1BR0VfTU9ERV9DSVJDTEVcIjogXCJDaXJrZWxcIixcbiAgICBcIklNQUdFX01PREVfUE9MWUdPTlwiOiBcIlBvbHlnb25cIixcbiAgICBcIklNQUdFX01PREVfUkVNT1ZFXCI6IFwiVGEgYm9ydFwiLFxuICAgIFwiUE9MWUdPTl9EUkFXXCI6IFwiQW52w6RuZCBTS0lGVCArIGtsaWNrYSBmw7ZyIGRlbiBzaXN0YSBrb250cm9sbHB1bmt0ZW5cIixcbiAgICBcIlJFQ1RBTkdMRV9EUkFXXCI6IFwiSMOlbGwgbmVkIFNISUZUIGbDtnIga3ZhZHJhdGzDpGdlXCIsXG4gICAgXCJTUVVBUkVfRFJBV1wiOiBcIlNsw6RwcCBTSElGVCBmw7ZyIHJla3RhbmdlbGzDpGdlXCIsXG4gICAgXCJJTlZBTElEX1VSTFwiOiBcIk9naWx0aWcgVVJMXCIsXG4gICAgXCJSRVFVSVJFRF9VUkxcIjogXCJVUkwga3LDpHZzXCIsXG4gICAgXCJDTE9TRVwiOiBcIlN0w6RuZ2FcIixcbiAgICBcIkRPQ1VNRU5UX1BST0NFU1NcIjogXCJEb2t1bWVudCAvIFByb2Nlc3NcIixcbiAgICBcIlVQTE9BRF9GSUxFX05PVF9WQUxJRF9GT1JNQVRcIjogXCJEZW4gdXBwbGFkZGFkZSBmaWxlbiDDpHIgb2dpbHRpZ3QgZm9ybWF0LiBGaWxmb3JtYXQgc29tIHN0w7ZkczogezB9XCIsXG4gICAgXCJVUExPQURfRklMRV9PVkVSU0laRVwiOiBcIkZpbGVuIHNvbSBsYWRkYXMgdXBwIMOkciDDtnZlciBzdG9ybGVrc2dyw6Ruc2VuLiBTdG9ybGVrc2dyw6Ruc2VuIMOkciB7MH1NQlwiLFxuICAgIFwiVVBMT0FEX0ZJTEVfRkFJTEVEXCI6IFwiRGV0IGdpY2sgaW50ZSBhdHQgbGFkZGEgdXBwIGZpbGVuLlwiLFxuICAgIFwiQVNTSVNUSVZFX1RFWFRcIjogXCJIasOkbHBzYW0gdGV4dFwiLFxuICAgIFwiV09SRFNcIjogXCJPcmRcIixcbiAgICBcIkNIQVJBQ1RFUlNcIjogXCJUZWNrZW5cIixcbiAgICBcIlNFTEVDVF9WSURFT19GUk9NX0FSQ0hJVkVcIjogXCJWw6RsaiB2aWRlbyBmcsOlbiBhcmtpdmV0XCIsXG4gICAgXCJTRUxFQ1RfVklERU9fSU1BR0VcIjogXCJWw6RsaiB2aWRlb2JpbGRcIixcbiAgICBcIkRPQ1VNRU5UX0hFQURFUlwiOiBcIkRva3VtZW50aW5mb3JtYXRpb25cIixcbiAgICBcIkFERF9JTUFHRVwiOiBcIkzDpGdnIHRpbGwgZXR0IGZvdG9cIixcbiAgICBcIklNQUdFX0lORk9cIjogXCJCaWxkaW5mb3JtYXRpb25cIixcbiAgICBcIkFERF9BX0ZJTEVcIjogXCJMw6RnZyB0aWxsIGVuIGZpbFwiLFxuICAgIFwiRVhURU5TSU9OX0lTX05PVF9TVVBQT1JURURcIjogXCJUaWxsw6RnZ2V0IHN0w7ZkcyBpbnRlLlwiLFxuICAgIFwiQUNDRVBUX01QNF9PTkxZXCI6IFwiU3TDtmRlciBpbnRlIGRlbm5hIHZpZGVvdHlwLiBBY2NlcHRlcmEgZW5kYXN0IE1QNC5cIixcbiAgICBcIk1BWElNSVpFXCI6IFwiTWF4aW1lcmFcIixcbiAgICBcIk1JTklNSVpFXCI6IFwiTWluaW1lcmFcIixcbiAgICBcIkhFQURJTkdcIjogXCJTdHlja2Vmb3JtYXRcIixcbiAgICBcIkZPTlRfU0laRVwiOiBcIlN0b3JsZWtcIixcbiAgICBcIkZPTlRfRkFNSUxZXCI6IFwiRm9udC1mYW1pbGpcIixcbiAgICBcIkZPTlRfQ09MT1JcIjogXCJUZXh0IGbDpHJnXCIsXG4gICAgXCJGT05UX0JBQ0tHUk9VTkRfQ09MT1JcIjogXCJCYWtncnVuZHNmw6RyZ1wiLFxuICAgIFwiQk9MRFwiOiBcIkZldFwiLFxuICAgIFwiSVRBTElDXCI6IFwiS3Vyc2l2XCIsXG4gICAgXCJVTkRFUkxJTkVcIjogXCJVbmRlcnN0cnlrbmluZ1wiLFxuICAgIFwiU1RSSUtFVEhST1VHSFwiOiBcIsOWdmVyc3RyeWtuaW5nXCIsXG4gICAgXCJIT1JJWk9OVEFMX0xJTkVcIjogXCJJbmZvZ2EgaG9yaXNvbnRlbGwgbGluamVcIixcbiAgICBcIlBBR0VfQlJFQUtcIjogXCJJbmZvZ2Egc2lkYnJ5dG5pbmcgZsO2ciB1dHNrcmlmdFwiLFxuICAgIFwiVEVYVF9BTElHTk1FTlRcIjogXCJUZXh0cGxhY2VyaW5nXCIsXG4gICAgXCJCVUxMRVRFRF9MSVNUXCI6IFwiTMOkZ2cgdGlsbC90YSBib3J0IHB1bmt0bGlzdGFcIixcbiAgICBcIk5VTUJFUkVEX0xJU1RcIjogXCJMw6RnZyB0aWxsL3RhIGJvcnQgbnVtcmVyYWQgbGlzdGFcIixcbiAgICBcIkRFQ1JFQVNFX0lOREVOVFwiOiBcIk1pbnNrYSBpbmRyYWdlblwiLFxuICAgIFwiSU5DUkVBU0VfSU5ERU5UXCI6IFwiw5ZrYSBpbmRyYWdldFwiLFxuICAgIFwiU1VCU0NSSVBUXCI6IFwiTmVkc8Okbmt0IHNrcmlmdFwiLFxuICAgIFwiU1VQRVJTQ1JJUFRcIjogXCJVcHBow7ZqZCBza3JpZnRcIixcbiAgICBcIlVORE9cIjogXCLDhW5ncmFcIixcbiAgICBcIlJFRE9cIjogXCJHw7ZyIGlnZW5cIixcbiAgICBcIlNQRUNJQUxfQ0hBUkFDVEVSU1wiOiBcIkluZm9nYSBzeW1ib2xcIixcbiAgICBcIkJMT0NLUVVPVEVcIjogXCJCbG9jayBjaXRhdFwiLFxuICAgIFwiSU5TRVJUX0lNQUdFXCI6IFwiQmxpZFwiLFxuICAgIFwiSU5TRVJUX01FRElBXCI6IFwiU8OkdHQgaSBtZWRpYVwiLFxuICAgIFwiQlJPV1NFX1ZJREVPXCI6IFwiVmlkZW9cIixcbiAgICBcIklOU0VSVF9UQUJMRVwiOiBcIlRhYmVsbFwiLFxuICAgIFwiQU5DSE9SXCI6IFwiSW5mb2dhL3JlZGlnZXJhIGFua2FyZVwiLFxuICAgIFwiVE9PTFRJUFwiOiBcIkluZm9nYSBmw7Zya2xhcmluZ1wiLFxuICAgIFwiVElNRVNUQU1QXCI6IFwiSW5zZXJ0IHRpbWVzdGFtcFwiLFxuICAgIFwiQUREX1RFTVBMQVRFXCI6IFwiU2thcGEvw4RuZHJhIGlubmVow6VsbHNtYWxsYXJcIixcbiAgICBcIlRFTVBMQVRFU1wiOiBcIklubmVow6VsbHNtYWxsYXJcIixcbiAgICBcIlJFTU9WRV9GT1JNQVRcIjogXCJUYSBib3J0IGZvcm1hdGVyaW5nXCIsXG4gICAgXCJGSU5EX0FORF9SRVBMQUNFXCI6IFwiU8O2ayBvY2ggZXJzw6R0dFwiLFxuICAgIFwiRkxPV0NIQVJUXCI6IFwiTMOkZ2cgdGlsbCBmbMO2ZGVzc2NoZW1hXCIsXG4gICAgXCJCUE1OXCI6IFwiQWZmw6Ryc3Byb2Nlc3Ntb2RlbGwgb2NoIG5vdGF0aW9uXCIsXG4gICAgXCJBQk9VVF9DS0VESVRPUlwiOiBcIk9tIENLRWRpdG9yXCIsXG4gICAgXCJDUkVBVEVfVEFCTEVfT0ZfQ09OVEVOVFNcIjogXCJTa2FwYSBpbm5laMOlbGxzZsO2cnRlY2tuaW5nXCIsXG4gICAgXCJTT1VSQ0VcIjogXCJLw6RsbGFcIixcbiAgICBcIlRPR0dMRV9UT09MQkFSXCI6IFwiQnl0IHZlcmt0eWdzZsOkbHRcIixcbiAgfSxcbiAgXCJBQk9VVFwiOiB7XG4gICAgXCJBQk9VVF9DS0VESVRPUlwiOiBcIk9tIENLRWRpdG9yXCIsXG4gICAgXCJDS0VESVRPUjVfVkVSU0lPTlwiOiBcIkNLRWRpdG9yIDUgdmVyc2lvblwiLFxuICAgIFwiRk9SX0xJQ0VOU0lOR19JTkZPUk1BVElPTl9QTEVBU0VfVklTSVRfT1VSX1dFQlNJVEVcIjogXCJGw7ZyIGxpY2Vuc2luZm9ybWF0aW9uLCBiZXPDtmsgdsOlciB3ZWJicGxhdHNcIixcbiAgICBcIkFMTF9SSUdIVFNfUkVTRVJWRURcIjogXCJBbGxhIHLDpHR0aWdoZXRlciBmw7ZyYmVow6VsbG5hXCIsXG4gICAgXCJDSEVDS1wiOiBcIlNlXCIsXG4gICAgXCJGT1JfSEVMUFwiOiBcImbDtnIgaGrDpGxwXCIsXG4gICAgXCJDS0VESVRPUl9VU0VSU19HVUlERVwiOiBcImFudsOkbmRhcm1hbnVhbGVuIGbDtnIgQ0tFZGl0b3JcIixcbiAgICBcIkNPUFlSSUdIVFwiOiBcIlVwcGhvdnNyw6R0dCDCqVwiXG4gIH0sXG4gIFwiQlBNTlwiOiB7XG4gICAgXCJERUZBVUxUXCI6IFwiU3RhbmRhcmRcIixcbiAgICBcIlRZUEVcIjogXCJUeXBcIixcbiAgICBcIk5BTUVcIjogXCJOYW1uXCIsXG4gICAgXCJFWENMVVNJVkVcIjogXCJFeGtsdXNpdlwiLFxuICAgIFwiSU5DTFVTSVZFXCI6IFwiSW5rbHVzaXZlXCIsXG4gICAgXCJQQVJBTExFTFwiOiBcIlBhcmFsbGVsbFwiLFxuICAgIFwiQVBQRUFSQU5DRVwiOiBcIlV0c2VlbmRlXCIsXG4gICAgXCJCT0RZX0NPTE9SXCI6IFwiRsOkcmdcIixcbiAgICBcIlRFWFRfQUxJR05NRU5UXCI6IFwiVGV4dHBsYWNlcmluZ1wiLFxuICAgIFwiTEVGVFwiOiBcIlbDpG5zdGVyXCIsXG4gICAgXCJDRU5URVJcIjogXCJNaXR0anVzdGVyYXJlXCIsXG4gICAgXCJSSUdIVFwiOiBcIkjDtmdlclwiLFxuICAgIFwiRk9OVF9GQU1JTFlcIjogXCJGb250LWZhbWlsalwiLFxuICAgIFwiRk9OVF9TSVpFXCI6IFwiRm9udHN0b3JsZWtcIixcbiAgICBcIkNPTlRFTlRcIjogXCJJbm5laMOlbGxcIixcbiAgICBcIklDT05cIjogXCJJa29uXCIsXG4gICAgXCJOT05FXCI6IFwiSW5nZW5cIixcbiAgICBcIk1FU1NBR0VcIjogXCJNZWRkZWxhbmRlXCIsXG4gICAgXCJVU0VSXCI6IFwiQW52w6RuZGFyZVwiLFxuICAgIFwiVEFTS1wiOiBcIlVwcGdpZnRcIixcbiAgICBcIlRSQU5TQUNUSU9OXCI6IFwiVHJhbnNha3Rpb25cIixcbiAgICBcIkVWRU5UX1NVQl9QUk9DRVNTXCI6IFwiZXZlbnQtc3ViLXByb2Nlc3NcIixcbiAgICBcIkNBTExfQUNUSVZJVFlcIjogXCJzYW10YWxzYWt0aXZpdGV0XCIsXG4gICAgXCJTVUJfUFJPQ0VTU1wiOiBcIlN1Yi1wcm9jZXNzXCIsXG4gICAgXCJTVEFSVFwiOiBcIlN0YXJ0XCIsXG4gICAgXCJFTkRcIjogXCJTbHV0XCIsXG4gICAgXCJJTlRFUk1FRElBVEVcIjogXCJNZWxsYW5saWdnYW5kZVwiLFxuICAgIFwiQ0FOQ0VMXCI6IFwiQW5udWxsZXJhXCIsXG4gICAgXCJDQU5DRUxfT1VMSU5FRFwiOiBcIkF2YnJ5dCBza2lzc2VyYWRcIixcbiAgICBcIkNBTkNFTF9GSUxMRURcIjogXCJBdmJyeXQgZnlsbGRcIixcbiAgICBcIkNPTVBFTlNBVElPTl9PVUxJTkVEXCI6IFwiRXJzw6R0dG5pbmcgc2tpc3NlcmFkXCIsXG4gICAgXCJDT01QRU5TQVRJT05fRklMTEVEXCI6IFwiRXJzw6R0dG5pbmdlbiBmeWxsZFwiLFxuICAgIFwiQ09ORElUSU9OQUxcIjogXCJWaWxsa29ybGlnXCIsXG4gICAgXCJFUlJPUl9PVUxJTkVEXCI6IFwiRmVsIGFuZ2l2ZXRcIixcbiAgICBcIkVSUk9SX0ZJTExFRFwiOiBcIkZlbGV0IGZ5bGx0XCIsXG4gICAgXCJFU0NBTEFUSU9OX09VTElORURcIjogXCJFc2thbGVyaW5nIGZvZHJhZFwiLFxuICAgIFwiRVNDQUxBVElPTl9GSUxMRURcIjogXCJFc2thbGVyaW5nIGZ5bGxkXCIsXG4gICAgXCJMSU5LX09VTElORURcIjogXCJMw6Rua2tvbnR1clwiLFxuICAgIFwiTElOS19GSUxMRURcIjogXCJMw6Rua2VuIGZ5bGxkXCIsXG4gICAgXCJNRVNTQUdFX09VTElORURcIjogXCJNZWRkZWxhbmRldCBza2lzc2VyYXRcIixcbiAgICBcIk1FU1NBR0VfRklMTEVEXCI6IFwiTWVkZGVsYW5kZXQgZnlsbHRcIixcbiAgICBcIk1VTFRJUExFX09VTElORURcIjogXCJGbGVyYSBza2lzc2VyYWRlXCIsXG4gICAgXCJNVUxUSVBMRV9GSUxMRURcIjogXCJGbGVyYSBmeWxsZGFcIixcbiAgICBcIlBBUkFMTEVMX01VTFRJUExFXCI6IFwiUGFyYWxsZWxsIG11bHRpcGVsXCIsXG4gICAgXCJURVJNSU5BVElPTl9PVUxJTkVEXCI6IFwiVXBwc8OkZ25pbmcgc2tpc3NlcmFkXCIsXG4gICAgXCJURVJNSU5BVElPTl9GSUxMRURcIjogXCJVcHBzw6RnbmluZyBmeWxsZFwiLFxuICAgIFwiVElNRVJcIjogXCJUaW1lclwiLFxuICAgIFwiU0lHTkFMX09VTElORURcIjogXCJTaWduYWxlbiBza2lzc2VyYWRcIixcbiAgICBcIlNJR05BTF9GSUxMRURcIjogXCJTaWduYWxlbiBmeWxsZFwiLFxuICAgIFwiUEFSQUxMRUxfT1VMSU5FRFwiOiBcIlBhcmFsbGVsbHQga29udHVyXCIsXG4gICAgXCJQQVJBTExFTF9GSUxMRURcIjogXCJQYXJhbGxlbGx0IGZ5bGxkXCIsXG4gICAgXCJTVUJfVFlQRVwiOiBcIlVuZGVydHlwXCIsXG4gICAgXCJUUkFOU1BBUkVOQ1lcIjogXCJHZW5vbXNraW5saWdoZXRcIixcbiAgICBcIkxBQkVMXCI6IFwiTcOkcmthXCIsXG4gICAgXCJURVhUXCI6IFwiVGV4dFwiLFxuICAgIFwiUE9TSVRJT05cIjogXCJQbGFjZXJpbmdcIixcbiAgICBcIkxBQkVMU1wiOiBcIkV0aWtldHRlclwiLFxuICAgIFwiTk9STUFMXCI6IFwiVmFubGlndFwiLFxuICAgIFwiQVNTT0NJQVRJT05cIjogXCJBc3NvY2lhdGlvblwiLFxuICAgIFwiQ09OVkVSU0FUSU9OXCI6IFwiS29udmVyc2F0aW9uXCIsXG4gICAgXCJQQVJUSUNQQU5UU1wiOiBcIkRlbHRhZ2FyZVwiLFxuICAgIFwiSU5JVElBVElOR19QQVJUSUNJUEFOVFwiOiBcIkluaXRpZXJhbmRlIGRlbHRhZ2FyZVwiLFxuICAgIFwiUFJJTUFSWV9DT0xPUlwiOiBcIkh1dnVkZsOkcmdcIixcbiAgICBcIlNFQ09OREFSWV9DT0xPUlwiOiBcIlNla3VuZMOkciBmw6RyZ1wiLFxuICAgIFwiQ0FMTC1DT05WRVJTQVRJT05cIjogXCJSaW5nIHNhbXRhbGV0XCIsXG4gICAgXCJBRERfTEFORVNcIjogXCJMw6RnZyB0aWxsIGvDtnJmw6RsdFwiLFxuICAgIFwiUEVSQ0VOVEFHRVwiOiBcIlByb2NlbnRzYXRzXCIsXG4gICAgXCJBRERfU1VCTEFORVNcIjogXCJMw6RnZyB0aWxsIGvDtnJmw6RsdFwiLFxuICAgIFwiSEVBREVSX0NPTE9SXCI6IFwiUnVicmlrZsOkcmdcIixcbiAgICBcIkxBTkVfQk9EWV9DT0xPUlwiOiBcIkxhbmUgQm9keSBDb2xvclwiLFxuICAgIFwiTEFORV9IRUFERVJfQ09MT1JcIjogXCJGaWxodXZ1ZGV0cyBmw6RyZ1wiLFxuICAgIFwiT1BFTl9BX1BSSU5UX0RJQUxPR1wiOiBcIsOWcHBuYSBlbiB1dHNrcmlmdHNkaWFsb2dydXRhXCIsXG4gICAgXCJPUEVOX0FTX0pTT05cIjogXCLDlnBwbmEgc29tIEpTT05cIixcbiAgICBcIlpPT01fSU5cIjogXCJab29tYSBpblwiLFxuICAgIFwiWk9PTV9PVVRcIjogXCJab29tYSB1dFwiLFxuICAgIFwiWk9PTV9UT19GSVRcIjogXCJab29tYSBmw7ZyIGF0dCBwYXNzYVwiLFxuICAgIFwiU0VORF9UT19GUk9OVFwiOiBcIlNraWNrYSB0aWxsIGZyb250ZW5cIixcbiAgICBcIkJSSU5HX09CSkVDVF9UT19GUk9OVFwiOiBcIkZseXR0YSBvYmpla3RldCBmcmFtw6V0IHRpbGwgZnJvbnRlblwiLFxuICAgIFwiU0VORF9UT19CQUNLXCI6IFwiU2tpY2thIGkgcnlnZ2VuXCIsXG4gICAgXCJCUklOR19PQkpFQ1RfVE9fQkFDS1wiOiBcIkZseXR0YSBvYmpla3RldCBiYWvDpXRcIixcbiAgICBcIkNMRUFSX1BBUEVSXCI6IFwiVMO2bW1hXCIsXG4gICAgXCJVTkRPXCI6IFwiw4VuZ3JhXCIsXG4gICAgXCJSRURPXCI6IFwiVXBwcmVwYVwiLFxuICAgIFwiU0VMRUNUX1RFTVBMQVRFXCI6IFwiVsOkbGogbWFsbFwiLFxuICAgIFwiREVMRVRFX1RFTVBMQVRFXCI6IFwiVGEgYm9ydCBtYWxsXCIsXG4gICAgXCJTQVZFX0FTX1RFTVBMQVRFXCI6IFwiU3BhcmEgc29tIG1hbGxcIixcbiAgICBcIlJFU0VUX1RPX0xBU1RfU0FWRVwiOiBcIlNsw6RuZyBvc3BhcmFkZSDDpG5kcmluZ2FyXCIsXG4gICAgXCJHUklEX1NJWkVcIjogXCJSdXRuw6R0c3N0b3JsZWtcIixcbiAgICBcIkNIQU5HRV9HUklEX1NJWkVcIjogXCLDpG5kcmEgcnV0c3Rvcmxla1wiLFxuICAgIFwiU05BUExJTkVTXCI6IFwiSGrDpGxwbGluamVyOlwiLFxuICAgIFwiRU5BQkxFX0RJU0FCTEVfU05BUExJTkVTXCI6IFwiQWt0aXZlcmEvaW5ha3RpdmVyYSBoasOkbHBsaW5qZXJcIixcbiAgICBcIkxJTkVfQ09MT1JcIjogXCJMaW5qZWbDpHJnXCIsXG4gICAgXCJCT0RZX0xJTkVfQ09MT1JcIjogXCJLcm9wcHNsaW5qZWbDpHJnXCIsXG4gICAgXCJUWVBFX0NPTE9SXCI6IFwiVHlwIEbDpHJnXCIsXG4gICAgXCJNQVJLRVJcIjogXCJNYXJrw7ZyZXJcIixcbiAgICBcIk1BUktFUl9DT0xPUlwiOiBcIk1hcmvDtnJlciBGw6RyZ1wiLFxuICAgIFwiVE9QX0NPTE9SXCI6IFwiVG9wcGbDpHJnXCIsXG4gICAgXCJUT1BfTElORV9DT0xPUlwiOiBcIlRvcCBMaW5lIEbDpHJnXCIsXG4gICAgXCJDT0xMRUNUSU9OXCI6IFwiU2FtbGluZ1wiLFxuICAgIFwiQ09MTEVDVElPTl9DT0xPUlwiOiBcIlNhbWxpbmcgRsOkcmdcIixcbiAgICBcIlNJWkVcIjogXCJTdG9ybGVrXCIsXG4gICAgXCJIRUFERVJfU0laRVwiOiBcIlJ1YnJpa3N0b3JsZWtcIixcbiAgICBcIkhFQURFUlwiOiBcIlJ1YnJpa1wiLFxuICAgIFwiSEVBREVSX1NUUk9LRV9DT0xPUlwiOiBcIlJ1YnJpa2VucyBzdHJlY2tmw6RyZ1wiLFxuICAgIFwiSEVBREVSX0xBQkVMX0NPTE9SXCI6IFwiUnVicmlrZXRpa2V0dGVucyBmw6RyZ1wiLFxuICAgIFwiTEFORV9TVFJPS0VfQ09MT1JcIjogXCJMYW5lIFN0cm9rZSBGw6RyZ1wiLFxuICAgIFwiTEFORV9IRUFERVJfU1RST0tFXCI6IFwiTGFuZSBIZWFkZXIgU3Ryb2tlXCIsXG4gICAgXCJMQU5FX0xBQkVMX0NPTE9SXCI6IFwiTGFuZSBMYWJlbCBGw6RyZ1wiLFxuICAgIFwiTUlMRVNUT05FX0hFQURFUl9GSUxMXCI6IFwiTWlsc3RvbHBlIEhlYWRlciBGeWxsXCIsXG4gICAgXCJNSUxFU1RPTkVfU1RST0tFXCI6IFwiTWlsc3RvbHBlIFN0cm9rZVwiLFxuICAgIFwiTUlMRVNUT05FX0xBQkVMX0NPTE9SXCI6IFwiTWlsc3RvbHBlIGV0aWtldHQgZsOkcmdcIixcbiAgICBcIk1JTEVTVE9ORV9MSU5FX0NPTE9SXCI6IFwiTWlsZXN0b25lIExpbmUgQ29sb3JcIixcbiAgICBcIkhFQURFUl9BTElHTk1FTlRcIjogXCJSdWJyaWtqdXN0ZXJpbmdcIixcbiAgICBcIkhFQURFUl9GT05UX0ZBTUlMWVwiOiBcIkhlYWRlciBGb250IGZhbWlsalwiLFxuICAgIFwiSEVBREVSX0ZPTlRfU0laRVwiOiBcIkhlYWRlciBGb250IHN0b3JsZWtcIixcbiAgICBcIkxBTkVfQUxJR05NRU5UXCI6IFwiS8O2cmbDpGx0c2lucmlrdG5pbmdcIixcbiAgICBcIkxBTkVfRk9OVF9GQU1JTFlcIjogXCJMYW5lIEZvbnQgZmFtaWxqXCIsXG4gICAgXCJMQU5FX0ZPTlRfU0laRVwiOiBcIkxhbmUgVGVja2Vuc3Rvcmxla1wiLFxuICAgIFwiTUlMRVNUT05FX0FMSUdOTUVOVFwiOiBcIk1pbHN0b2xwZWp1c3RlcmluZ1wiLFxuICAgIFwiTUlMRVNUT05FX0ZPTlRfRkFNSUxZXCI6IFwiTWlsZXN0b25lIEZvbnQgZmFtaWx5XCIsXG4gICAgXCJNSUxFU1RPTkVfRk9OVF9TSVpFXCI6IFwiTWlsZXN0b25lIEZvbnQgZmFtaWx5XCIsXG4gICAgXCJURVhUX0NPTE9SXCI6IFwiVGV4dCBGYXJnZVwiLFxuICAgIFwiVEVYVF9IRUFERVJfQ09MT1JcIjogXCJIZWFkZXIgVGV4dCBGYXJnZVwiLFxuICAgIFwiVEVYVF9CQUNLR1JPVU5EX0NPTE9SXCI6IFwiQmFrZ3J1bmQgVGV4dCBGYXJnZVwiLFxuICAgIFwiVEVYVF9JTlNJREVfU0hBUEVcIjogXCJWaXMgdGV4dGVuIGlubmkgZmlndXJcIixcbiAgICBcIlRFTVBMQVRFX05BTUVcIjogXCJNYWxuYW1uXCIsXG4gICAgXCJURU1QTEFURV9JTkZPXCI6IFwiVsOkbmxpZ2VuIHNrcml2IGRpdHQgbmFtblwiLFxuICAgIFwiU0VMRUNUX1RFTVBMQVRFX0lORk9STUFUSU9OXCI6IFwiRHUgbcOlIHbDpGxqYSBlbiBtYWxlbiBpbm5hbiBkdSB1dGbDtnIgZGVubmEgaGFuZGxpbmcuXCIsXG4gICAgXCJDT05ORUNUSU9OXCI6IFwiRsO2cmJpbmRlbHNlXCIsXG4gICAgXCJQUk9QRVJUSUVTXCI6IFwiRWdlbnNrYXBlclwiLFxuICAgIFwiQlVTSU5FU1NfUFJPQ0VTU19NT0RFTF9BTkRfTk9UQVRJT05cIjogXCJBZmbDpHJzcHJvY2Vzc21vZGVsbCBvY2ggbm90YXRpb25cIixcbiAgICBcIkNPTk5FQ1RFRF9BVFRBQ0hNRU5UXCI6IFwiQmlmb2dhZCBiaWxhZ2FcIixcbiAgICBcIkNPTk5FQ1RFRF9ET0NVTUVOVF9PUl9QUk9DRVNTXCI6IFwiTMOkbmthZGUgZG9rdW1lbnRldC9wcm9jZXNzZW5cIixcbiAgICBcIkRFTEVURV9BVFRBQ0hNRU5UXCI6IFwiVGEgYm9ydCBiaWxhZ29yXCIsXG4gICAgXCJERUxFVEVfRE9DVU1FTlRfT1JfUFJPQ0VTU1wiOiBcIlRhIGJvcnQgZG9rdW1lbnRldC9wcm9jZXNzZW5cIixcbiAgICBcIkNIT09TRV9BTkNIT1JfSU5fVEVYVF9PUFRJT05BTFwiOiBcIlbDpGxqIGFua2FyZSBpIHRleHQgKHZhbGZyaXR0KVwiLFxuICAgIFwiUkVMT0FEX0FOQ0hPUlNcIjogXCJMYWRkYSBvbSBhbmthcmVcIixcbiAgICBcIlJFU0VUX1RPX09SSUdJTkFMXCI6IFwiSWdub3JlcmEgw6RuZHJpbmdhclwiLFxuICAgIFwiQVVUT19MQVlPVVRfR1JBUEhcIjogXCJBdXRvLWxheW91dCBncmFmXCIsXG4gICAgXCJGVUxMU0NSRUVOXCI6IFwiSGVsc2vDpHJtc3Zpc25pbmdcIixcbiAgICBcIkZMT1dDSEFSVFwiOiBcIkZsw7ZkZXNzY2hlbWFcIixcbiAgICBcIkhBTkRCT09LXCI6IFwiZS1oYW5kYm9rXCIsXG4gICAgXCJUT0dHTEVfRlVMTF9TQ1JFRU5cIjogXCJWw6R4bGEgbWVsbGFuIGhlbHNrw6RybVwiLFxuICB9LFxuICBcIlFNU0NLRURJVE9SX01FU1NBR0VcIjoge1xuICAgIFwiQ09ORklSTV9ERUxFVEVfVEVNUExBVEVcIjogXCLDhHIgZHUgc8Oka2VyIHDDpSBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbiBow6RyIG1hbGxlbj8/XCIsXG4gICAgXCJDT05GSVJNX0NIQU5HRV9URU1QTEFURVwiOiBcIsOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIGFudsOkbmRhIGRlbiBow6RyIG1hbGxlbiBpIHJlZGlnZXJhcmVuPz9cIixcbiAgICBcIkNPTkZJUk1fREVMRVRFX0VYSVNUSU5HX0NPTk5FQ1RJT05cIjogXCJEdSBtw6VzdGUgdGEgYm9ydCBkZW4gYmVmaW50bGlnYSBhbnNsdXRuaW5nZW4gaW5uYW4gZHUgdXRmw7ZyIGRlbiBow6RyIMOldGfDpHJkZW4uXCIsXG4gICAgXCJDT05GSVJNX0RFTEVURV9BVFRBQ0hNRU5UXCI6IFwiw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgdGEgYm9ydCBkZW4gaMOkciBsw6Rua2VuP1wiLFxuICAgIFwiQ09ORklSTV9ERUxFVEVfRE9DVU1FTlRfT1JfUFJPQ0VTU1wiOiBcIsOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHRhIGJvcnQgZGV0IGjDpHIgZG9rdW1lbnRldC9wcm9jZXNzZW4/XCIsXG4gIH0sXG4gIFwiRkxPV0NIQVJUXCI6IHtcbiAgICBcIlJFTU9WRV9FTEVNRU5UXCI6ICdLbGlja2EgZsO2ciBhdHQgdGEgYm9ydCBvYmpla3RldCcsXG4gICAgXCJDTE9ORV9BTkRfQ09OTkVDVFwiOiAnS2xpY2thIG9jaCBkcmEgZsO2ciBhdHQga2xvbmEgb2NoIGJpZm9nYSBvYmpla3RldCBww6UgZW4gZ8OlbmcnLFxuICAgIFwiQ0xPTkVcIjogJ0tsaWNrYSBvY2ggZHJhIGbDtnIgYXR0IGtsb25hIG9iamVrdGV0JyxcbiAgICBcIkJSRUFLX0FMTF9DT05ORUNUSU9OU1wiOiAnS2xpY2thIGbDtnIgYXR0IGJyeXRhIGFsbGEga29wcGxpbmdhciB0aWxsIGFuZHJhIG9iamVrdCcsXG4gICAgXCJDT05ORUNUXCI6ICdLbGlja2Egb2NoIGRyYSBmw7ZyIGF0dCBhbnNsdXRhIHRpbGwgb2JqZWt0ZXQnLFxuICAgIFwiUk9UQVRFXCI6ICdLbGlja2Egb2NoIGRyYSBmw7ZyIGF0dCByb3RlcmEgb2JqZWt0ZXQnLFxuICAgIFwiUkVNT1ZFX1NFTEVDVEVEX0VMRU1FTlRcIjogJ0tsaWNrYSBmw7ZyIGF0dCB0YSBib3J0IGRlIG1hcmtlcmFkZSBvYmpla3RlbicsXG4gICAgXCJST1RBVEVfU0VMRUNURURfRUxFTUVOVFwiOiAnS2xpY2thIG9jaCBkcmEgZsO2ciBhdHQgcm90ZXJhIGRlIG1hcmtlcmFkZSBvYmpla3RlbicsXG4gICAgXCJSRVNJWkVfU0VMRUNURURfRUxFTUVOVFwiOiAnS2xpY2thIG9jaCBkcmEgZsO2ciBhdHQgw6RuZHJhIHN0b3JsZWsgcMOlIGRlIG1hcmtlcmFkZSBvYmpla3RlbicsXG4gICAgXCJSRUNUQU5HTEVcIjogJ1Jla3RhbmdlbCcsXG4gICAgXCJFTExJUFNFXCI6ICdFbGxpcHMnLFxuICAgIFwiUkVDVEFOR0xFX1dJVEhfUE9SVFNcIjogJ1Jla3RhbmdlbCBtZWQgZ3JpbmRhcicsXG4gICAgXCJFTExJUFNFX1dJVEhfUE9SVFNcIjogJ0VsbGlwcyBtZWQgZ3JpbmRhcicsXG4gICAgXCJSSE9NQlVTXCI6ICdSb21iJyxcbiAgICBcIkNZTElOREVSXCI6ICdTeWxpbmRlcicsXG4gICAgXCJJTUFHRVwiOiAnQmlsZCcsXG4gICAgXCJDQVJEXCI6ICdLb3J0JyxcbiAgICBcIklDT05cIjogJ0lrb24nLFxuICAgIFwiUkVDVEFOR0xFX1dJVEhfSEVBREVSXCI6ICdSZWt0YW5nZWwgbWVkIHJ1YnJpaycsXG4gICAgXCJTVEFSVF9TVEFURVwiOiAnSW5pdGlhbCBzdGF0dXMnLFxuICAgIFwiRU5EX1NUQVRFXCI6ICdTbHV0bMOkZ2UnLFxuICAgIFwiU1RBVEVcIjogJ1N0YXQnLFxuICAgIFwiUExBQ0VcIjogJ1BsYXRzJyxcbiAgICBcIlRSQU5TSVRJT05cIjogJ8OWdmVyZ8OlbmcnLFxuICAgIFwiRU5USVRZXCI6ICdFbnRpdGV0JyxcbiAgICBcIldFQUtfRU5USVRZXCI6ICdTdmFnIGVuaGV0JyxcbiAgICBcIlJFTEFUSU9OU0hJUFwiOiAnUmVsYXRpb24nLFxuICAgIFwiSURFTlRJRllJTkdfUkVMQVRJT05TSElQXCI6ICdJZGVudGlmaWVyYSB2aWxsa29yJyxcbiAgICBcIklTQVwiOiAnSVNBJyxcbiAgICBcIktFWVwiOiAnTnlja2VsJyxcbiAgICBcIk5PUk1BTFwiOiAnVmFubGlndCcsXG4gICAgXCJNVUxUSVZBTFVFRFwiOiAnRmxlcnbDpHJkaWd0JyxcbiAgICBcIkRFUklWRURcIjogJ0jDpHJsZWRkJyxcbiAgICBcIkNMQVNTXCI6ICdLbGFzcycsXG4gICAgXCJJTlRFUkZBQ0VcIjogJ0dyw6Ruc3NuaXR0JyxcbiAgICBcIkFCU1RSQUNUXCI6ICdBYnN0cmFrdCcsXG4gICAgXCJNRU1CRVJcIjogJ01lZGxlbScsXG4gICAgXCJVTkRPXCI6ICfDhW5ncmEnLFxuICAgIFwiUkVET1wiOiAnRsO2csOkbmRyYScsXG4gICAgXCJDTEVBUl9QQVBFUlwiOiAnVG9tdCBwYXBwZXInLFxuICAgIFwiRVhQT1JUX1NWR1wiOiAnw5ZwcG5hIHNvbSBTVkcgaSBlbiBwb3B1cCcsXG4gICAgXCJFWFBPUlRfUE5HXCI6ICfDlnBwbmEgc29tIFBORyBpIGVuIHBvcHVwJyxcbiAgICBcIlBSSU5UXCI6ICfDhXBuZSBlbiB1dHNrcmlmdHNkaWFsb2dib2tzJyxcbiAgICBcIlNFTkRfVE9fRlJPTlRcIjogJ1RhIGZyYW0gZsO2cmVtw6VsZXQnLFxuICAgIFwiU0VORF9UT19CQUNLXCI6ICdTa2lja2Egb2JqZWt0IHRpbGwgYmFrc2lkYW4nLFxuICAgIFwiQVVUT19MQVlPVVRfR1JBUEhcIjogJ0F1dG8tbGF5b3V0IGdyYWYnLFxuICAgIFwiWk9PTV9UT19GSVRcIjogJ1pvb21hIGbDtnIgYXR0IHBhc3NhJyxcbiAgICBcIlpPT01fT1VUXCI6ICdab29tYSB1dCcsXG4gICAgXCJaT09NX0lOXCI6ICdab29tYSBpbicsXG4gICAgXCJDSEFOR0VfR1JJRF9TSVpFXCI6ICfDhG5kcmEgcnV0bsOkdHNzdG9ybGVrJyxcbiAgICBcIlNOQVBMSU5FU1wiOiAnw4RuZHJhIHJ1dG7DpHRzc3RvcmxlaycsXG4gICAgXCJGVUxMU0NSRUVOXCI6ICdWw6R4bGEgaGVsc2vDpHJtc2zDpGdlJyxcbiAgICBcIlNFTEVDVF9URU1QTEFURVwiOiBcIlbDpGxqIG1hbGxcIixcbiAgICBcIkRFTEVURV9URU1QTEFURVwiOiBcIlRhIGJvcnQgbWFsbFwiLFxuICAgIFwiU0FWRV9BU19URU1QTEFURVwiOiBcIlNwYXJhIHNvbSBtYWxsXCIsXG4gICAgXCJSRVNFVF9UT19MQVNUX1NBVkVcIjogXCJTbMOkbmcgb3NwYXJhZGUgw6RuZHJpbmdhclwiXG4gIH1cbn1cbiJdfQ==
439
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3YuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9xbXMtYW5ndWxhci9zcmMvbGliL21vZGVsL3N2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsVUFBVTtJQUNyQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsY0FBYyxFQUFFLGVBQWU7SUFDL0IsYUFBYSxFQUFFLE9BQU87SUFDdEIsZUFBZSxFQUFFLFdBQVc7SUFDNUIsd0JBQXdCLEVBQUUsZ0NBQWdDO0lBQzFELFFBQVEsRUFBRSxPQUFPO0lBQ2pCLE1BQU0sRUFBRSxVQUFVO0lBQ2xCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsUUFBUSxFQUFFLFdBQVc7SUFDckIsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLHNCQUFzQixFQUFFLDBDQUEwQztJQUNsRSwyQkFBMkIsRUFBRSw2QkFBNkI7SUFDMUQsa0JBQWtCLEVBQUUsdUJBQXVCO0lBQzNDLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxVQUFVO0lBQ3ZCLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLFlBQVksRUFBRSxXQUFXO0lBQ3pCLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsZUFBZSxFQUFFLHlEQUF5RDtJQUMxRSxlQUFlLEVBQUUsaUZBQWlGO0lBQ2xHLGlCQUFpQixFQUFFLGdCQUFnQjtJQUNuQyxVQUFVLEVBQUUsU0FBUztJQUNyQixZQUFZLEVBQUUsSUFBSTtJQUNsQixhQUFhLEVBQUUsSUFBSTtJQUNuQixjQUFjLEVBQUUsZ0JBQWdCO0lBQ2hDLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGdC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b25zdCBzdiA9IHtcbiAgXCJSRVNVTFRTXCI6IFwiUmVzdWx0YXRcIixcbiAgXCJST1dfUEVSX1BBR0VcIjogXCJSYWRlciBwZXIgc2lkYVwiLFxuICBcIkpVTV9UT19QQUdFXCI6IFwiSG9wcGEgw6V0IHNpZGFuXCIsXG4gIFwiTVlfQ09NUE9ORU5UXCI6IFwiTWluIGtvbXBvbmVudFwiLFxuICBcIlNBVkVfQlVUVE9OXCI6IFwiU3BhcmFcIixcbiAgXCJDQU5DRUxfQlVUVE9OXCI6IFwiQW5udWxsZXJhXCIsXG4gIFwiREVMRVRFX01FU1NBR0VfQ09NTUVOVFwiOiBcIkRldHRhIG1lZGRlbGFuZGUgaGFyIHJhZGVyYXRzLlwiLFxuICBcIlJFR1JFVFwiOiBcIsOFbmdyYVwiLFxuICBcIkVESVRcIjogXCJSZWRpZ2VyYVwiLFxuICBcIkRFTEVURVwiOiBcIlJhZGVyYVwiLFxuICBcIlNBVkVcIjogXCJTcGFyYVwiLFxuICBcIkNBTkNFTFwiOiBcIkFubnVsbGVyYVwiLFxuICBcIkVESVRfRklMRV9OQU1FXCI6IFwiUmVkaWdlcmEgZmlsbmFtblwiLFxuICBcIkZJTEVfTkFNRVwiOiBcIkZpbG5hbW5cIixcbiAgXCJVUExPQURfTEVBVkVfV0FSTklOR1wiOiBcIkZpbGVybmEgZHUgbGFkZGFyIHVwcCBrYW5za2UgaW50ZSBzcGFyYXNcIixcbiAgXCJTT01FX0ZJTEVTX1dFUkVfTk9UX0FEREVEXCI6IFwiVmlzc2EgZmlsZXIgbGFkZXMgaW50ZSB0aWxsXCIsXG4gIFwiWU9VX0NBTl9PTkxZX0FERFwiOiBcIkR1IGthbiBiYXJhIGxhZGRhIHVwcFwiLFxuICBcIlNFTEVDVFwiOiBcIlbDpGxqXCIsXG4gIFwiUFJPQ0VTU0VTXCI6IFwiUHJvY2Vzc2VyXCIsXG4gIFwiRE9DVU1FTlRTXCI6IFwiRG9rdW1lbnRcIixcbiAgXCJERVZJQVRJT05cIjogXCJLYXRlZ29yaWVyXCIsXG4gIFwiQ0hFQ0tMSVNUXCI6IFwiQ2hlY2tsaXN0b3JcIixcbiAgXCJBU1NFU1NNRU5UXCI6IFwiQW5hbHlzZXJhXCIsXG4gIFwiQUREXCI6IFwiTMOkZ2cgdGlsbFwiLFxuICBcIlNFQVJDSFwiOiBcIlPDtmtcIixcbiAgXCJSRUdVTEFSX1RJVExFXCI6IFwiVmlsa2EgaMOkbmRlbHNlciB2aWxsIGR1IGhhIG1lZCBpIHJpc2thbmFseXNlbi9yaXNrZXJuYT9cIixcbiAgXCJDQVBUSU9OX1RJVExFXCI6IFwiSSBvcnNha3NhbmFseXNlciBsw6RnZ3MgYWxsYSBvcnNha2VyIHJlbGF0ZXJhZGUgdGlsbCBow6RuZGVsc2VuIGF1dG9tYXRpc2t0IHRpbGwuXCIsXG4gIFwiQ0FVU0FMX0FOQUxZWkVTXCI6IFwiVmFsZGEgYW5hbHlzZXJcIixcbiAgXCJGSU5JU0hFRFwiOiBcIkbDpHJkaWdhXCIsXG4gIFwiUFJPQ0VTU19JRFwiOiBcIklEXCIsXG4gIFwiRE9DVU1FTlRfSURcIjogXCJJRFwiLFxuICBcIlBST0NFU1NfQVJFQVwiOiBcIlByb2Nlc3NvbXLDpWRlblwiLFxuICBcIkZPTERFUlwiOiBcIm1hcHBcIixcbiAgXCJERVZJQVRJT05fVFlQRVwiOiBcIkZhbGwgdHlwXCIsXG4gIFwiQ0hFQ0tMSVNUX0NBVEVHT1JZXCI6IFwiS2F0ZWdvcmllclwiLFxuICBcIkVWRU5UXCI6IFwiSMOkbmRlbHNlXCIsXG4gIFwiQVJFQV9PRl9JTVBBQ1RcIjogXCJLb25zZWt2ZW5zb21yw6VkZVwiLFxuICBcIlJFU1VMVFwiOiBcIlJlc3VsdGF0XCIsXG4gIFwiTk9UX0FDQ0VQVEVEXCI6IFwiSW50ZSBhY2NlcHRlcmFkXCIsXG4gIFwiTVVTVF9CRV9FVkFMVUFURURcIjogXCJNw6VzdGUgw7Z2ZXJ2w6RnYXNcIixcbiAgXCJBQ0NFUFRFRFwiOiBcIkFjY2VwdGVyYWRcIixcbiAgXCJBUkNISVZFRFwiOiBcIkFya2l2ZXJhZFwiLFxuICBcIkNBVVNFXCI6IFwiT3JzYWtcIixcbiAgXCJQQUdFXCI6IFwiU2lkYVwiLFxuICBcIk9GXCI6IFwiYXZcIixcbiAgXCJSRVBPUlRfRk9SXCI6IFwiUmFwcG9ydCBmw7ZyXCIsXG4gIFwiU0VMRUNURURcIjogXCJWYWxndGVcIixcbiAgXCJDSE9PU0VfQUxMXCI6IFwidsOkbGogYWxsYVwiLFxuICBcIkJSRUFEQ1JVTUJcIjogXCJTdHLDtmJyw7ZkXCIsXG4gIFwiTkFWSUdBVEVfVE9cIjogXCJOYXZpZ2VyYSB0aWxsXCIsXG4gIFwiRklMRV9TSVpFX0xJTUlUXCI6IFwiRmlsc3Rvcmxla3NncsOkbnNcIixcbiAgXCJTVVBQT1JURURfRVhURU5TSU9OU1wiOiBcIlRpbGzDpGdnIHNvbSBzdMO2ZHNcIixcbiAgXCJGSUxFU19BUkVfTk9UX1NVUFBPUlRFRFwiOiBcIkZpbChlcikgc3TDtmRzIGludGVcIixcbiAgXCJGSUxFU19FWENFRURfVVBMT0FEX0xJTUlUXCI6IFwiRmlsKGVyKSDDtnZlcnNrcmlkZXIgZ3LDpG5zZW4gZsO2ciB1cHBsYWRkbmluZ3NzdG9ybGVrXCIsXG4gIFwiU0VMRUNUX0FDQ0VTU1wiOiBcIlbDpGxqIGFuc3ZhcmlnYSBwZXJzb25lclwiLFxuICBcIlBFUlNPTlwiOiBcIlBlcnNvblwiLFxuICBcIlVTRVJfR1JPVVBcIjogXCJBbnbDpG5kYXJncnVwcFwiLFxuICBcIkRFUEFSVE1FTlRcIjogXCJBdmRlbG5pbmdcIixcbiAgXCJST0xFXCI6IFwiUm9sbFwiLFxuICBcIkRFUEFSVE1FTlRfVU5JVFwiOiBcIkF2ZGVsbmluZy9lbmhldFwiLFxuICBcIklOQ0xVREVfU1VCX0RFUEFSVE1FTlRTXCI6IFwiSW5rbHVkZXJhIGF1dG9tYXRpc2t0IHVuZGVyYXZkZWxuaW5nYXJcIixcbiAgXCJOQU1FXCI6IFwibmFtblwiLFxuICBcIlNFQVJDSF9VU0VSX0dST1VQXCI6IFwiU8O2ayBhbnbDpG5kYXJncnVwcFwiLFxuICBcIlNFQVJDSF9ERVBBUlRNRU5UX1VOSVRcIjogXCJTw7ZrYXZkZWxuaW5nL2VuaGV0XCIsXG4gIFwiRklMVEVSXCI6IFwiQW52w6RuZCBmaWx0ZXJcIixcbiAgXCJUWVBFXCI6IFwiVHlwXCIsXG4gIFwiU0VBUkNIX1dJVEhfTkFNRVwiOiBcIlPDtmsgZWZ0ZXIgZsO2ci0gb2NoIGVmdGVybmFtblwiLFxuICBcIlJFU1VMVF9TRUFSQ0hfRk9SXCI6IFwiU8O2ayByZXN1bHRhdCBlZnRlclwiLFxuICBcIlRPT0xUSVBfSU5DTFVERV9TVUJfREVQQVJUTUVOVFwiOiBcInswfSDigJMgaW5rbHVkZXJhciB7MX0gYmFyblwiLFxuICBcIlRPT0xUSVBfSU5DTFVERV9TVUJfSVRFTVwiOiBcInswfSDigJMgaW5uZWjDpWxsZXIgezF9IHVuZGVyZWxlbWVudFwiLFxuICBcIk5PX1JFU1VMVFwiOiBcIkluZ2V0IHJlc3VsdGF0XCIsXG4gIFwiSVRFTV9OT1RfTUFUQ0hfVE9fVFJFRVwiOiBcIkRlbm5hIGFydGlrZWwgbWF0Y2hhciBpbnRlIHRyw6RkZXRcIixcbiAgXCJFUlJPUlwiOiB7XG4gICAgXCJTRUxFQ1RfREFOR0VSXCI6IFwiRHUgbcOlc3RlIHbDpGxqYSBlbiBlbGxlciBmbGVyYSBow6RuZGVsc2VyXCJcbiAgfSxcbiAgXCJNRVNTQUdFXCI6IHtcbiAgICBcIlBST0NFU1NFU19JTlwiOiBcIlByb2Nlc3NlciBpXCIsXG4gICAgXCJET0NVTUVOVFNfSU5cIjogXCJEb2t1bWVudCBpXCJcbiAgfSxcbiAgXCJTRUxFQ1RfSU5DTFVERV9DSElMRFwiOiBcIlNlbGVjdCBpbmtsdWRlcmFyIGJhcm5cIixcbiAgXCJCQUNLX1RPX1RSRUVcIjogXCJUaWxsYmFrYSB0aWxsIGV0dCB0csOkZFwiLFxuICBcIkdPVE9fU0VBQ0hfUkVTVUxUXCI6IFwiR8OlIHRpbGwgc8O2a3Jlc3VsdGF0ZXRcIixcbiAgXCJRTVNDS0VESVRPUlwiOiB7XG4gICAgXCJJRFwiOiBcIklEXCIsXG4gICAgXCJJTkZPUk1BVElPTlwiOiBcIkluZm9ybWF0aW9uXCIsXG4gICAgXCJSRU1PVkVfTUFQXCI6IFwiVGEgYm9ydCBrYXJ0YW5cIixcbiAgICBcIklNQUdFX01BUF9QUk9QRVJUSUVTXCI6IFwiQmlsZGthcnRhIGVnZW5za2FwZXJcIixcbiAgICBcIklOU0VSVF9UT09MVElQXCI6IFwiU8OkdHQgaSBlbiB2ZXJrdHlnc3NwZXRzXCIsXG4gICAgXCJDT05URU5UXCI6IFwiSW5uZWjDpWxsXCIsXG4gICAgXCJURU1QTEFURVwiOiBcIk1hbGxcIixcbiAgICBcIkNPTlRFTlRfVEVNUExBVEVcIjogXCJJbm5laMOlbGxzbWFsbFwiLFxuICAgIFwiQ1JFQVRFX05FV19URU1QTEFURVwiOiBcIlNrYXBhIGVuIG55IG1hbGxcIixcbiAgICBcIlVQREFURV9URU1QTEFURVwiOiBcIlVwcGRhdGVyYSBtYWxsXCIsXG4gICAgXCJUSVRMRVwiOiBcIlRpdGVsXCIsXG4gICAgXCJERVNDUklQVElPTlwiOiBcIkJlc2tyaXZuaW5nXCIsXG4gICAgXCJTQVZFXCI6IFwiU3BhcmFcIixcbiAgICBcIkNIT09TRV9URU1QTEFURVwiOiBcIlbDpGxqIG1hbGxlbiBkdSB2aWxsIMO2cHBuYSBpIGVkaXRvcm5cIixcbiAgICBcIlJFUExBQ0VfQ09OVEVOVFwiOiBcIkJ5dCB1dCBkZXQgZmFrdGlza2EgaW5uZWjDpWxsZXRcIixcbiAgICBcIlNBVkVEXCI6IFwiU3BhcmFkXCIsXG4gICAgXCJTQVZFX0ZBSUxFRFwiOiBcIlNwYXJuaW5nZW4gbWlzc2x5Y2thZGVzXCIsXG4gICAgXCJERUxFVEVcIjogXCJSYWRlcmFcIixcbiAgICBcIkRFTEVURURcIjogXCJyYWRlcmFkZVwiLFxuICAgIFwiREVMRVRFX0ZBSUxFRFwiOiBcIkRldCBnaWNrIGludGUgYXR0IHRhIGJvcnRcIixcbiAgICBcIkRFTEVURV9URU1QTEFURVwiOiBcIlRhIGJvcnQgbWFsbFwiLFxuICAgIFwiQ0hBTkdFX1RFTVBMQVRFXCI6IFwiw4RuZHJhIG1hbGxcIixcbiAgICBcIkNBTkNFTFwiOiBcIkFubnVsbGVyYVwiLFxuICAgIFwiTElOS1wiOiBcIkluZm9nYS9yZWRpZ2VyYSBsw6Rua1wiLFxuICAgIFwiTElOS19UWVBFXCI6IFwiS29wcGxpbmdzdHlwXCIsXG4gICAgXCJaT09NXCI6IFwiWm9vbVwiLFxuICAgIFwiTElOS19VUkxcIjogXCJVUkxcIixcbiAgICBcIkxJTktfQU5DSE9SX0lOX1RFWFRcIjogXCJMw6RuayB0aWxsIGFua2FyZSBpIHRleHRlblwiLFxuICAgIFwiTElOS19FTUFJTFwiOiBcIkUtcG9zdFwiLFxuICAgIFwiTElOS19BTkNIT1JfRE9DVU1FTlRcIjogXCJGw7ZyYW5rcmEgaSBldHQgYW5uYXQgZG9rdW1lbnRcIixcbiAgICBcIlRBUkdFVFwiOiBcIk3DpWxcIixcbiAgICBcIlRBUlRHRVRfTkVXXCI6IFwiTnl0dCBmw7Zuc3RlciAoX2JsYW5rKVwiLFxuICAgIFwiVEFSR0VUX1RPUE1PU1RcIjogXCJEZXQgw7Z2cmUgZsO2bnN0cmV0IChfdG9wKVwiLFxuICAgIFwiVEFSR0VUX1NBTUVcIjogXCJTYW1tYSBmw7Zuc3RlciAoc2rDpGx2KVwiLFxuICAgIFwiVEFSR0VUX1BBUkVOVFwiOiBcIsOWdmVyb3JkbmF0IGbDtm5zdGVyIChfZsO2csOkbGRlcilcIixcbiAgICBcIlBST1RPQ09MXCI6IFwiUHJvdG9rb2xsXCIsXG4gICAgXCJQUk9UT0NPTF9IVFRQXCI6IFwiaHR0cDovL1wiLFxuICAgIFwiUFJPVE9DT0xfSFRUUFNcIjogXCJodHRwczovL1wiLFxuICAgIFwiUFJPVE9DT0xfRlRQXCI6IFwiZnRwOi8vXCIsXG4gICAgXCJQUk9UT0NPTF9ORVdcIjogXCJueWhldGVyOi8vXCIsXG4gICAgXCJQUk9UT0NPTF9PVEhFUlwiOiBcIjxhbm5hdD5cIixcbiAgICBcIkFEVklTT1JZX1RJVExFXCI6IFwiUsOlZGdpdmFuZGUgdGl0ZWxcIixcbiAgICBcIkhBTkRCT09LXCI6IFwiZS1oYW5kYm9rXCIsXG4gICAgXCJBVFRBQ0hNRU5UXCI6IFwiVmVkbGVnZ1wiLFxuICAgIFwiT0tcIjogXCJPS1wiLFxuICAgIFwiVVJMX0hFQURFUlwiOiBcIlVSTC1pbmZvcm1hdGlvblwiLFxuICAgIFwiQU5DSE9SX1RFWFRfSEVBREVSXCI6IFwiVsOkbGogZXQgYW5rZXJcIixcbiAgICBcIkFOQ0hPUl9CWV9OQU1FXCI6IFwiQW5rZXIgdmVkIG5hbW5cIixcbiAgICBcIkVNQUlMX0hFQURFUlwiOiBcIkUtcG9zdGluZm9ybWF0aW9uXCIsXG4gICAgXCJFTUFJTF9BRERSRVNTXCI6IFwiQWRyZXNzXCIsXG4gICAgXCJFTUFJTF9TVUJKRUNUXCI6IFwiRW1uZVwiLFxuICAgIFwiRU1BSUxfQk9EWVwiOiBcIktyb3BwXCIsXG4gICAgXCJBTkNIT1JfQVRUQUNITUVOVFwiOiBcIlZlZGxlZ2dcIixcbiAgICBcIkFOQ0hPUl9SRUxBVEVEX0RPQ1VNRU5UXCI6IFwiUmVsYXRlcnRlIGRva3VtZW50XCIsXG4gICAgXCJBRERfRE9DVU1FTlRfUFJPQ0VTU1wiOiBcIkzDpGdnIHRpbGwgZG9rdW1lbnQgLyBwcm9jZXNzXCIsXG4gICAgXCJBRERfRE9DVU1FTlRcIjogXCJMw6RnZyB0aWxsIGRva3VtZW50XCIsXG4gICAgXCJBRERcIjogXCJMw6RnZyB0aWxsXCIsXG4gICAgXCJQUk9TRVNTRVJcIjogXCJQcm9jZXNzZXJcIixcbiAgICBcIkRPQ1VNRU5UU1wiOiBcIkRva3VtZW50XCIsXG4gICAgXCJVUERBVEVcIjogXCJVcHBkYXRlcmluZ1wiLFxuICAgIFwiRE9DVU1FTlRcIjogXCJEb2t1bWVudFwiLFxuICAgIFwiQ09ORklSTVwiOiBcIkJla3LDpGZ0YVwiLFxuICAgIFwiU0VBUkNIXCI6IFwiU8O2a1wiLFxuICAgIFwiSU1BR0VfTU9ERV9QT0lOVEVSXCI6IFwiUGVrYXJcIixcbiAgICBcIklNQUdFX01PREVfUkVDVEFOR0xFXCI6IFwiUmVrdGFuZ2VsXCIsXG4gICAgXCJJTUFHRV9NT0RFX0NJUkNMRVwiOiBcIkNpcmtlbFwiLFxuICAgIFwiSU1BR0VfTU9ERV9QT0xZR09OXCI6IFwiUG9seWdvblwiLFxuICAgIFwiSU1BR0VfTU9ERV9SRU1PVkVcIjogXCJUYSBib3J0XCIsXG4gICAgXCJQT0xZR09OX0RSQVdcIjogXCJBbnbDpG5kIFNLSUZUICsga2xpY2thIGbDtnIgZGVuIHNpc3RhIGtvbnRyb2xscHVua3RlblwiLFxuICAgIFwiUkVDVEFOR0xFX0RSQVdcIjogXCJIw6VsbCBuZWQgU0hJRlQgZsO2ciBrdmFkcmF0bMOkZ2VcIixcbiAgICBcIlNRVUFSRV9EUkFXXCI6IFwiU2zDpHBwIFNISUZUIGbDtnIgcmVrdGFuZ2VsbMOkZ2VcIixcbiAgICBcIklOVkFMSURfVVJMXCI6IFwiT2dpbHRpZyBVUkxcIixcbiAgICBcIlJFUVVJUkVEX1VSTFwiOiBcIlVSTCBrcsOkdnNcIixcbiAgICBcIkNMT1NFXCI6IFwiU3TDpG5nYVwiLFxuICAgIFwiRE9DVU1FTlRfUFJPQ0VTU1wiOiBcIkRva3VtZW50IC8gUHJvY2Vzc1wiLFxuICAgIFwiVVBMT0FEX0ZJTEVfTk9UX1ZBTElEX0ZPUk1BVFwiOiBcIkRlbiB1cHBsYWRkYWRlIGZpbGVuIMOkciBvZ2lsdGlndCBmb3JtYXQuIEZpbGZvcm1hdCBzb20gc3TDtmRzOiB7MH1cIixcbiAgICBcIlVQTE9BRF9GSUxFX09WRVJTSVpFXCI6IFwiRmlsZW4gc29tIGxhZGRhcyB1cHAgw6RyIMO2dmVyIHN0b3JsZWtzZ3LDpG5zZW4uIFN0b3JsZWtzZ3LDpG5zZW4gw6RyIHswfU1CXCIsXG4gICAgXCJVUExPQURfRklMRV9GQUlMRURcIjogXCJEZXQgZ2ljayBpbnRlIGF0dCBsYWRkYSB1cHAgZmlsZW4uXCIsXG4gICAgXCJBU1NJU1RJVkVfVEVYVFwiOiBcIkhqw6RscHNhbSB0ZXh0XCIsXG4gICAgXCJXT1JEU1wiOiBcIk9yZFwiLFxuICAgIFwiQ0hBUkFDVEVSU1wiOiBcIlRlY2tlblwiLFxuICAgIFwiU0VMRUNUX1ZJREVPX0ZST01fQVJDSElWRVwiOiBcIlbDpGxqIHZpZGVvIGZyw6VuIGFya2l2ZXRcIixcbiAgICBcIlNFTEVDVF9WSURFT19JTUFHRVwiOiBcIlbDpGxqIHZpZGVvYmlsZFwiLFxuICAgIFwiRE9DVU1FTlRfSEVBREVSXCI6IFwiRG9rdW1lbnRpbmZvcm1hdGlvblwiLFxuICAgIFwiQUREX0lNQUdFXCI6IFwiTMOkZ2cgdGlsbCBldHQgZm90b1wiLFxuICAgIFwiSU1BR0VfSU5GT1wiOiBcIkJpbGRpbmZvcm1hdGlvblwiLFxuICAgIFwiQUREX0FfRklMRVwiOiBcIkzDpGdnIHRpbGwgZW4gZmlsXCIsXG4gICAgXCJFWFRFTlNJT05fSVNfTk9UX1NVUFBPUlRFRFwiOiBcIlRpbGzDpGdnZXQgc3TDtmRzIGludGUuXCIsXG4gICAgXCJBQ0NFUFRfTVA0X09OTFlcIjogXCJTdMO2ZGVyIGludGUgZGVubmEgdmlkZW90eXAuIEFjY2VwdGVyYSBlbmRhc3QgTVA0LlwiLFxuICAgIFwiTUFYSU1JWkVcIjogXCJNYXhpbWVyYVwiLFxuICAgIFwiTUlOSU1JWkVcIjogXCJNaW5pbWVyYVwiLFxuICAgIFwiSEVBRElOR1wiOiBcIlN0eWNrZWZvcm1hdFwiLFxuICAgIFwiRk9OVF9TSVpFXCI6IFwiU3Rvcmxla1wiLFxuICAgIFwiRk9OVF9GQU1JTFlcIjogXCJGb250LWZhbWlsalwiLFxuICAgIFwiRk9OVF9DT0xPUlwiOiBcIlRleHQgZsOkcmdcIixcbiAgICBcIkZPTlRfQkFDS0dST1VORF9DT0xPUlwiOiBcIkJha2dydW5kc2bDpHJnXCIsXG4gICAgXCJCT0xEXCI6IFwiRmV0XCIsXG4gICAgXCJJVEFMSUNcIjogXCJLdXJzaXZcIixcbiAgICBcIlVOREVSTElORVwiOiBcIlVuZGVyc3RyeWtuaW5nXCIsXG4gICAgXCJTVFJJS0VUSFJPVUdIXCI6IFwiw5Z2ZXJzdHJ5a25pbmdcIixcbiAgICBcIkhPUklaT05UQUxfTElORVwiOiBcIkluZm9nYSBob3Jpc29udGVsbCBsaW5qZVwiLFxuICAgIFwiUEFHRV9CUkVBS1wiOiBcIkluZm9nYSBzaWRicnl0bmluZyBmw7ZyIHV0c2tyaWZ0XCIsXG4gICAgXCJURVhUX0FMSUdOTUVOVFwiOiBcIlRleHRwbGFjZXJpbmdcIixcbiAgICBcIkJVTExFVEVEX0xJU1RcIjogXCJMw6RnZyB0aWxsL3RhIGJvcnQgcHVua3RsaXN0YVwiLFxuICAgIFwiTlVNQkVSRURfTElTVFwiOiBcIkzDpGdnIHRpbGwvdGEgYm9ydCBudW1yZXJhZCBsaXN0YVwiLFxuICAgIFwiREVDUkVBU0VfSU5ERU5UXCI6IFwiTWluc2thIGluZHJhZ2VuXCIsXG4gICAgXCJJTkNSRUFTRV9JTkRFTlRcIjogXCLDlmthIGluZHJhZ2V0XCIsXG4gICAgXCJTVUJTQ1JJUFRcIjogXCJOZWRzw6Rua3Qgc2tyaWZ0XCIsXG4gICAgXCJTVVBFUlNDUklQVFwiOiBcIlVwcGjDtmpkIHNrcmlmdFwiLFxuICAgIFwiVU5ET1wiOiBcIsOFbmdyYVwiLFxuICAgIFwiUkVET1wiOiBcIkfDtnIgaWdlblwiLFxuICAgIFwiU1BFQ0lBTF9DSEFSQUNURVJTXCI6IFwiSW5mb2dhIHN5bWJvbFwiLFxuICAgIFwiQkxPQ0tRVU9URVwiOiBcIkJsb2NrIGNpdGF0XCIsXG4gICAgXCJJTlNFUlRfSU1BR0VcIjogXCJCbGlkXCIsXG4gICAgXCJJTlNFUlRfTUVESUFcIjogXCJTw6R0dCBpIG1lZGlhXCIsXG4gICAgXCJCUk9XU0VfVklERU9cIjogXCJWaWRlb1wiLFxuICAgIFwiSU5TRVJUX1RBQkxFXCI6IFwiVGFiZWxsXCIsXG4gICAgXCJBTkNIT1JcIjogXCJJbmZvZ2EvcmVkaWdlcmEgYW5rYXJlXCIsXG4gICAgXCJUT09MVElQXCI6IFwiSW5mb2dhIGbDtnJrbGFyaW5nXCIsXG4gICAgXCJUSU1FU1RBTVBcIjogXCJJbnNlcnQgdGltZXN0YW1wXCIsXG4gICAgXCJBRERfVEVNUExBVEVcIjogXCJTa2FwYS/DhG5kcmEgaW5uZWjDpWxsc21hbGxhclwiLFxuICAgIFwiVEVNUExBVEVTXCI6IFwiSW5uZWjDpWxsc21hbGxhclwiLFxuICAgIFwiUkVNT1ZFX0ZPUk1BVFwiOiBcIlRhIGJvcnQgZm9ybWF0ZXJpbmdcIixcbiAgICBcIkZJTkRfQU5EX1JFUExBQ0VcIjogXCJTw7ZrIG9jaCBlcnPDpHR0XCIsXG4gICAgXCJGTE9XQ0hBUlRcIjogXCJMw6RnZyB0aWxsIGZsw7ZkZXNzY2hlbWFcIixcbiAgICBcIkJQTU5cIjogXCJBZmbDpHJzcHJvY2Vzc21vZGVsbCBvY2ggbm90YXRpb25cIixcbiAgICBcIkFCT1VUX0NLRURJVE9SXCI6IFwiT20gQ0tFZGl0b3JcIixcbiAgICBcIkNSRUFURV9UQUJMRV9PRl9DT05URU5UU1wiOiBcIlNrYXBhIGlubmVow6VsbHNmw7ZydGVja25pbmdcIixcbiAgICBcIlNPVVJDRVwiOiBcIkvDpGxsYVwiLFxuICAgIFwiVE9HR0xFX1RPT0xCQVJcIjogXCJCeXQgdmVya3R5Z3Nmw6RsdFwiLFxuICB9LFxuICBcIkFCT1VUXCI6IHtcbiAgICBcIkFCT1VUX0NLRURJVE9SXCI6IFwiT20gQ0tFZGl0b3JcIixcbiAgICBcIkNLRURJVE9SNV9WRVJTSU9OXCI6IFwiQ0tFZGl0b3IgNSB2ZXJzaW9uXCIsXG4gICAgXCJGT1JfTElDRU5TSU5HX0lORk9STUFUSU9OX1BMRUFTRV9WSVNJVF9PVVJfV0VCU0lURVwiOiBcIkbDtnIgbGljZW5zaW5mb3JtYXRpb24sIGJlc8O2ayB2w6VyIHdlYmJwbGF0c1wiLFxuICAgIFwiQUxMX1JJR0hUU19SRVNFUlZFRFwiOiBcIkFsbGEgcsOkdHRpZ2hldGVyIGbDtnJiZWjDpWxsbmFcIixcbiAgICBcIkNIRUNLXCI6IFwiU2VcIixcbiAgICBcIkZPUl9IRUxQXCI6IFwiZsO2ciBoasOkbHBcIixcbiAgICBcIkNLRURJVE9SX1VTRVJTX0dVSURFXCI6IFwiYW52w6RuZGFybWFudWFsZW4gZsO2ciBDS0VkaXRvclwiLFxuICAgIFwiQ09QWVJJR0hUXCI6IFwiVXBwaG92c3LDpHR0IMKpXCJcbiAgfSxcbiAgXCJCUE1OXCI6IHtcbiAgICBcIkRFRkFVTFRcIjogXCJTdGFuZGFyZFwiLFxuICAgIFwiVFlQRVwiOiBcIlR5cFwiLFxuICAgIFwiTkFNRVwiOiBcIk5hbW5cIixcbiAgICBcIkVYQ0xVU0lWRVwiOiBcIkV4a2x1c2l2XCIsXG4gICAgXCJJTkNMVVNJVkVcIjogXCJJbmtsdXNpdmVcIixcbiAgICBcIlBBUkFMTEVMXCI6IFwiUGFyYWxsZWxsXCIsXG4gICAgXCJBUFBFQVJBTkNFXCI6IFwiVXRzZWVuZGVcIixcbiAgICBcIkJPRFlfQ09MT1JcIjogXCJGw6RyZ1wiLFxuICAgIFwiVEVYVF9BTElHTk1FTlRcIjogXCJUZXh0cGxhY2VyaW5nXCIsXG4gICAgXCJMRUZUXCI6IFwiVsOkbnN0ZXJcIixcbiAgICBcIkNFTlRFUlwiOiBcIk1pdHRqdXN0ZXJhcmVcIixcbiAgICBcIlJJR0hUXCI6IFwiSMO2Z2VyXCIsXG4gICAgXCJGT05UX0ZBTUlMWVwiOiBcIkZvbnQtZmFtaWxqXCIsXG4gICAgXCJGT05UX1NJWkVcIjogXCJGb250c3Rvcmxla1wiLFxuICAgIFwiQ09OVEVOVFwiOiBcIklubmVow6VsbFwiLFxuICAgIFwiSUNPTlwiOiBcIklrb25cIixcbiAgICBcIk5PTkVcIjogXCJJbmdlblwiLFxuICAgIFwiTUVTU0FHRVwiOiBcIk1lZGRlbGFuZGVcIixcbiAgICBcIlVTRVJcIjogXCJBbnbDpG5kYXJlXCIsXG4gICAgXCJUQVNLXCI6IFwiVXBwZ2lmdFwiLFxuICAgIFwiVFJBTlNBQ1RJT05cIjogXCJUcmFuc2FrdGlvblwiLFxuICAgIFwiRVZFTlRfU1VCX1BST0NFU1NcIjogXCJldmVudC1zdWItcHJvY2Vzc1wiLFxuICAgIFwiQ0FMTF9BQ1RJVklUWVwiOiBcInNhbXRhbHNha3Rpdml0ZXRcIixcbiAgICBcIlNVQl9QUk9DRVNTXCI6IFwiU3ViLXByb2Nlc3NcIixcbiAgICBcIlNUQVJUXCI6IFwiU3RhcnRcIixcbiAgICBcIkVORFwiOiBcIlNsdXRcIixcbiAgICBcIklOVEVSTUVESUFURVwiOiBcIk1lbGxhbmxpZ2dhbmRlXCIsXG4gICAgXCJDQU5DRUxcIjogXCJBbm51bGxlcmFcIixcbiAgICBcIkNBTkNFTF9PVUxJTkVEXCI6IFwiQXZicnl0IHNraXNzZXJhZFwiLFxuICAgIFwiQ0FOQ0VMX0ZJTExFRFwiOiBcIkF2YnJ5dCBmeWxsZFwiLFxuICAgIFwiQ09NUEVOU0FUSU9OX09VTElORURcIjogXCJFcnPDpHR0bmluZyBza2lzc2VyYWRcIixcbiAgICBcIkNPTVBFTlNBVElPTl9GSUxMRURcIjogXCJFcnPDpHR0bmluZ2VuIGZ5bGxkXCIsXG4gICAgXCJDT05ESVRJT05BTFwiOiBcIlZpbGxrb3JsaWdcIixcbiAgICBcIkVSUk9SX09VTElORURcIjogXCJGZWwgYW5naXZldFwiLFxuICAgIFwiRVJST1JfRklMTEVEXCI6IFwiRmVsZXQgZnlsbHRcIixcbiAgICBcIkVTQ0FMQVRJT05fT1VMSU5FRFwiOiBcIkVza2FsZXJpbmcgZm9kcmFkXCIsXG4gICAgXCJFU0NBTEFUSU9OX0ZJTExFRFwiOiBcIkVza2FsZXJpbmcgZnlsbGRcIixcbiAgICBcIkxJTktfT1VMSU5FRFwiOiBcIkzDpG5ra29udHVyXCIsXG4gICAgXCJMSU5LX0ZJTExFRFwiOiBcIkzDpG5rZW4gZnlsbGRcIixcbiAgICBcIk1FU1NBR0VfT1VMSU5FRFwiOiBcIk1lZGRlbGFuZGV0IHNraXNzZXJhdFwiLFxuICAgIFwiTUVTU0FHRV9GSUxMRURcIjogXCJNZWRkZWxhbmRldCBmeWxsdFwiLFxuICAgIFwiTVVMVElQTEVfT1VMSU5FRFwiOiBcIkZsZXJhIHNraXNzZXJhZGVcIixcbiAgICBcIk1VTFRJUExFX0ZJTExFRFwiOiBcIkZsZXJhIGZ5bGxkYVwiLFxuICAgIFwiUEFSQUxMRUxfTVVMVElQTEVcIjogXCJQYXJhbGxlbGwgbXVsdGlwZWxcIixcbiAgICBcIlRFUk1JTkFUSU9OX09VTElORURcIjogXCJVcHBzw6RnbmluZyBza2lzc2VyYWRcIixcbiAgICBcIlRFUk1JTkFUSU9OX0ZJTExFRFwiOiBcIlVwcHPDpGduaW5nIGZ5bGxkXCIsXG4gICAgXCJUSU1FUlwiOiBcIlRpbWVyXCIsXG4gICAgXCJTSUdOQUxfT1VMSU5FRFwiOiBcIlNpZ25hbGVuIHNraXNzZXJhZFwiLFxuICAgIFwiU0lHTkFMX0ZJTExFRFwiOiBcIlNpZ25hbGVuIGZ5bGxkXCIsXG4gICAgXCJQQVJBTExFTF9PVUxJTkVEXCI6IFwiUGFyYWxsZWxsdCBrb250dXJcIixcbiAgICBcIlBBUkFMTEVMX0ZJTExFRFwiOiBcIlBhcmFsbGVsbHQgZnlsbGRcIixcbiAgICBcIlNVQl9UWVBFXCI6IFwiVW5kZXJ0eXBcIixcbiAgICBcIlRSQU5TUEFSRU5DWVwiOiBcIkdlbm9tc2tpbmxpZ2hldFwiLFxuICAgIFwiTEFCRUxcIjogXCJNw6Rya2FcIixcbiAgICBcIlRFWFRcIjogXCJUZXh0XCIsXG4gICAgXCJQT1NJVElPTlwiOiBcIlBsYWNlcmluZ1wiLFxuICAgIFwiTEFCRUxTXCI6IFwiRXRpa2V0dGVyXCIsXG4gICAgXCJOT1JNQUxcIjogXCJWYW5saWd0XCIsXG4gICAgXCJBU1NPQ0lBVElPTlwiOiBcIkFzc29jaWF0aW9uXCIsXG4gICAgXCJDT05WRVJTQVRJT05cIjogXCJLb252ZXJzYXRpb25cIixcbiAgICBcIlBBUlRJQ1BBTlRTXCI6IFwiRGVsdGFnYXJlXCIsXG4gICAgXCJJTklUSUFUSU5HX1BBUlRJQ0lQQU5UXCI6IFwiSW5pdGllcmFuZGUgZGVsdGFnYXJlXCIsXG4gICAgXCJQUklNQVJZX0NPTE9SXCI6IFwiSHV2dWRmw6RyZ1wiLFxuICAgIFwiU0VDT05EQVJZX0NPTE9SXCI6IFwiU2VrdW5kw6RyIGbDpHJnXCIsXG4gICAgXCJDQUxMLUNPTlZFUlNBVElPTlwiOiBcIlJpbmcgc2FtdGFsZXRcIixcbiAgICBcIkFERF9MQU5FU1wiOiBcIkzDpGdnIHRpbGwga8O2cmbDpGx0XCIsXG4gICAgXCJQRVJDRU5UQUdFXCI6IFwiUHJvY2VudHNhdHNcIixcbiAgICBcIkFERF9TVUJMQU5FU1wiOiBcIkzDpGdnIHRpbGwga8O2cmbDpGx0XCIsXG4gICAgXCJIRUFERVJfQ09MT1JcIjogXCJSdWJyaWtmw6RyZ1wiLFxuICAgIFwiTEFORV9CT0RZX0NPTE9SXCI6IFwiTGFuZSBCb2R5IENvbG9yXCIsXG4gICAgXCJMQU5FX0hFQURFUl9DT0xPUlwiOiBcIkZpbGh1dnVkZXRzIGbDpHJnXCIsXG4gICAgXCJPUEVOX0FfUFJJTlRfRElBTE9HXCI6IFwiw5ZwcG5hIGVuIHV0c2tyaWZ0c2RpYWxvZ3J1dGFcIixcbiAgICBcIk9QRU5fQVNfSlNPTlwiOiBcIsOWcHBuYSBzb20gSlNPTlwiLFxuICAgIFwiWk9PTV9JTlwiOiBcIlpvb21hIGluXCIsXG4gICAgXCJaT09NX09VVFwiOiBcIlpvb21hIHV0XCIsXG4gICAgXCJaT09NX1RPX0ZJVFwiOiBcIlpvb21hIGbDtnIgYXR0IHBhc3NhXCIsXG4gICAgXCJTRU5EX1RPX0ZST05UXCI6IFwiU2tpY2thIHRpbGwgZnJvbnRlblwiLFxuICAgIFwiQlJJTkdfT0JKRUNUX1RPX0ZST05UXCI6IFwiRmx5dHRhIG9iamVrdGV0IGZyYW3DpXQgdGlsbCBmcm9udGVuXCIsXG4gICAgXCJTRU5EX1RPX0JBQ0tcIjogXCJTa2lja2EgaSByeWdnZW5cIixcbiAgICBcIkJSSU5HX09CSkVDVF9UT19CQUNLXCI6IFwiRmx5dHRhIG9iamVrdGV0IGJha8OldFwiLFxuICAgIFwiQ0xFQVJfUEFQRVJcIjogXCJUw7ZtbWFcIixcbiAgICBcIlVORE9cIjogXCLDhW5ncmFcIixcbiAgICBcIlJFRE9cIjogXCJVcHByZXBhXCIsXG4gICAgXCJTRUxFQ1RfVEVNUExBVEVcIjogXCJWw6RsaiBtYWxsXCIsXG4gICAgXCJERUxFVEVfVEVNUExBVEVcIjogXCJUYSBib3J0IG1hbGxcIixcbiAgICBcIlNBVkVfQVNfVEVNUExBVEVcIjogXCJTcGFyYSBzb20gbWFsbFwiLFxuICAgIFwiUkVTRVRfVE9fTEFTVF9TQVZFXCI6IFwiU2zDpG5nIG9zcGFyYWRlIMOkbmRyaW5nYXJcIixcbiAgICBcIkdSSURfU0laRVwiOiBcIlJ1dG7DpHRzc3Rvcmxla1wiLFxuICAgIFwiQ0hBTkdFX0dSSURfU0laRVwiOiBcIsOkbmRyYSBydXRzdG9ybGVrXCIsXG4gICAgXCJTTkFQTElORVNcIjogXCJIasOkbHBsaW5qZXI6XCIsXG4gICAgXCJFTkFCTEVfRElTQUJMRV9TTkFQTElORVNcIjogXCJBa3RpdmVyYS9pbmFrdGl2ZXJhIGhqw6RscGxpbmplclwiLFxuICAgIFwiTElORV9DT0xPUlwiOiBcIkxpbmplZsOkcmdcIixcbiAgICBcIkJPRFlfTElORV9DT0xPUlwiOiBcIktyb3Bwc2xpbmplZsOkcmdcIixcbiAgICBcIlRZUEVfQ09MT1JcIjogXCJUeXAgRsOkcmdcIixcbiAgICBcIk1BUktFUlwiOiBcIk1hcmvDtnJlclwiLFxuICAgIFwiTUFSS0VSX0NPTE9SXCI6IFwiTWFya8O2cmVyIEbDpHJnXCIsXG4gICAgXCJUT1BfQ09MT1JcIjogXCJUb3BwZsOkcmdcIixcbiAgICBcIlRPUF9MSU5FX0NPTE9SXCI6IFwiVG9wIExpbmUgRsOkcmdcIixcbiAgICBcIkNPTExFQ1RJT05cIjogXCJTYW1saW5nXCIsXG4gICAgXCJDT0xMRUNUSU9OX0NPTE9SXCI6IFwiU2FtbGluZyBGw6RyZ1wiLFxuICAgIFwiU0laRVwiOiBcIlN0b3JsZWtcIixcbiAgICBcIkhFQURFUl9TSVpFXCI6IFwiUnVicmlrc3Rvcmxla1wiLFxuICAgIFwiSEVBREVSXCI6IFwiUnVicmlrXCIsXG4gICAgXCJIRUFERVJfU1RST0tFX0NPTE9SXCI6IFwiUnVicmlrZW5zIHN0cmVja2bDpHJnXCIsXG4gICAgXCJIRUFERVJfTEFCRUxfQ09MT1JcIjogXCJSdWJyaWtldGlrZXR0ZW5zIGbDpHJnXCIsXG4gICAgXCJMQU5FX1NUUk9LRV9DT0xPUlwiOiBcIkxhbmUgU3Ryb2tlIEbDpHJnXCIsXG4gICAgXCJMQU5FX0hFQURFUl9TVFJPS0VcIjogXCJMYW5lIEhlYWRlciBTdHJva2VcIixcbiAgICBcIkxBTkVfTEFCRUxfQ09MT1JcIjogXCJMYW5lIExhYmVsIEbDpHJnXCIsXG4gICAgXCJNSUxFU1RPTkVfSEVBREVSX0ZJTExcIjogXCJNaWxzdG9scGUgSGVhZGVyIEZ5bGxcIixcbiAgICBcIk1JTEVTVE9ORV9TVFJPS0VcIjogXCJNaWxzdG9scGUgU3Ryb2tlXCIsXG4gICAgXCJNSUxFU1RPTkVfTEFCRUxfQ09MT1JcIjogXCJNaWxzdG9scGUgZXRpa2V0dCBmw6RyZ1wiLFxuICAgIFwiTUlMRVNUT05FX0xJTkVfQ09MT1JcIjogXCJNaWxlc3RvbmUgTGluZSBDb2xvclwiLFxuICAgIFwiSEVBREVSX0FMSUdOTUVOVFwiOiBcIlJ1YnJpa2p1c3RlcmluZ1wiLFxuICAgIFwiSEVBREVSX0ZPTlRfRkFNSUxZXCI6IFwiSGVhZGVyIEZvbnQgZmFtaWxqXCIsXG4gICAgXCJIRUFERVJfRk9OVF9TSVpFXCI6IFwiSGVhZGVyIEZvbnQgc3Rvcmxla1wiLFxuICAgIFwiTEFORV9BTElHTk1FTlRcIjogXCJLw7ZyZsOkbHRzaW5yaWt0bmluZ1wiLFxuICAgIFwiTEFORV9GT05UX0ZBTUlMWVwiOiBcIkxhbmUgRm9udCBmYW1pbGpcIixcbiAgICBcIkxBTkVfRk9OVF9TSVpFXCI6IFwiTGFuZSBUZWNrZW5zdG9ybGVrXCIsXG4gICAgXCJNSUxFU1RPTkVfQUxJR05NRU5UXCI6IFwiTWlsc3RvbHBlanVzdGVyaW5nXCIsXG4gICAgXCJNSUxFU1RPTkVfRk9OVF9GQU1JTFlcIjogXCJNaWxlc3RvbmUgRm9udCBmYW1pbHlcIixcbiAgICBcIk1JTEVTVE9ORV9GT05UX1NJWkVcIjogXCJNaWxlc3RvbmUgRm9udCBmYW1pbHlcIixcbiAgICBcIlRFWFRfQ09MT1JcIjogXCJUZXh0IEZhcmdlXCIsXG4gICAgXCJURVhUX0hFQURFUl9DT0xPUlwiOiBcIkhlYWRlciBUZXh0IEZhcmdlXCIsXG4gICAgXCJURVhUX0JBQ0tHUk9VTkRfQ09MT1JcIjogXCJCYWtncnVuZCBUZXh0IEZhcmdlXCIsXG4gICAgXCJURVhUX0lOU0lERV9TSEFQRVwiOiBcIlZpcyB0ZXh0ZW4gaW5uaSBmaWd1clwiLFxuICAgIFwiVEVNUExBVEVfTkFNRVwiOiBcIk1hbG5hbW5cIixcbiAgICBcIlRFTVBMQVRFX0lORk9cIjogXCJWw6RubGlnZW4gc2tyaXYgZGl0dCBuYW1uXCIsXG4gICAgXCJTRUxFQ1RfVEVNUExBVEVfSU5GT1JNQVRJT05cIjogXCJEdSBtw6UgdsOkbGphIGVuIG1hbGVuIGlubmFuIGR1IHV0ZsO2ciBkZW5uYSBoYW5kbGluZy5cIixcbiAgICBcIkNPTk5FQ1RJT05cIjogXCJGw7ZyYmluZGVsc2VcIixcbiAgICBcIlBST1BFUlRJRVNcIjogXCJFZ2Vuc2thcGVyXCIsXG4gICAgXCJCVVNJTkVTU19QUk9DRVNTX01PREVMX0FORF9OT1RBVElPTlwiOiBcIkFmZsOkcnNwcm9jZXNzbW9kZWxsIG9jaCBub3RhdGlvblwiLFxuICAgIFwiQ09OTkVDVEVEX0FUVEFDSE1FTlRcIjogXCJCaWZvZ2FkIGJpbGFnYVwiLFxuICAgIFwiQ09OTkVDVEVEX0RPQ1VNRU5UX09SX1BST0NFU1NcIjogXCJMw6Rua2FkZSBkb2t1bWVudGV0L3Byb2Nlc3NlblwiLFxuICAgIFwiREVMRVRFX0FUVEFDSE1FTlRcIjogXCJUYSBib3J0IGJpbGFnb3JcIixcbiAgICBcIkRFTEVURV9ET0NVTUVOVF9PUl9QUk9DRVNTXCI6IFwiVGEgYm9ydCBkb2t1bWVudGV0L3Byb2Nlc3NlblwiLFxuICAgIFwiQ0hPT1NFX0FOQ0hPUl9JTl9URVhUX09QVElPTkFMXCI6IFwiVsOkbGogYW5rYXJlIGkgdGV4dCAodmFsZnJpdHQpXCIsXG4gICAgXCJSRUxPQURfQU5DSE9SU1wiOiBcIkxhZGRhIG9tIGFua2FyZVwiLFxuICAgIFwiUkVTRVRfVE9fT1JJR0lOQUxcIjogXCJJZ25vcmVyYSDDpG5kcmluZ2FyXCIsXG4gICAgXCJBVVRPX0xBWU9VVF9HUkFQSFwiOiBcIkF1dG8tbGF5b3V0IGdyYWZcIixcbiAgICBcIkZVTExTQ1JFRU5cIjogXCJIZWxza8Okcm1zdmlzbmluZ1wiLFxuICAgIFwiRkxPV0NIQVJUXCI6IFwiRmzDtmRlc3NjaGVtYVwiLFxuICAgIFwiSEFOREJPT0tcIjogXCJlLWhhbmRib2tcIixcbiAgICBcIlRPR0dMRV9GVUxMX1NDUkVFTlwiOiBcIlbDpHhsYSBtZWxsYW4gaGVsc2vDpHJtXCIsXG4gIH0sXG4gIFwiUU1TQ0tFRElUT1JfTUVTU0FHRVwiOiB7XG4gICAgXCJDT05GSVJNX0RFTEVURV9URU1QTEFURVwiOiBcIsOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHRhIGJvcnQgZGVuIGjDpHIgbWFsbGVuPz9cIixcbiAgICBcIkNPTkZJUk1fQ0hBTkdFX1RFTVBMQVRFXCI6IFwiw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgYW52w6RuZGEgZGVuIGjDpHIgbWFsbGVuIGkgcmVkaWdlcmFyZW4/P1wiLFxuICAgIFwiQ09ORklSTV9ERUxFVEVfRVhJU1RJTkdfQ09OTkVDVElPTlwiOiBcIkR1IG3DpXN0ZSB0YSBib3J0IGRlbiBiZWZpbnRsaWdhIGFuc2x1dG5pbmdlbiBpbm5hbiBkdSB1dGbDtnIgZGVuIGjDpHIgw6V0Z8OkcmRlbi5cIixcbiAgICBcIkNPTkZJUk1fREVMRVRFX0FUVEFDSE1FTlRcIjogXCLDhHIgZHUgc8Oka2VyIHDDpSBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbiBow6RyIGzDpG5rZW4/XCIsXG4gICAgXCJDT05GSVJNX0RFTEVURV9ET0NVTUVOVF9PUl9QUk9DRVNTXCI6IFwiw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgdGEgYm9ydCBkZXQgaMOkciBkb2t1bWVudGV0L3Byb2Nlc3Nlbj9cIixcbiAgfSxcbiAgXCJGTE9XQ0hBUlRcIjoge1xuICAgIFwiUkVNT1ZFX0VMRU1FTlRcIjogJ0tsaWNrYSBmw7ZyIGF0dCB0YSBib3J0IG9iamVrdGV0JyxcbiAgICBcIkNMT05FX0FORF9DT05ORUNUXCI6ICdLbGlja2Egb2NoIGRyYSBmw7ZyIGF0dCBrbG9uYSBvY2ggYmlmb2dhIG9iamVrdGV0IHDDpSBlbiBnw6VuZycsXG4gICAgXCJDTE9ORVwiOiAnS2xpY2thIG9jaCBkcmEgZsO2ciBhdHQga2xvbmEgb2JqZWt0ZXQnLFxuICAgIFwiQlJFQUtfQUxMX0NPTk5FQ1RJT05TXCI6ICdLbGlja2EgZsO2ciBhdHQgYnJ5dGEgYWxsYSBrb3BwbGluZ2FyIHRpbGwgYW5kcmEgb2JqZWt0JyxcbiAgICBcIkNPTk5FQ1RcIjogJ0tsaWNrYSBvY2ggZHJhIGbDtnIgYXR0IGFuc2x1dGEgdGlsbCBvYmpla3RldCcsXG4gICAgXCJST1RBVEVcIjogJ0tsaWNrYSBvY2ggZHJhIGbDtnIgYXR0IHJvdGVyYSBvYmpla3RldCcsXG4gICAgXCJSRU1PVkVfU0VMRUNURURfRUxFTUVOVFwiOiAnS2xpY2thIGbDtnIgYXR0IHRhIGJvcnQgZGUgbWFya2VyYWRlIG9iamVrdGVuJyxcbiAgICBcIlJPVEFURV9TRUxFQ1RFRF9FTEVNRU5UXCI6ICdLbGlja2Egb2NoIGRyYSBmw7ZyIGF0dCByb3RlcmEgZGUgbWFya2VyYWRlIG9iamVrdGVuJyxcbiAgICBcIlJFU0laRV9TRUxFQ1RFRF9FTEVNRU5UXCI6ICdLbGlja2Egb2NoIGRyYSBmw7ZyIGF0dCDDpG5kcmEgc3RvcmxlayBww6UgZGUgbWFya2VyYWRlIG9iamVrdGVuJyxcbiAgICBcIlJFQ1RBTkdMRVwiOiAnUmVrdGFuZ2VsJyxcbiAgICBcIkVMTElQU0VcIjogJ0VsbGlwcycsXG4gICAgXCJSRUNUQU5HTEVfV0lUSF9QT1JUU1wiOiAnUmVrdGFuZ2VsIG1lZCBncmluZGFyJyxcbiAgICBcIkVMTElQU0VfV0lUSF9QT1JUU1wiOiAnRWxsaXBzIG1lZCBncmluZGFyJyxcbiAgICBcIlJIT01CVVNcIjogJ1JvbWInLFxuICAgIFwiQ1lMSU5ERVJcIjogJ1N5bGluZGVyJyxcbiAgICBcIklNQUdFXCI6ICdCaWxkJyxcbiAgICBcIkNBUkRcIjogJ0tvcnQnLFxuICAgIFwiSUNPTlwiOiAnSWtvbicsXG4gICAgXCJSRUNUQU5HTEVfV0lUSF9IRUFERVJcIjogJ1Jla3RhbmdlbCBtZWQgcnVicmlrJyxcbiAgICBcIlNUQVJUX1NUQVRFXCI6ICdJbml0aWFsIHN0YXR1cycsXG4gICAgXCJFTkRfU1RBVEVcIjogJ1NsdXRsw6RnZScsXG4gICAgXCJTVEFURVwiOiAnU3RhdCcsXG4gICAgXCJQTEFDRVwiOiAnUGxhdHMnLFxuICAgIFwiVFJBTlNJVElPTlwiOiAnw5Z2ZXJnw6VuZycsXG4gICAgXCJFTlRJVFlcIjogJ0VudGl0ZXQnLFxuICAgIFwiV0VBS19FTlRJVFlcIjogJ1N2YWcgZW5oZXQnLFxuICAgIFwiUkVMQVRJT05TSElQXCI6ICdSZWxhdGlvbicsXG4gICAgXCJJREVOVElGWUlOR19SRUxBVElPTlNISVBcIjogJ0lkZW50aWZpZXJhIHZpbGxrb3InLFxuICAgIFwiSVNBXCI6ICdJU0EnLFxuICAgIFwiS0VZXCI6ICdOeWNrZWwnLFxuICAgIFwiTk9STUFMXCI6ICdWYW5saWd0JyxcbiAgICBcIk1VTFRJVkFMVUVEXCI6ICdGbGVydsOkcmRpZ3QnLFxuICAgIFwiREVSSVZFRFwiOiAnSMOkcmxlZGQnLFxuICAgIFwiQ0xBU1NcIjogJ0tsYXNzJyxcbiAgICBcIklOVEVSRkFDRVwiOiAnR3LDpG5zc25pdHQnLFxuICAgIFwiQUJTVFJBQ1RcIjogJ0Fic3RyYWt0JyxcbiAgICBcIk1FTUJFUlwiOiAnTWVkbGVtJyxcbiAgICBcIlVORE9cIjogJ8OFbmdyYScsXG4gICAgXCJSRURPXCI6ICdGw7Zyw6RuZHJhJyxcbiAgICBcIkNMRUFSX1BBUEVSXCI6ICdUb210IHBhcHBlcicsXG4gICAgXCJFWFBPUlRfU1ZHXCI6ICfDlnBwbmEgc29tIFNWRyBpIGVuIHBvcHVwJyxcbiAgICBcIkVYUE9SVF9QTkdcIjogJ8OWcHBuYSBzb20gUE5HIGkgZW4gcG9wdXAnLFxuICAgIFwiUFJJTlRcIjogJ8OFcG5lIGVuIHV0c2tyaWZ0c2RpYWxvZ2Jva3MnLFxuICAgIFwiU0VORF9UT19GUk9OVFwiOiAnVGEgZnJhbSBmw7ZyZW3DpWxldCcsXG4gICAgXCJTRU5EX1RPX0JBQ0tcIjogJ1NraWNrYSBvYmpla3QgdGlsbCBiYWtzaWRhbicsXG4gICAgXCJBVVRPX0xBWU9VVF9HUkFQSFwiOiAnQXV0by1sYXlvdXQgZ3JhZicsXG4gICAgXCJaT09NX1RPX0ZJVFwiOiAnWm9vbWEgZsO2ciBhdHQgcGFzc2EnLFxuICAgIFwiWk9PTV9PVVRcIjogJ1pvb21hIHV0JyxcbiAgICBcIlpPT01fSU5cIjogJ1pvb21hIGluJyxcbiAgICBcIkNIQU5HRV9HUklEX1NJWkVcIjogJ8OEbmRyYSBydXRuw6R0c3N0b3JsZWsnLFxuICAgIFwiU05BUExJTkVTXCI6ICfDhG5kcmEgcnV0bsOkdHNzdG9ybGVrJyxcbiAgICBcIkZVTExTQ1JFRU5cIjogJ1bDpHhsYSBoZWxza8Okcm1zbMOkZ2UnLFxuICAgIFwiU0VMRUNUX1RFTVBMQVRFXCI6IFwiVsOkbGogbWFsbFwiLFxuICAgIFwiREVMRVRFX1RFTVBMQVRFXCI6IFwiVGEgYm9ydCBtYWxsXCIsXG4gICAgXCJTQVZFX0FTX1RFTVBMQVRFXCI6IFwiU3BhcmEgc29tIG1hbGxcIixcbiAgICBcIlJFU0VUX1RPX0xBU1RfU0FWRVwiOiBcIlNsw6RuZyBvc3BhcmFkZSDDpG5kcmluZ2FyXCIsXG4gICAgXCJQTEFDRV9ORVhUX1RPXCI6IFwiUGxhY2VyYSBicmVkdmlkXCIsXG4gICAgXCJQTEFDRV9VTkRFUlwiOiBcIlBsYWNlcmEgdW5kZXJcIixcbiAgfVxufVxuIl19
@@ -629,7 +629,9 @@ const en = {
629
629
  "SAVE_AS_TEMPLATE": "Save as template",
630
630
  "RESET_TO_LAST_SAVE": "Reset to last saved"
631
631
  },
632
- "INTERCONNECTED_PROCESSES": "Interconnected Processes"
632
+ "INTERCONNECTED_PROCESSES": "Interconnected Processes",
633
+ "PLACE_NEXT_TO": "Place next to",
634
+ "PLACE_UNDER": "Place under",
633
635
  };
634
636
 
635
637
  const no = {
@@ -1191,7 +1193,9 @@ const no = {
1191
1193
  "SAVE_AS_TEMPLATE": "Lagre som mal",
1192
1194
  "RESET_TO_LAST_SAVE": "Forkast ulagrede endringer"
1193
1195
  },
1194
- "INTERCONNECTED_PROCESSES": "Sammenkoblede Prosesser"
1196
+ "INTERCONNECTED_PROCESSES": "Sammenkoblede Prosesser",
1197
+ "PLACE_NEXT_TO": "Plasser ved siden av",
1198
+ "PLACE_UNDER": "Plasser under"
1195
1199
  };
1196
1200
 
1197
1201
  const sv = {
@@ -1627,7 +1631,9 @@ const sv = {
1627
1631
  "SELECT_TEMPLATE": "Välj mall",
1628
1632
  "DELETE_TEMPLATE": "Ta bort mall",
1629
1633
  "SAVE_AS_TEMPLATE": "Spara som mall",
1630
- "RESET_TO_LAST_SAVE": "Släng osparade ändringar"
1634
+ "RESET_TO_LAST_SAVE": "Släng osparade ändringar",
1635
+ "PLACE_NEXT_TO": "Placera bredvid",
1636
+ "PLACE_UNDER": "Placera under",
1631
1637
  }
1632
1638
  };
1633
1639
 
@@ -32490,6 +32496,7 @@ class QMSNavDrawerComponent {
32490
32496
  this.qmsNavDrawerService = qmsNavDrawerService;
32491
32497
  this.cdRef = cdRef;
32492
32498
  this.iterableDiffers = iterableDiffers;
32499
+ this.scrollIntoNode$ = new BehaviorSubject('');
32493
32500
  this.ngUnsubscribe = new Subject();
32494
32501
  this.treeData = [];
32495
32502
  this.openNodes = [];
@@ -32555,12 +32562,23 @@ class QMSNavDrawerComponent {
32555
32562
  });
32556
32563
  }
32557
32564
  });
32565
+ this.scrollIntoNode$.subscribe((res) => {
32566
+ if (res) {
32567
+ setTimeout(() => {
32568
+ const element = document.querySelector('.mat-tree-node.active');
32569
+ if (element) {
32570
+ element.scrollIntoView({ behavior: 'smooth' });
32571
+ }
32572
+ }, 200);
32573
+ }
32574
+ });
32558
32575
  }
32559
32576
  _activeNode() {
32560
32577
  const currNode = this.openNodes[this.openNodes.length - 1];
32561
32578
  const idxParent = this.openNodes.length >= 2 ? this.openNodes.length - 2 : '';
32562
32579
  const parentNode = idxParent !== '' ? this.openNodes[idxParent] : '';
32563
32580
  this.activeNode = this.getActiveNode(currNode, parentNode);
32581
+ this.scrollIntoNode$.next(this.activeNode);
32564
32582
  }
32565
32583
  getActiveNode(id, parentId) {
32566
32584
  const _id = id ? id : '';
@@ -32577,18 +32595,12 @@ class QMSNavDrawerComponent {
32577
32595
  });
32578
32596
  }
32579
32597
  this._activeNode();
32580
- // scroll to selected node
32581
- setTimeout(() => {
32582
- const element = document.querySelector('.mat-tree-node.active');
32583
- if (element) {
32584
- element.scrollIntoView({ behavior: 'smooth' });
32585
- }
32586
- });
32587
32598
  this.cdRef.detectChanges();
32588
32599
  }
32589
32600
  onClickNode(node) {
32590
32601
  this.activeNode = this.getActiveNode(node.id, node.parentId);
32591
32602
  this.onClickNodeEvent.emit(node);
32603
+ this.scrollIntoNode$.next(this.activeNode);
32592
32604
  }
32593
32605
  onExpandNode(node) {
32594
32606
  this.openNodes = [];
@@ -33539,6 +33551,7 @@ class SelectDepartmentTreeComponent {
33539
33551
  case 'sibling':
33540
33552
  if (!parentNode) {
33541
33553
  const idx = this.currentTreeData.findIndex(x => x.id === node.id) + 1;
33554
+ this.source_object.parentId = node.parentId;
33542
33555
  this.currentTreeData.splice(idx, 0, this.source_object);
33543
33556
  }
33544
33557
  else {
@@ -34137,7 +34150,7 @@ class SelectDepartmentTreeComponent {
34137
34150
  SelectDepartmentTreeComponent.decorators = [
34138
34151
  { type: Component, args: [{
34139
34152
  selector: 'qms-select-department-tree',
34140
- template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\n <div class=\"input-select-department\">\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\n <mat-form-field class=\"w100\" qms-form qms-search-field>\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"{{ LANG.SEARCH }}\" matInput />\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\n <mat-icon>search</mat-icon>\n </button>\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n </form>\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\n class=\"sub-text ms-1 fw500\">\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\n </div>\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\n qms-group-options>\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\n </mat-slide-toggle>\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <button class=\"btn-arrow\" [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_forward</mat-icon>\n </button>\n </div>\n </div>\n <div [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\n class=\"header-view-tree\">\n <div class=\"header-view header-title\">\n {{config.headerName.treeName}}\n </div>\n <div class=\"header-view header-title\">\n {{config.headerName.externalName}}\n </div>\n </div>\n <mat-divider class=\"mx-auto\"></mat-divider>\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\n minHeight: height\n }\" class=\"tree-department-wrapper\">\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\n <div class=\"tree-view-main h100\">\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\n <!-- Checkbox all root node -->\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\">\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\n </mat-checkbox>\n <mat-divider class=\"mx-auto\"></mat-divider>\n </div>\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\n 'select-department-tree': true\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\n 'w-100': config.isSelectOne,\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\n 'node-loading': node.isLoading,\n 'move-location-mode': config.moveLocationMode\n }\">\n <div class=\"node-expand-area\">\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\"\n [disabled]=\"(config.moveLocationMode && checkListSelection.isSelected(node))\"\n (click)=\"onExpandNode(node)\" *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\n <mat-icon>\n {{ treeControl.isExpanded(node) ? node?.expandIcon?.collapse : node?.expandIcon?.expand }}\n </mat-icon>\n </button>\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\n {{node.externalName || ''}}\n </span>\n </div>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\n height: height\n }\" class=\"qms-view-search-result\">\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.resultSearchName}}\n </span>\n </div>\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.externalName}}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\n <div class=\"qms-view-search-result__wrapper\"\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\n <div class=\"\">\n <mat-checkbox [@inOutAnimation]\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\"\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{resultSearch.length}}</b>)</span>\n </mat-checkbox>\n </div>\n <div [@inOutAnimation] [@listAnimation]\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\n position=\"top\" *ngFor=\"let item of resultSearch\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\n </mat-checkbox>\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <div class=\"result-item__content\">\n <div class=\"item-result-content-wraper\">\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\n [nodes]=\"item.location\">\n </qms-breadcrumb>\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\n <span qms-elipsify mode=\"dark\" position=\"top\"\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\n </div>\n </div>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\n </div>\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\n class=\"mx-auto\"></mat-divider>\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\n </qms-paginator>\n </div>\n </div>\n\n <!-- Template for Checkbox -->\n <ng-template #showCheckboxTemplate let-node=\"node\">\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\n [disabled]=\"node.isLoading || node.disabled\" [checked]=\"checkListSelection.isSelected(node)\"\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\n [src]=\"node.itemIconSvg\" />\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <div class=\"node-text\" [ngStyle]=\"{\n maxWidth: (maxWidthNode - 20*node.level)+ 'px'\n }\">\n <span qms-elipsify [mode]=\"'dark'\" position=\"top\" class=\"text-name cursor-pointer ml5 123\"\n [ngClass]=\"{ disabled: node.disabled}\">{{ node.name}}\n </span>\n </div>\n </mat-checkbox>\n </ng-template>\n\n <!-- Template node without checkbox -->\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\n <div class=\"node-info\">\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\n </div>\n <div class=\"node-state\">\n <mat-icon [class.disabled]=\"(config.moveLocationMode && checkListSelection.isSelected(node))\"\n *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\n <button class=\"move-location-btn\" *ngIf=\"config.moveLocationMode && !checkListSelection.isSelected(node)\"\n qms-btn-icon [matMenuTriggerFor]=\"menu\">\n <mat-icon>swap_vert</mat-icon>\n </button>\n <mat-menu class=\"move-location-menu\" #menu=\"matMenu\">\n <button (click)=\"moveToLocation(node, 'sibling')\" mat-menu-item>\n <span>Set as sibling</span>\n </button>\n <button (click)=\"moveToLocation(node, 'child')\" mat-menu-item>\n <span>Set as child</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #noResult>\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\n <path\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\n fill=\"#0163B3\" />\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\n </svg>\n</ng-template>\n\n<!-- Template loading -->\n<ng-template #loading>\n <div [ngStyle]=\"{\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\n }\" class=\"qms-loading-container\">\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\n <div class=\"qms-loader__wrapper\">\n <div class=\"row-loader\">\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- Template mask overlay -->\n<ng-template #maskOverlay>\n <div class=\"mask-overlay\">\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\" color=\"primary\"></mat-spinner>\n </div>\n</ng-template>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n</ng-template>",
34153
+ template: "<div [ngClass]=\"['qms-select-department-tree-container', (config.customClass || '')]\">\n <div class=\"input-select-department\">\n <form (ngSubmit)=\"!getLoading$.value && onSearch()\" *ngIf=\"config.enableTreeSearch\" class=\"input-field\">\n <mat-form-field class=\"w100\" qms-form qms-search-field>\n <input [formControl]=\"formSearchControl\" type=\"text\" placeholder=\"{{ LANG.SEARCH }}\" matInput />\n <button *ngIf=\"!getLoading$.value\" type=\"submit\" qms-btn-icon color=\"light\" matSuffix>\n <mat-icon>search</mat-icon>\n </button>\n <mat-progress-spinner [@inOutAnimation] matSuffix mode=\"indeterminate\" diameter=\"20\"\n *ngIf=\"getLoading$.value\"></mat-progress-spinner>\n <div *ngIf=\"!!formSearchControl.value && !getLoading$.value\" qms-input-clear matSuffix>\n <button qms-btn-icon color=\"light\" [@inOutAnimation] aria-label=\"Clear\" (click)=\"formSearchControl.reset()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n </mat-form-field>\n </form>\n <div [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && (textSearchSubject$ | async)\"\n class=\"sub-text ms-1 fw500\">\n {{LANG.RESULT_SEARCH_FOR}}<i><b>\"{{textSearchSubject$ | async}}\"</b></i>\n </div>\n <div [class.justify-content-between]=\"config.enableIncludeChild && !config.isSelectOne\"\n class=\"select__toggle-include toggle-include-child my-1 d-flex justify-content-end align-items-center\">\n <mat-slide-toggle *ngIf=\"config.enableIncludeChild && !config.isSelectOne\"\n [disabled]=\"(getIndexView$ | async) === 1 && config.disableToggleIncludeChildWhenChangeView\"\n [(ngModel)]=\"isIncludeChildren\" (ngModelChange)=\"toggleIncludeChildEvent.emit($event)\" color=\"default\"\n qms-group-options>\n <span class=\"text-label\">{{config.selectIncludeLabel || LANG.SELECT_INCLUDE_CHILD}}</span>\n </mat-slide-toggle>\n <button class=\"btn-arrow\" [@inOutAnimation] *ngIf=\"(getIndexView$ | async) === 1 && config.enableTreeSearch\"\n (click)=\"setIndexView(0)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.BACK_TO_TREE\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_back</mat-icon>\n </button>\n <button class=\"btn-arrow\" [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.enableTreeSearch && (textSearchSubject$ | async)\"\n (click)=\"setIndexView(1)\" qms-btn-icon color=\"light\" [qms-tool-tip]=\"LANG.GOTO_SEACH_RESULT\" mode=\"dark\"\n position=\"top\">\n <mat-icon>arrow_forward</mat-icon>\n </button>\n </div>\n </div>\n <div [@inOutAnimation]\n *ngIf=\"(getIndexView$ | async) === 0 && config.modeView === MODE_VIEW_ENUM.ExternalView && !!config.headerName\"\n class=\"header-view-tree\">\n <div class=\"header-view header-title\">\n {{config.headerName.treeName}}\n </div>\n <div class=\"header-view header-title\">\n {{config.headerName.externalName}}\n </div>\n </div>\n <mat-divider class=\"mx-auto\"></mat-divider>\n <div [@animateSlideView]=\"(getIndexView$ | async)\" [ngStyle]=\"{\n minHeight: height\n }\" class=\"tree-department-wrapper\">\n <div *ngIf=\"(getIndexView$ | async) === 0\" class=\"tree-view w100 h100\">\n <div class=\"tree-view-main h100\">\n <div *ngIf=\"!config.isSelectOne && !!treeControl.dataNodes && config.activeSelectAllNode\"\n class=\"checkbox-all-tree\" [class.sticky-position]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\">\n <!-- Checkbox all root node -->\n <mat-checkbox [@inOutAnimation] (click)=\"onCheckAllRootTreeNode()\"\n [indeterminate]=\"isIndeterminateCheckboxAllTree\" [checked]=\"isAllDepartmentSelected\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\">\n <span class=\"text-label \">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{treeControl.dataNodes.length}}</b>)</span>\n </mat-checkbox>\n <mat-divider class=\"mx-auto\"></mat-divider>\n </div>\n <cdk-virtual-scroll-viewport *ngIf=\"dataSource.data\" [ngClass]=\"{\n 'has-checkbox-all': !config.isSelectOne && config.modeView === MODE_VIEW_ENUM.Basic,\n 'select-department-tree': true\n }\" [itemSize]=\"ITEM_SIZE\" [ngStyle]=\"{height: height}\">\n <ng-container *cdkVirtualFor=\"let node of dataSource; trackBy: trackBy\">\n <div class=\"qms-tree-node mt-1\" [style.padding-left]=\"node.level * (config.isMobile ? 12 :24) + 'px'\"\n [attr.data-id]=\"node.id\" [id]=\"'mat-node-'+node.id\" [@triggerColor]=\"activeNode == node.id\" [ngClass]=\"{\n 'w-100': config.isSelectOne,\n 'selected-theme': this.checkListSelection.isSelected(node) && config.isSelectOne,\n 'expand-node': treeControl.isExpandable(node) && treeControl.isExpanded(node),\n 'active-external-view': config.modeView === MODE_VIEW_ENUM.ExternalView,\n 'node-loading': node.isLoading,\n 'move-location-mode': config.moveLocationMode\n }\">\n <div class=\"node-expand-area\">\n <button class=\"btn-toggle\" qms-btn-icon color=\"light\"\n [disabled]=\"(config.moveLocationMode && checkListSelection.isSelected(node))\"\n (click)=\"onExpandNode(node)\" *ngIf=\"treeControl.isExpandable(node) && !node.isLoading\">\n <mat-icon>\n {{ treeControl.isExpanded(node) ? node?.expandIcon?.collapse : node?.expandIcon?.expand }}\n </mat-icon>\n </button>\n <ng-container *ngIf=\"node.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"config.isSelectOne ? nodeWithoutCheckboxTemplate : showCheckboxTemplate\"\n [ngTemplateOutletContext]=\"{ node: node }\"></ng-container>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-view-node\">\n <span class=\"node-external\" qms-elipsify position=\"top\" mode=\"dark\">\n {{node.externalName || ''}}\n </span>\n </div>\n </div>\n </ng-container>\n </cdk-virtual-scroll-viewport>\n <ng-container [@inOutAnimation] *ngIf=\"config.spinnerWhenGetMore && getLoadingMore$| async ;then maskOverlay\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"(getIndexView$ | async) === 1\" [ngStyle]=\"{\n height: height\n }\" class=\"qms-view-search-result\">\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n class=\"qms-view-search-result__header d-flex align-items-center justify-content-between\">\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.resultSearchName}}\n </span>\n </div>\n <div class=\"header-title\">\n <span qms-elipsify mode=\"dark\" position=\"top\">\n {{config.headerName.externalName}}\n </span>\n </div>\n </div>\n <ng-container *ngIf=\"getLoading$.value; then loading\"></ng-container>\n <div class=\"qms-view-search-result__wrapper\"\n [class.active-external]=\"config.modeView === MODE_VIEW_ENUM.ExternalView\"\n *ngIf=\"!!resultSearch.length && !getLoading$.value\">\n <div class=\"\">\n <mat-checkbox [@inOutAnimation]\n [disabled]=\"!resultSearch.length || config.isSelectOne || isDisableChecboxAllSearch()\" #checkAllSearch\n [indeterminate]=\"indeterminateSearchResult\" [checked]=\"isSelectAllResultSearch\" qms-group-options\n color=\"default\" label=\"none\" class=\"checkbox-all\"\n (click)=\"!config.isSelectOne && onSelectAllSearchResult(checkAllSearch.checked)\">\n <span class=\"text-label header-title\">{{LANG.CHOOSE_ALL}}</span>\n <span>(<b>{{resultSearch.length}}</b>)</span>\n </mat-checkbox>\n </div>\n <div [@inOutAnimation] [@listAnimation]\n [class.active-paging]=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\" class=\"result\">\n <div [qms-tool-tip]=\"!canHandleItemSearchResult(item) ? LANG.ITEM_NOT_MATCH_TO_TREE : ''\" mode=\"dark\"\n position=\"top\" *ngFor=\"let item of resultSearch\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [class.active]=\"checkListSelectionSearch.isSelected(item)\" class=\"result-item user-select-none\" matRipple>\n <mat-checkbox [@inOutAnimation] *ngIf=\"!item.isLoading\" [disabled]=\"item.disabled\"\n (click)=\"$event.stopImmediatePropagation(); !item.disabled && onCheckItemSearchResult(item)\"\n [checked]=\"checkListSelectionSearch.isSelected(item)\" qms-group-options color=\"default\" label=\"none\">\n </mat-checkbox>\n <div *ngIf=\"item.isLoading\" [@inOutAnimation] class=\"position-relative\">\n <ng-container *ngIf=\"item.isLoading; then loadingSpinner\"></ng-container>\n </div>\n <div class=\"result-item__content\">\n <div class=\"item-result-content-wraper\">\n <div class=\"text-gray fw-bold fs-base mb0\">{{item.name}}</div>\n <qms-breadcrumb *ngIf=\"item.location?.length > 1\" [type]=\"config.isMobile ? 'mobile': ''\"\n [numDisplayItem]=\"6\" (onItemClick)=\"$event.stopImmediatePropagation()\" class=\"breadcrumb-container\"\n [nodes]=\"item.location\">\n </qms-breadcrumb>\n <div *ngIf=\"item.location?.length === 1\" class=\"d-flex align-items-center\">\n <span qms-elipsify mode=\"dark\" position=\"top\"\n class=\"item-breadcrumb-disable d-block\">{{item.location[0].name}}</span>\n </div>\n </div>\n <div *ngIf=\"config.modeView === MODE_VIEW_ENUM.ExternalView\" class=\"external-name\">\n <span qms-elipsify mode=\"dark\" position=\"top\" class=\"text-gray fs-base mb0\">{{item.externalName}}\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div [@inOutAnimation] *ngIf=\"!resultSearch.length && !getLoading$.value\" class=\"result no-result\">\n <ng-container *ngTemplateOutlet=\"noResult\"></ng-container>\n </div>\n <mat-divider *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch\"\n class=\"mx-auto\"></mat-divider>\n <qms-paginator #paginatorSearch *ngIf=\"searchDepartment$.value.length > 10 && config.enablePagingSearch \"\n [length]=\"searchDepartment$.value.length\" [numHidden]=\"0\" [pageSize]=\"CURRENT_PAGESIZE\"\n [pageSizeOptions]=\"PAGE_SIZE_OPTION\" (page)='onPagingSearchResult($event)'\n [size]='config.isMobile ? PAGINATION_SIZE.small : PAGINATION_SIZE.medium'>\n </qms-paginator>\n </div>\n </div>\n\n <!-- Template for Checkbox -->\n <ng-template #showCheckboxTemplate let-node=\"node\">\n <mat-checkbox [id]=\"'node-'+node.id\" qms-group-options color=\"default\" label=\"none\" class=\"flex-direction-row\"\n [disabled]=\"node.isLoading || node.disabled\" [checked]=\"checkListSelection.isSelected(node)\"\n (click)=\"!node.isLoading && onCheckNode(node)\" [attr.disabled]=\"node.disabled || node.isLoading\">\n <img [title]=\"node.itemIconSvg\" *ngIf=\"node.itemIconSvg\" class=\"material-icons type-icon\"\n [src]=\"node.itemIconSvg\" />\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <div class=\"node-text\" [ngStyle]=\"{\n maxWidth: (maxWidthNode - 20*node.level)+ 'px'\n }\">\n <span qms-elipsify [mode]=\"'dark'\" position=\"top\" class=\"text-name cursor-pointer ml5 123\"\n [ngClass]=\"{ disabled: node.disabled}\">{{ node.name}}\n </span>\n </div>\n </mat-checkbox>\n </ng-template>\n\n <!-- Template node without checkbox -->\n <ng-template #nodeWithoutCheckboxTemplate let-node=\"node\">\n <div [id]=\"'node-'+node.id\" (click)=\"onCheckNode(node)\" class=\"node-without-checkbox\">\n <div class=\"node-info\">\n <span *ngIf=\"node.itemIcon\" [class]=\"node.itemIcon\" [qmsTransformIcon]=\"node.itemIcon\"\n class=\"material-icons-outlined type-icon\"></span>\n <span *ngIf=\"node.itemMatIcon\" class=\"material-icons-outlined type-icon\">{{\n node.itemMatIcon }}\n </span>\n <span class=\"text-name cursor-pointer pl-10 123\" [ngClass]=\"{ disabled: node.disabled }\">{{ node.name }}</span>\n </div>\n <div class=\"node-state\">\n <mat-icon [class.disabled]=\"(config.moveLocationMode && checkListSelection.isSelected(node))\"\n *ngIf=\"checkListSelection.isSelected(node)\">check</mat-icon>\n <button class=\"move-location-btn\" *ngIf=\"config.moveLocationMode && !checkListSelection.isSelected(node)\"\n qms-btn-icon [matMenuTriggerFor]=\"menu\">\n <mat-icon>swap_vert</mat-icon>\n </button>\n <mat-menu class=\"move-location-menu\" #menu=\"matMenu\">\n <button (click)=\"moveToLocation(node, 'sibling')\" mat-menu-item>\n <span>{{LANG.PLACE_NEXT_TO}}</span>\n </button>\n <button (click)=\"moveToLocation(node, 'child')\" mat-menu-item>\n <span>{{LANG.PLACE_UNDER}}</span>\n </button>\n </mat-menu>\n </div>\n </div>\n </ng-template>\n</div>\n\n<ng-template #noResult>\n <svg width=\"89\" height=\"130\" viewBox=\"0 0 89 88\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"white\" />\n <rect x=\"0.5\" width=\"88\" height=\"88\" rx=\"44\" fill=\"#0163B2\" fill-opacity=\"0.12\" />\n <path\n d=\"M44.5 56.6936L58.096 64.8996L54.488 49.4336L66.5 39.0276L50.682 37.6856L44.5 23.0996L38.318 37.6856L22.5 39.0276L34.512 49.4336L30.904 64.8996L44.5 56.6936Z\"\n fill=\"#0163B3\" />\n <text x=\"10\" y=\"105\" fill=\"#0163B2\">{{LANG.NO_RESULT}}</text>\n </svg>\n</ng-template>\n\n<!-- Template loading -->\n<ng-template #loading>\n <div [ngStyle]=\"{\n 'height': searchDepartment$.value.length ? (config.modeView === MODE_VIEW_ENUM.ExternalView ? 'calc(100% - 90px)' : 'calc(100% - 50px)' ) : height\n }\" class=\"qms-loading-container\">\n <div class=\"qms-loader\" *ngFor=\"let item of arrSkeleton\">\n <div class=\"qms-loader__wrapper\">\n <div class=\"row-loader\">\n </div>\n </div>\n </div>\n </div>\n</ng-template>\n\n<!-- Template mask overlay -->\n<ng-template #maskOverlay>\n <div class=\"mask-overlay\">\n <mat-spinner [diameter]=\"50\" [strokeWidth]=\"5\" color=\"primary\"></mat-spinner>\n </div>\n</ng-template>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\"></mat-spinner>\n </div>\n</ng-template>",
34141
34154
  animations: [
34142
34155
  AnimationTreeDepartment
34143
34156
  ],
@@ -34518,7 +34531,7 @@ class SelectDepartmentComponent {
34518
34531
  SelectDepartmentComponent.decorators = [
34519
34532
  { type: Component, args: [{
34520
34533
  selector: 'qms-select-department',
34521
- template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-department-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation]\n *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\" class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{popupData.resultTitle || LANG.RESULT}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <ng-container *ngIf=\"isNodeLoading(item.id)\" [ngTemplateOutlet]=\"loadingSpinner\"></ng-container>\n <mat-icon *ngIf=\"!treeDepartment.isDisabledNode(item.id) && !isNodeLoading(item.id)\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\"\n class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span *ngIf=\"!popupData.config.moveLocationMode\">\n ({{treeDepartment.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n {{LANG.CANCEL}}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
34534
+ template: "<div class=\"qms-select-department\">\n <div class=\"header-dialog mb-2\">\n <span>{{popupData.headerName}}</span>\n <button matDialogClose class=\"btn-close-dialog\" color=\"light\" qms-btn-icon>\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <div class=\"qms-scrollbar\">\n <div>\n <qms-select-department-tree #treeDepartment customClass=\"custom-department-tree\"\n [height]=\"popupData.config.isMobile ? '38vh' : '50vh'\" [rowsSkeleton]=\"9\" [config]=\"popupData.config\"\n (onSearchEvent)=\"onSearchEvent.emit($event)\" (onValueChangeEvent)=\"onResultDepartmentChange($event)\"\n (onPagingSearchEvent)=\"onPagingEvent.emit($event)\" (onCheckNodeEvent)=\"onCheckNodeEvent.emit($event)\"\n (onExpandNodeEvent)=\"onExpandNodeEvent.emit($event)\" (onLoadMoreEvent)=\"onLoadMoreEvent.emit()\"\n (onCheckAllItemSearchEvent)=\"onCheckAllItemSearchEvent.emit($event)\"\n (onCheckItemSearchEvent)=\"onCheckItemSearchEvent.emit($event)\"\n (toggleIncludeChildEvent)=\"toggleIncludeChildEvent.emit($event)\">\n </qms-select-department-tree>\n </div>\n </div>\n <div class=\"line__divider\"></div>\n <div [@heightAnimation]\n *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult && !popupData.config.moveLocationMode\"\n class=\" pr-0 pe-0\">\n <div class=\"header-title\">{{popupData.resultTitle || LANG.RESULT}}</div>\n <div class=\"result-content pr-0 pe-0\">\n <mat-chip-list class=\"panel__item qms-scrollbar\">\n <div [@inOutAnimation_2] [id]=\"'item-result-'+item.id\" *ngFor=\"let item of treeDepartment.resultSelected\">\n <mat-chip [@updateItemAnimation] *qmsContentChanges=\"item.children?.length\"\n [qms-tool-tip]=\"generateTootip(item)\" position=\"top\" mode=\"dark\" qms-chip [removable]=\"true\">\n <span (click)=\"onScrollToNode(item)\" qms-chip-body>\n <span class=\"related__item__content_name\" #itemName>\n <span>{{item.name}}</span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && !popupData.config.lazy\">\n {{item.children.length}}/{{item.childCount}}\n </span>\n <span class=\"select__include-children__count\" *ngIf=\"!!item?.isGroup && popupData.config.lazy\">\n {{item.selectedChildCount || item.children.length}}/{{item.childCount}}\n </span>\n </span>\n </span>\n <ng-container *ngIf=\"isNodeLoading(item.id)\" [ngTemplateOutlet]=\"loadingSpinner\"></ng-container>\n <mat-icon *ngIf=\"!treeDepartment.isDisabledNode(item.id) && !isNodeLoading(item.id)\"\n (click)=\"onRemoveNode(item)\">cancel</mat-icon>\n </mat-chip>\n </div>\n </mat-chip-list>\n </div>\n </div>\n <mat-divider *ngIf=\"treeDepartment && !!treeDepartment.resultSelected.length && !popupData.hidePanelResult\"\n class=\"mx-auto\"></mat-divider>\n <div class=\"confirm__button__groups\">\n <button (click)=\"onCloseDialog()\" class=\"btn-add\"\n [disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\"\n [class.qms-btn-disabled]=\"!treeDepartment.resultSelected.length && !popupData.config.canAddNullResult\" qms-btn>\n <span>{{LANG.ADD}}</span>\n <span *ngIf=\"!popupData.config.moveLocationMode\">\n ({{treeDepartment.resultSelected.length}})\n </span>\n </button>\n <button qms-btn-text mat-dialog-close>\n {{LANG.CANCEL}}\n </button>\n </div>\n </div>\n</div>\n\n<!-- Loading spinner -->\n<ng-template #loadingSpinner>\n <div class=\"qms-spinner-wrapper\">\n <div class=\"qms-spinner center\">\n <mat-spinner [diameter]=\"20\" [strokeWidth]=\"2\" color=\"primary\"></mat-spinner>\n </div>\n </div>\n</ng-template>",
34522
34535
  providers: [
34523
34536
  {
34524
34537
  provide: MAT_CHECKBOX_DEFAULT_OPTIONS,