{ "version": 3, "sources": ["../../../../gui/src/typescript/url.ts", "../../../../gui/src/typescript/i18n.ts", "../../../../gui/src/typescript/icons.ts", "../../../../gui/node_modules/@material/auto-init/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/auto-init/constants.ts", "../../../../gui/node_modules/@material/auto-init/index.ts", "../../../../gui/node_modules/@material/banner/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/base/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/base/foundation.ts", "../../../../gui/node_modules/@material/base/component.ts", "../../../../gui/node_modules/@material/dom/ponyfill.ts", "../../../../gui/node_modules/@material/banner/constants.ts", "../../../../gui/node_modules/@material/banner/foundation.ts", "../../../../gui/node_modules/@material/banner/component.ts", "../../../../gui/node_modules/@material/checkbox/index.ts", "../../../../gui/node_modules/@material/checkbox/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/animation/util.ts", "../../../../gui/node_modules/@material/dom/events.ts", "../../../../gui/node_modules/@material/ripple/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/ripple/constants.ts", "../../../../gui/node_modules/@material/ripple/util.ts", "../../../../gui/node_modules/@material/ripple/foundation.ts", "../../../../gui/node_modules/@material/ripple/component.ts", "../../../../gui/node_modules/@material/checkbox/constants.ts", "../../../../gui/node_modules/@material/checkbox/foundation.ts", "../../../../gui/node_modules/@material/checkbox/component.ts", "../../../../gui/node_modules/@material/chips/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/chips/trailingaction/constants.ts", "../../../../gui/node_modules/@material/dom/keyboard.ts", "../../../../gui/node_modules/@material/chips/trailingaction/foundation.ts", "../../../../gui/node_modules/@material/chips/trailingaction/component.ts", "../../../../gui/node_modules/@material/chips/chip/constants.ts", "../../../../gui/node_modules/@material/chips/chip/foundation.ts", "../../../../gui/node_modules/@material/chips/chip/component.ts", "../../../../gui/node_modules/@material/dom/announce.ts", "../../../../gui/node_modules/@material/chips/chip-set/constants.ts", "../../../../gui/node_modules/@material/chips/chip-set/foundation.ts", "../../../../gui/node_modules/@material/chips/chip-set/component.ts", "../../../../gui/node_modules/@material/circular-progress/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/circular-progress/constants.ts", "../../../../gui/node_modules/@material/circular-progress/foundation.ts", "../../../../gui/node_modules/@material/circular-progress/component.ts", "../../../../gui/node_modules/@material/data-table/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/linear-progress/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/linear-progress/constants.ts", "../../../../gui/node_modules/@material/linear-progress/foundation.ts", "../../../../gui/node_modules/@material/linear-progress/component.ts", "../../../../gui/node_modules/@material/data-table/constants.ts", "../../../../gui/node_modules/@material/data-table/foundation.ts", "../../../../gui/node_modules/@material/data-table/component.ts", "../../../../gui/node_modules/@material/dialog/index.ts", "../../../../gui/node_modules/@material/dialog/util.ts", "../../../../gui/node_modules/@material/dialog/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/dom/focus-trap.ts", "../../../../gui/node_modules/@material/dialog/constants.ts", "../../../../gui/node_modules/@material/dialog/foundation.ts", "../../../../gui/node_modules/@material/dialog/component.ts", "../../../../gui/node_modules/@material/drawer/util.ts", "../../../../gui/node_modules/@material/drawer/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/list/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/list/constants.ts", "../../../../gui/node_modules/@material/list/events.ts", "../../../../gui/node_modules/@material/list/typeahead.ts", "../../../../gui/node_modules/@material/list/foundation.ts", "../../../../gui/node_modules/@material/list/component.ts", "../../../../gui/node_modules/@material/drawer/constants.ts", "../../../../gui/node_modules/@material/drawer/dismissible/foundation.ts", "../../../../gui/node_modules/@material/drawer/modal/foundation.ts", "../../../../gui/node_modules/@material/drawer/component.ts", "../../../../gui/node_modules/@material/floating-label/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/floating-label/constants.ts", "../../../../gui/node_modules/@material/floating-label/foundation.ts", "../../../../gui/node_modules/@material/floating-label/component.ts", "../../../../gui/node_modules/@material/form-field/index.ts", "../../../../gui/node_modules/@material/form-field/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/form-field/constants.ts", "../../../../gui/node_modules/@material/form-field/foundation.ts", "../../../../gui/node_modules/@material/form-field/component.ts", "../../../../gui/node_modules/@material/icon-button/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/icon-button/constants.ts", "../../../../gui/node_modules/@material/icon-button/foundation.ts", "../../../../gui/node_modules/@material/icon-button/component.ts", "../../../../gui/node_modules/@material/line-ripple/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/line-ripple/constants.ts", "../../../../gui/node_modules/@material/line-ripple/foundation.ts", "../../../../gui/node_modules/@material/line-ripple/component.ts", "../../../../gui/node_modules/@material/linear-progress/index.ts", "../../../../gui/node_modules/@material/list/index.ts", "../../../../gui/node_modules/@material/menu-surface/util.ts", "../../../../gui/node_modules/@material/menu-surface/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/menu-surface/constants.ts", "../../../../gui/node_modules/@material/menu-surface/foundation.ts", "../../../../gui/node_modules/@material/menu-surface/component.ts", "../../../../gui/node_modules/@material/menu/index.ts", "../../../../gui/node_modules/@material/menu/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/menu/constants.ts", "../../../../gui/node_modules/@material/menu/foundation.ts", "../../../../gui/node_modules/@material/menu/component.ts", "../../../../gui/node_modules/@material/notched-outline/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/notched-outline/constants.ts", "../../../../gui/node_modules/@material/notched-outline/foundation.ts", "../../../../gui/node_modules/@material/notched-outline/component.ts", "../../../../gui/node_modules/@material/radio/index.ts", "../../../../gui/node_modules/@material/radio/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/radio/constants.ts", "../../../../gui/node_modules/@material/radio/foundation.ts", "../../../../gui/node_modules/@material/radio/component.ts", "../../../../gui/node_modules/@material/ripple/index.ts", "../../../../gui/node_modules/tslib/tslib.es6.mjs", "../../../../gui/node_modules/@material/segmented-button/segmented-button/constants.ts", "../../../../gui/node_modules/@material/segmented-button/segmented-button/foundation.ts", "../../../../gui/node_modules/@material/segmented-button/segment/constants.ts", "../../../../gui/node_modules/@material/segmented-button/segment/foundation.ts", "../../../../gui/node_modules/@material/segmented-button/segment/component.ts", "../../../../gui/node_modules/@material/segmented-button/segmented-button/component.ts", "../../../../gui/node_modules/@material/select/index.ts", "../../../../gui/node_modules/@material/select/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/select/constants.ts", "../../../../gui/node_modules/@material/select/foundation.ts", "../../../../gui/node_modules/@material/select/helper-text/constants.ts", "../../../../gui/node_modules/@material/select/helper-text/foundation.ts", "../../../../gui/node_modules/@material/select/helper-text/component.ts", "../../../../gui/node_modules/@material/select/icon/constants.ts", "../../../../gui/node_modules/@material/select/icon/foundation.ts", "../../../../gui/node_modules/@material/select/icon/component.ts", "../../../../gui/node_modules/@material/select/component.ts", "../../../../gui/node_modules/@material/slider/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/slider/constants.ts", "../../../../gui/node_modules/@material/slider/types.ts", "../../../../gui/node_modules/@material/slider/foundation.ts", "../../../../gui/node_modules/@material/slider/component.ts", "../../../../gui/node_modules/@material/snackbar/index.ts", "../../../../gui/node_modules/@material/snackbar/util.ts", "../../../../gui/node_modules/@material/snackbar/constants.ts", "../../../../gui/node_modules/@material/snackbar/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/snackbar/foundation.ts", "../../../../gui/node_modules/@material/snackbar/component.ts", "../../../../gui/node_modules/@material/switch/index.ts", "../../../../gui/node_modules/@material/switch/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/switch/constants.ts", "../../../../gui/node_modules/@material/switch/foundation.ts", "../../../../gui/node_modules/@material/switch/component.ts", "../../../../gui/node_modules/@material/tab-bar/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/tab-scroller/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/tab-scroller/constants.ts", "../../../../gui/node_modules/@material/tab-scroller/rtl-scroller.ts", "../../../../gui/node_modules/@material/tab-scroller/rtl-default-scroller.ts", "../../../../gui/node_modules/@material/tab-scroller/rtl-negative-scroller.ts", "../../../../gui/node_modules/@material/tab-scroller/rtl-reverse-scroller.ts", "../../../../gui/node_modules/@material/tab-scroller/foundation.ts", "../../../../gui/node_modules/@material/tab-scroller/util.ts", "../../../../gui/node_modules/@material/tab-scroller/component.ts", "../../../../gui/node_modules/@material/tab/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/tab-indicator/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/tab-indicator/constants.ts", "../../../../gui/node_modules/@material/tab-indicator/foundation.ts", "../../../../gui/node_modules/@material/tab-indicator/fading-foundation.ts", "../../../../gui/node_modules/@material/tab-indicator/sliding-foundation.ts", "../../../../gui/node_modules/@material/tab-indicator/component.ts", "../../../../gui/node_modules/@material/tab/constants.ts", "../../../../gui/node_modules/@material/tab/foundation.ts", "../../../../gui/node_modules/@material/tab/component.ts", "../../../../gui/node_modules/@material/tab-bar/constants.ts", "../../../../gui/node_modules/@material/tab-bar/foundation.ts", "../../../../gui/node_modules/@material/tab-bar/component.ts", "../../../../gui/node_modules/@material/textfield/index.ts", "../../../../gui/node_modules/@material/textfield/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/textfield/character-counter/constants.ts", "../../../../gui/node_modules/@material/textfield/character-counter/foundation.ts", "../../../../gui/node_modules/@material/textfield/character-counter/component.ts", "../../../../gui/node_modules/@material/textfield/constants.ts", "../../../../gui/node_modules/@material/textfield/foundation.ts", "../../../../gui/node_modules/@material/textfield/helper-text/constants.ts", "../../../../gui/node_modules/@material/textfield/helper-text/foundation.ts", "../../../../gui/node_modules/@material/textfield/helper-text/component.ts", "../../../../gui/node_modules/@material/textfield/icon/constants.ts", "../../../../gui/node_modules/@material/textfield/icon/foundation.ts", "../../../../gui/node_modules/@material/textfield/icon/component.ts", "../../../../gui/node_modules/@material/textfield/component.ts", "../../../../gui/node_modules/@material/tooltip/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/tooltip/constants.ts", "../../../../gui/node_modules/@material/tooltip/foundation.ts", "../../../../gui/node_modules/@material/tooltip/component.ts", "../../../../gui/node_modules/@material/top-app-bar/index.ts", "../../../../gui/node_modules/@material/top-app-bar/node_modules/tslib/tslib.es6.js", "../../../../gui/node_modules/@material/top-app-bar/constants.ts", "../../../../gui/node_modules/@material/top-app-bar/foundation.ts", "../../../../gui/node_modules/@material/top-app-bar/standard/foundation.ts", "../../../../gui/node_modules/@material/top-app-bar/fixed/foundation.ts", "../../../../gui/node_modules/@material/top-app-bar/short/foundation.ts", "../../../../gui/node_modules/@material/top-app-bar/component.ts", "../../../../gui/node_modules/material-components-web/index.ts", "../../../../gui/src/typescript/fieldHandler.ts", "../../../../gui/src/typescript/contextActions.ts", "../../../../gui/src/typescript/dapiEventUris.ts", "../../../../gui/src/typescript/materialHelpers.ts", "../../../../gui/src/typescript/validation.ts", "../../../../gui/src/typescript/organizationList.ts", "../../../../gui/src/typescript/notification.ts", "../../../../gui/src/typescript/errorHandler.ts", "../../../../gui/src/typescript/tenant.ts", "../../../../gui/src/typescript/permissionManagement.ts", "../../../../gui/src/typescript/stringhelpers.ts", "../../../../gui/src/typescript/mediamanagerFileInput.ts", "../../../../gui/src/typescript/escaping.ts", "../../../../gui/src/typescript/appEdit.ts", "../../../../gui/src/typescript/appList.ts", "../../../../gui/src/typescript/organizationEdit.ts", "../../../../gui/src/typescript/providerList.ts", "../../../../gui/src/typescript/providerEdit.ts", "../../../../gui/src/typescript/providerOverview.ts", "../../../../gui/src/typescript/providerMembership.ts", "../../../../gui/src/typescript/app.ts", "../../../../gui/src/typescript/configTerms.ts", "../../../../gui/src/typescript/orderWizard.ts", "../../../../gui/src/typescript/orderWizardLandingPage.ts", "../../../../gui/src/typescript/subscriptionWizardV2.ts", "../../../../gui/src/typescript/subscriptionWizardV2LandingPage.ts", "../../../../gui/src/typescript/organizationV2.ts", "../../../../gui/src/typescript/tenantMove.ts", "../../../../gui/src/typescript/tenantOverwrites.ts", "../../../../gui/src/typescript/productList.ts", "../../../../gui/src/typescript/productEdit.ts", "../../../../gui/src/typescript/cloudCenter.ts"], "sourcesContent": ["export default class UrlHelpers{\n public static getLinkRelHref = (rel: string) : string => {\n let linkElements = document.head.getElementsByTagName(\"link\");\n for (let i = 0; i < linkElements.length; i++) {\n if (linkElements[i].rel === rel) {\n return linkElements[i].href;\n }\n }\n return undefined;\n };\n public static getLocation = (href: string) : HTMLAnchorElement => {\n let a = document.createElement('a');\n a.href = href;\n return a;\n };\n public static getLinkDataDetails = (rel:string) : string => {\n let linkElements = document.head.getElementsByTagName(\"link\");\n for (let i = 0; i < linkElements.length; i++) {\n if (linkElements[i].rel === rel) {\n return linkElements[i].dataset['details'];\n }\n }\n return undefined;\n };\n public static getMetaData = (key:string):string => {\n let metaElements = document.head.getElementsByTagName(\"meta\");\n for (let i = 0; i < metaElements.length; i++) {\n if (metaElements[i].name === key) {\n return metaElements[i].content;\n }\n }\n return undefined;\n };\n public static setMetaData = (key:string, val:string):void => {\n let elements = document.head.getElementsByTagName('meta');\n for (let i = 0; i {\n if(url_string && key) {\n let url = new URL(url_string);\n return url.searchParams.get(key);\n }\n return undefined;\n };\n public static getSrcFromScript = (key:string):string => {\n let scriptElements = document.head.getElementsByTagName('script');\n for (let i = 0; i < scriptElements.length; i++) {\n if (scriptElements[i].title == key){\n return scriptElements[i].src;\n }\n }\n return undefined;\n };\n public static setQueryParameter = (url: string, key:string, value:string): string => {\n let uri = new URL(url);\n uri.searchParams.set(key, value);\n return uri.toString();\n };\n public static removeQueryParameter = (url: string, key:string): string => {\n let uri = new URL(url);\n uri.searchParams.delete(key);\n return uri.toString();\n }\n\n public static validateURL = (url: string):boolean => {\n const pattern = new RegExp('^(https?:\\\\/\\\\/)?'+ // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|'+ // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))'+ // OR ip (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*'+ // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?'+ // query string\n '(\\\\#[-a-z\\\\d_]*)?$','i'); // fragment locator\n return !!pattern.test(url);\n }\n}", "import UrlHelpers from \"./url\";\n\nexport class i18n {\n private _storageKey = 'centerLocalization';\n\n constructor() {\n }\n\n private _getFromLocalStorage = (): any => {\n let strLocalization = (window).localStorage.getItem(this._storageKey);\n if (strLocalization !== undefined && strLocalization !== null && strLocalization !== '') {\n let retval: any = null;\n try {\n retval = JSON.parse(strLocalization);\n return retval\n } catch (exp) {\n console.error(\"Cannot get localization from locall storage: \", exp)\n }\n } else {\n console.error(\"Cannot get localized strings from localStorage, because localisation not found!\");\n }\n return null;\n };\n private _refreshLocalStorage = () => {\n window.localStorage.removeItem(this._storageKey);\n let url = UrlHelpers.getSrcFromScript('translation');\n let xhr = new XMLHttpRequest();\n xhr.open('GET', url, false);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.setRequestHeader('Cache-Control', 'no-cache');\n xhr.onload = () => {\n console.log(\"result: \", xhr.responseText);\n let result = JSON.parse(xhr.responseText);\n window.localStorage.setItem(this._storageKey, JSON.stringify(result));\n };\n xhr.send();\n };\n private _refreshLocalStorageForLanguage = (languageKey: i18n.Language) => {\n if (!i18n.Language.includes(languageKey.toString())) {\n console.error('languageKey is not of type LanguageKeys');\n return;\n }\n const storageKey = this.getStorageKeyForLanguageKey(languageKey);\n window.localStorage.removeItem(storageKey);\n let url = UrlHelpers.getSrcFromScript('translation');\n let xhr = new XMLHttpRequest();\n xhr.open('GET', url, false);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.setRequestHeader('Cache-Control', 'no-cache');\n xhr.setRequestHeader('Accept-Language', languageKey.toString())\n xhr.onload = () => {\n console.log(\"result: \", xhr.responseText);\n let result = JSON.parse(xhr.responseText);\n window.localStorage.setItem(storageKey, JSON.stringify(result));\n };\n xhr.send();\n };\n public getTranslation = (key: string, targetLanguage?: i18n.Language): string => {\n let storageKey = this._storageKey;\n let refresh = this._refreshLocalStorage;\n if (targetLanguage && i18n.Language.includes(targetLanguage.toString())) {\n storageKey = this.getStorageKeyForLanguageKey(targetLanguage);\n refresh = () => {\n this._refreshLocalStorageForLanguage(targetLanguage)\n };\n }\n let translations = JSON.parse(window.localStorage.getItem(storageKey));\n if (translations) {\n let result: any = translations[key];\n if (result) {\n return result.other;\n }\n }\n refresh();\n translations = JSON.parse(window.localStorage.getItem(storageKey));\n let result = translations[key];\n if (result) {\n return result.other;\n }\n console.warn('translation \"' + key + '\" not found');\n return key;\n };\n\n public static replaceTranslationPlaceholder = (v: string, ph: string, replacement: string): string => {\n if (v.isNullOrEmpty()) {\n console.warn(\"String is null or empty. Nothing was replaced\");\n return v;\n } else if (ph.isNullOrEmpty()) {\n console.warn(\"No placeholder found. Nothing can be replaced\");\n return v;\n }\n let retVal = v.replace(ph, replacement);\n return retVal;\n }\n\n public getStorageKeyForLanguageKey(lk: i18n.Language): string {\n return i18n.Language.includes(lk.toString()) ? `${this._storageKey}_${lk.toString()}` : this._storageKey;\n }\n}\n\nexport namespace i18n {\n export enum Language {\n Default = \"en\",\n DE = \"de\",\n EN = \"en\"\n }\n\n export namespace Language {\n export function includes(value: string): boolean {\n return (Object).values(Language).includes(value);\n }\n\n export function parse(value: string): Language {\n value = value.toLowerCase();\n return Language.includes(value) ? value : Language.Default;\n }\n }\n}\n\n\n", "import editIconFile from '../img/uEA1C-edit-32x32.png';\nimport addIconFile from '../img/uEA76-zoomin-32x32.png';\nimport permIconFile from '../img/uEA6A-usergroup-32x32.png';\nimport deleteIconFile from '../img/uEA14-delete-32x32.png';\nimport serverIconFile from '../img/uEA56-server-32x32.png';\nimport subscribeIconFile from '../img/uEA96-agreement-32x32.png';\nimport signIconFile from '../img/uEA5A-sign-32x32.png';\nimport tileIconFile from '../img/uEA7D-tiles-32x32.png';\nimport saveIconFile from '../img/uEA52-save-32x32.png';\nimport cancelIconFile from '../img/uEA0A-cancel-32x32.png';\nimport pageBackIconFile from '../img/chevron-left-4x.png';\nimport placeholderImage from '../img/baseline_add_photo_alternate_black_48dp.png';\nimport defaultExtensionIconFile from '../img/baseline_extension_black_36dp.png';\nimport createSystemBackgroundFile from '../img/cja-create-system.png';\nimport successFlagBackgroundFile from '../img/cja-success-flag.png';\nimport landingPageBackgroundFile from '../img/cja-login.png'\nimport dvLogoSWFile from '../img/dvlogo-sw.png';\nimport moveIconFile from '../img/outline_drive_file_move_black_24dp.png';\nimport overwriteIconFile from '../img/assistant_direction_FILL0_wght400_GRAD0_opsz48.png';\n\nexport var editIcon = editIconFile;\nexport var addIcon = addIconFile;\nexport var permIcon = permIconFile;\nexport var deleteIcon = deleteIconFile;\nexport var serverIcon = serverIconFile;\nexport var subscribeIcon = subscribeIconFile;\nexport var signIcon = signIconFile;\nexport var tileIcon = tileIconFile;\nexport var saveIcon = saveIconFile;\nexport var cancelIcon = cancelIconFile;\nexport var defaultExtensionIcon = defaultExtensionIconFile;\nexport var dvLogo = dvLogoSWFile;\nexport var createSystemBackground = createSystemBackgroundFile;\nexport var successFlagBackground = successFlagBackgroundFile;\nexport var landingPageBackground = landingPageBackgroundFile;\nexport var moveOrgaIcon = moveIconFile;\nexport var overwriteIcon = overwriteIconFile;\n\n// 3rd-Party\n// source: https://useiconic.com/open\nimport cardIconFile from '../img/grid-three-up-2x.png';\nimport listIconFile from '../img/list-2x.png';\nimport providerIconFile from '../img/command-4x.png';\n\nexport var cardIcon = cardIconFile;\nexport var listIcon = listIconFile;\nexport var providerIcon = providerIconFile;\nexport var pageBackIcon = pageBackIconFile;\n\nexport var placeholderEmptyImage = placeholderImage;", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/** Banner element classes. */\nexport const cssClasses = {\n CLOSING: 'mdc-banner--closing',\n OPEN: 'mdc-banner--open',\n OPENING: 'mdc-banner--opening',\n};\n\n/** Banner numbers. */\nexport const numbers = {\n BANNER_ANIMATION_CLOSE_TIME_MS: 250,\n BANNER_ANIMATION_OPEN_TIME_MS: 300,\n};\n\n/** Banner events. */\nexport const events = {\n CLOSED: 'MDCBanner:closed',\n CLOSING: 'MDCBanner:closing',\n OPENED: 'MDCBanner:opened',\n OPENING: 'MDCBanner:opening',\n};\n\n/** Banner selectors. */\nexport const selectors = {\n CONTENT: '.mdc-banner__content',\n PRIMARY_ACTION: '.mdc-banner__primary-action',\n SECONDARY_ACTION: '.mdc-banner__secondary-action',\n TEXT: '.mdc-banner__text',\n};\n\n/** Reason as to why the banner was closed. */\nexport enum CloseReason {\n // Indicates the banner was closed via primary action button.\n PRIMARY,\n // Indicates the banner was closed via secondary action button.\n SECONDARY,\n // Will never be used by the component. Provided for custom handling of\n // programmatic closing of the banner.\n UNSPECIFIED,\n}\n\n/** Interface for the detail of the closing and closed events emitted. */\nexport interface MDCBannerCloseEventDetail {\n reason: CloseReason;\n}\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCFoundation} from '@material/base/foundation';\n\nimport {MDCBannerAdapter} from './adapter';\nimport {CloseReason, cssClasses, numbers} from './constants';\n\nconst {OPENING, OPEN, CLOSING} = cssClasses;\n\n/**\n * Foundation class for banner. Responsibilities include opening and closing the\n * banner.\n */\nexport class MDCBannerFoundation extends MDCFoundation {\n static get defaultAdapter(): MDCBannerAdapter {\n return {\n addClass: () => undefined,\n getContentHeight: () => 0,\n notifyClosed: () => undefined,\n notifyClosing: () => undefined,\n notifyOpened: () => undefined,\n notifyOpening: () => undefined,\n removeClass: () => undefined,\n setStyleProperty: () => undefined,\n };\n }\n\n private isOpened = false;\n // Request id for open animation, used to cancel the refresh callback\n // request on close() and destroy().\n private animationFrame = 0;\n // Timer id for close and open animation, used to cancel the timer on\n // close() and destroy().\n private animationTimer = 0;\n\n constructor(adapter?: Partial) {\n super({...MDCBannerFoundation.defaultAdapter, ...adapter});\n }\n\n destroy() {\n cancelAnimationFrame(this.animationFrame);\n this.animationFrame = 0;\n clearTimeout(this.animationTimer);\n this.animationTimer = 0;\n }\n\n open() {\n this.isOpened = true;\n this.adapter.notifyOpening();\n this.adapter.removeClass(CLOSING);\n this.adapter.addClass(OPENING);\n\n const contentHeight = this.adapter.getContentHeight();\n this.animationFrame = requestAnimationFrame(() => {\n this.adapter.addClass(OPEN);\n this.adapter.setStyleProperty('height', `${contentHeight}px`);\n\n this.animationTimer = setTimeout(() => {\n this.handleAnimationTimerEnd();\n this.adapter.notifyOpened();\n }, numbers.BANNER_ANIMATION_OPEN_TIME_MS);\n });\n }\n\n /**\n * @param reason Why the banner was closed. Value will be passed to\n * events.CLOSING and events.CLOSED via the `event.detail.reason`\n * property. Standard values are CloseReason.PRIMARY and\n * CloseReason.SECONDARY, but CloseReason.UNSPECIFIED is provided for\n * custom handling of programmatic closing of the banner.\n */\n close(reason: CloseReason) {\n if (!this.isOpened) {\n // Avoid redundant close calls (and events), e.g. repeated interactions as\n // the banner is animating closed\n return;\n }\n\n cancelAnimationFrame(this.animationFrame);\n this.animationFrame = 0;\n\n this.isOpened = false;\n this.adapter.notifyClosing(reason);\n this.adapter.addClass(CLOSING);\n this.adapter.setStyleProperty('height', '0');\n this.adapter.removeClass(OPEN);\n this.adapter.removeClass(OPENING);\n\n clearTimeout(this.animationTimer);\n this.animationTimer = setTimeout(() => {\n this.handleAnimationTimerEnd();\n this.adapter.notifyClosed(reason);\n }, numbers.BANNER_ANIMATION_CLOSE_TIME_MS);\n }\n\n isOpen(): boolean {\n return this.isOpened;\n }\n\n handlePrimaryActionClick() {\n this.close(CloseReason.PRIMARY);\n }\n\n handleSecondaryActionClick() {\n this.close(CloseReason.SECONDARY);\n }\n\n layout() {\n const contentHeight = this.adapter.getContentHeight();\n this.adapter.setStyleProperty('height', `${contentHeight}px`);\n }\n\n private handleAnimationTimerEnd() {\n this.animationTimer = 0;\n this.adapter.removeClass(OPENING);\n this.adapter.removeClass(CLOSING);\n }\n}\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCComponent} from '@material/base/component';\nimport {SpecificEventListener} from '@material/base/types';\nimport {closest} from '@material/dom/ponyfill';\n\nimport {MDCBannerAdapter} from './adapter';\nimport {CloseReason, events, MDCBannerCloseEventDetail, selectors} from './constants';\nimport {MDCBannerFoundation} from './foundation';\n\n/** Vanilla JS implementation of banner component. */\nexport class MDCBanner extends MDCComponent {\n static attachTo(root: Element) {\n return new MDCBanner(root);\n }\n\n root!: HTMLElement; // Assigned in MDCComponent constructor.\n private handleContentClick!:\n SpecificEventListener<'click'>; // Assigned in #initialize.\n private primaryActionEl!: HTMLElement; // Assigned in #initialize.\n private secondaryActionEl!: HTMLElement|null; // Assigned in #initialize.\n private textEl!: HTMLElement; // Assigned in #initialize.\n private contentEl!: HTMLElement; // Assigned in #initialize.\n\n initialize() {\n this.contentEl = this.root.querySelector(selectors.CONTENT) as HTMLElement;\n this.textEl = this.root.querySelector(selectors.TEXT) as HTMLElement;\n this.primaryActionEl =\n this.root.querySelector(selectors.PRIMARY_ACTION) as HTMLElement;\n this.secondaryActionEl =\n this.root.querySelector(selectors.SECONDARY_ACTION) as HTMLElement;\n\n this.handleContentClick = (evt) => {\n const target = evt.target as Element;\n if (closest(target, selectors.PRIMARY_ACTION)) {\n this.foundation.handlePrimaryActionClick();\n } else if (closest(target, selectors.SECONDARY_ACTION)) {\n this.foundation.handleSecondaryActionClick();\n }\n };\n }\n\n initialSyncWithDOM() {\n this.registerContentClickHandler(this.handleContentClick);\n }\n\n destroy() {\n super.destroy();\n this.deregisterContentClickHandler(this.handleContentClick);\n }\n\n layout() {\n this.foundation.layout();\n }\n\n /**\n * Opens the banner and fires events.OPENING to indicate the beginning of its\n * opening animation and then events.OPENED once the animation finishes.\n */\n open() {\n this.foundation.open();\n }\n\n /**\n * Closes the banner and fires events.CLOSING to indicate the beginning of its\n * closing animation and then events.CLOSED once the animation finishes.\n * @param reason Why the banner was closed. Value will be passed to\n * events.CLOSING and events.CLOSED via the `event.detail.reason`\n * property. Standard values are CloseReason.PRIMARY and\n * CloseReason.SECONDARY, but CloseReason.UNSPECIFIED is provided for\n * custom handling of programmatic closing of the banner.\n */\n close(reason: CloseReason) {\n this.foundation.close(reason);\n }\n\n getDefaultFoundation() {\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n const adapter: MDCBannerAdapter = {\n addClass: (className) => {\n this.root.classList.add(className);\n },\n getContentHeight: () => {\n return this.contentEl.offsetHeight;\n },\n notifyClosed: (reason) => {\n this.emit(events.CLOSED, {reason});\n },\n notifyClosing: (reason) => {\n this.emit(events.CLOSING, {reason});\n },\n notifyOpened: () => {\n this.emit(events.OPENED, {});\n },\n notifyOpening: () => {\n this.emit(events.OPENING, {});\n },\n removeClass: (className) => {\n this.root.classList.remove(className);\n },\n setStyleProperty: (propertyName, value) => {\n this.root.style.setProperty(propertyName, value);\n },\n };\n return new MDCBannerFoundation(adapter);\n }\n\n get isOpen(): boolean {\n return this.foundation.isOpen();\n }\n\n getText(): string {\n return this.textEl.textContent || '';\n }\n\n setText(text: string) {\n this.textEl.textContent = text;\n }\n\n getPrimaryActionText(): string {\n return this.primaryActionEl.textContent || '';\n }\n\n setPrimaryActionText(actionButtonText: string) {\n this.primaryActionEl.textContent = actionButtonText;\n }\n\n /** Returns null if the banner has no secondary action. */\n getSecondaryActionText(): string|null {\n return this.secondaryActionEl ? this.secondaryActionEl.textContent || '' :\n null;\n }\n\n setSecondaryActionText(actionButtonText: string) {\n if (this.secondaryActionEl) {\n this.secondaryActionEl.textContent = actionButtonText;\n }\n }\n\n private registerContentClickHandler(handler: SpecificEventListener<'click'>) {\n this.contentEl.addEventListener('click', handler as EventListener);\n }\n\n private deregisterContentClickHandler(handler:\n SpecificEventListener<'click'>) {\n this.contentEl.removeEventListener('click', handler as EventListener);\n }\n}\n", null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * Selectors used by segmented-button\n */\nexport const selectors = {\n SEGMENT: '.mdc-segmented-button__segment'\n};\n\n/**\n * Events received or emitted by segmented-button\n */\nexport const events = {\n SELECTED: 'selected',\n CHANGE: 'change'\n};\n\n/**\n * Style classes for segmented-button\n */\nexport const cssClasses = {\n SINGLE_SELECT: 'mdc-segmented-button--single-select'\n};\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCFoundation} from '@material/base/foundation';\n\nimport {SegmentDetail} from '../types';\n\nimport {MDCSegmentedButtonAdapter} from './adapter';\nimport {cssClasses} from './constants';\n\nexport class MDCSegmentedButtonFoundation extends\n MDCFoundation {\n static get defaultAdapter(): MDCSegmentedButtonAdapter {\n return {\n hasClass: () => false, getSegments: () => [],\n selectSegment: () => undefined,\n unselectSegment: () => undefined,\n notifySelectedChange: () => undefined\n }\n }\n\n constructor(adapter?: Partial) {\n super({...MDCSegmentedButtonFoundation.defaultAdapter, ...adapter});\n }\n\n /**\n * Sets identified child segment to be selected\n *\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n */\n selectSegment(indexOrSegmentId: number|string) {\n this.adapter.selectSegment(indexOrSegmentId);\n }\n\n /**\n * Sets identified child segment to be not selected\n *\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n */\n unselectSegment(indexOrSegmentId: number|string) {\n this.adapter.unselectSegment(indexOrSegmentId);\n }\n\n /**\n * @return Returns currently selected child segments as readonly list of\n * SegmentDetails\n */\n getSelectedSegments(): readonly SegmentDetail[] {\n return this.adapter.getSegments().filter(\n segmentDetail => segmentDetail.selected);\n }\n\n /**\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n * @return Returns true if identified child segment is currently selected,\n * otherwise returns false\n */\n isSegmentSelected(indexOrSegmentId: number|string): boolean {\n return this.adapter.getSegments().some(\n segmentDetail => (segmentDetail.index === indexOrSegmentId ||\n segmentDetail.segmentId === indexOrSegmentId) &&\n segmentDetail.selected);\n }\n\n /**\n * @return Returns true if segmented button is single select, otherwise\n * returns false\n */\n isSingleSelect(): boolean {\n return this.adapter.hasClass(cssClasses.SINGLE_SELECT);\n }\n\n /**\n * Called when child segment's selected status may have changed. If segmented\n * button is single select, unselects all child segments other than identified\n * child segment. Finally, emits event to client.\n *\n * @param detail Child segment affected represented as SegmentDetail\n * @event change With detail - SegmentDetail\n */\n handleSelected(detail: SegmentDetail) {\n if (this.isSingleSelect()) {\n this.unselectPrevSelected(detail.index);\n }\n this.adapter.notifySelectedChange(detail);\n }\n\n /**\n * Sets all child segments to be not selected except for child segment\n * identified by index\n *\n * @param index Index of child segment to not unselect\n */\n private unselectPrevSelected(index: number) {\n for (let selectedSegment of this.getSelectedSegments()) {\n if (selectedSegment.index !== index) {\n this.unselectSegment(selectedSegment.index);\n }\n }\n }\n}\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\n/**\n * Boolean strings for segment\n */\nexport const booleans = {\n TRUE: 'true',\n FALSE: 'false'\n};\n\n/**\n * Attributes referenced by segment\n */\nexport const attributes = {\n ARIA_CHECKED: 'aria-checked',\n ARIA_PRESSED: 'aria-pressed',\n DATA_SEGMENT_ID: 'data-segment-id'\n};\n\n/**\n * Events received or emitted by segment\n */\nexport const events = {\n CLICK: 'click',\n SELECTED: 'selected'\n};\n\n/**\n * Style classes for segment\n */\nexport const cssClasses = {\n SELECTED: 'mdc-segmented-button__segment--selected'\n};\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCFoundation} from '@material/base/foundation';\n\nimport {MDCSegmentedButtonSegmentAdapter} from './adapter';\nimport {attributes, booleans, cssClasses} from './constants';\n\nconst emptyClientRect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n};\n\nexport class MDCSegmentedButtonSegmentFoundation extends\n MDCFoundation {\n static get defaultAdapter(): MDCSegmentedButtonSegmentAdapter {\n return {\n isSingleSelect: () => false, getAttr: () => '', setAttr: () => undefined,\n addClass: () => undefined, removeClass: () => undefined,\n hasClass: () => false,\n notifySelectedChange: () => undefined,\n getRootBoundingClientRect: () => emptyClientRect,\n }\n }\n\n constructor(adapter?: Partial) {\n super({...MDCSegmentedButtonSegmentFoundation.defaultAdapter, ...adapter});\n }\n\n /**\n * @return Returns true if segment is currently selected, otherwise returns\n * false\n */\n isSelected(): boolean {\n return this.adapter.hasClass(cssClasses.SELECTED);\n }\n\n /**\n * Sets segment to be selected\n */\n setSelected() {\n this.adapter.addClass(cssClasses.SELECTED);\n this.setAriaAttr(booleans.TRUE);\n }\n\n /**\n * Sets segment to be not selected\n */\n setUnselected() {\n this.adapter.removeClass(cssClasses.SELECTED);\n this.setAriaAttr(booleans.FALSE);\n }\n\n /**\n * @return Returns segment's segmentId if it was set by client\n */\n getSegmentId(): string|undefined {\n return this.adapter.getAttr(attributes.DATA_SEGMENT_ID) ?? undefined;\n }\n\n /**\n * Called when segment is clicked. If the wrapping segmented button is single\n * select, doesn't allow segment to be set to not selected. Otherwise, toggles\n * segment's selected status. Finally, emits event to wrapping segmented\n * button.\n *\n * @event selected With detail - SegmentDetail\n */\n handleClick(): void {\n if (this.adapter.isSingleSelect()) {\n this.setSelected();\n } else {\n this.toggleSelection();\n }\n this.adapter.notifySelectedChange(this.isSelected());\n }\n\n /**\n * @return Returns bounding rectangle for ripple effect\n */\n getDimensions(): ClientRect {\n return this.adapter.getRootBoundingClientRect();\n }\n\n /**\n * Sets segment from not selected to selected, or selected to not selected\n */\n private toggleSelection() {\n if (this.isSelected()) {\n this.setUnselected();\n } else {\n this.setSelected();\n }\n }\n\n /**\n * Sets appropriate aria attribute, based on wrapping segmented button's\n * single selected value, to new value\n *\n * @param value Value that represents selected status\n */\n private setAriaAttr(value: string) {\n if (this.adapter.isSingleSelect()) {\n this.adapter.setAttr(attributes.ARIA_CHECKED, value);\n } else {\n this.adapter.setAttr(attributes.ARIA_PRESSED, value);\n }\n }\n}\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCComponent} from '@material/base/component';\nimport {SpecificEventListener} from '@material/base/types';\nimport {MDCRippleAdapter} from '@material/ripple/adapter';\nimport {MDCRipple, MDCRippleFactory} from '@material/ripple/component';\nimport {MDCRippleFoundation} from '@material/ripple/foundation';\nimport {MDCRippleCapableSurface} from '@material/ripple/types';\n\nimport {SegmentDetail} from '../types';\n\nimport {MDCSegmentedButtonSegmentAdapter} from './adapter';\nimport {events} from './constants';\nimport {MDCSegmentedButtonSegmentFoundation} from './foundation';\n\n/**\n * MDCSegmentedButtonSegment factory type.\n */\nexport type MDCSegmentedButtonSegmentFactory =\n (el: Element, foundation?: MDCSegmentedButtonSegmentFoundation) =>\n MDCSegmentedButtonSegment;\n\n/**\n * Implementation of MDCSegmentedButtonSegmentFoundation\n */\nexport class MDCSegmentedButtonSegment extends\n MDCComponent implements\n MDCRippleCapableSurface {\n get ripple(): MDCRipple {\n return this.rippleComponent;\n }\n\n static attachTo(root: Element) {\n return new MDCSegmentedButtonSegment(root);\n }\n\n private index!: number; // assigned in setIndex by parent\n private isSingleSelect!: boolean; // assigned in setIsSingleSelect by parent\n private rippleComponent!: MDCRipple; // assigned in initialize\n private handleClick!:\n SpecificEventListener<'click'>; // assigned in initialSyncWithDOM\n\n initialize(\n rippleFactory: MDCRippleFactory = (el, foundation) =>\n new MDCRipple(el, foundation)) {\n const rippleAdapter: MDCRippleAdapter = {\n ...MDCRipple.createAdapter(this),\n computeBoundingRect: () => this.foundation.getDimensions()\n };\n this.rippleComponent =\n rippleFactory(this.root, new MDCRippleFoundation(rippleAdapter));\n }\n\n initialSyncWithDOM() {\n this.handleClick = () => {\n this.foundation.handleClick();\n };\n\n this.listen(events.CLICK, this.handleClick);\n }\n\n destroy() {\n this.ripple.destroy();\n\n this.unlisten(events.CLICK, this.handleClick);\n\n super.destroy();\n }\n\n getDefaultFoundation(): MDCSegmentedButtonSegmentFoundation {\n // DO NOT INLINE this variable. For backward compatibility, foundations take\n // a Partial. To ensure we don't accidentally omit any\n // methods, we need a separate, strongly typed adapter variable.\n // tslint:disable:object-literal-sort-keys Methods should be in the same order as the adapter interface.\n const adapter: MDCSegmentedButtonSegmentAdapter = {\n isSingleSelect: () => {\n return this.isSingleSelect;\n },\n getAttr: (attrName) => {\n return this.root.getAttribute(attrName);\n },\n setAttr: (attrName, value) => {\n this.root.setAttribute(attrName, value);\n },\n addClass: (className) => {\n this.root.classList.add(className);\n },\n removeClass: (className) => {\n this.root.classList.remove(className);\n },\n hasClass: (className) => {\n return this.root.classList.contains(className);\n },\n notifySelectedChange: (selected) => {\n this.emit(\n events.SELECTED, {\n index: this.index,\n selected,\n segmentId: this.getSegmentId()\n },\n true /* shouldBubble */\n );\n },\n getRootBoundingClientRect: () => {\n return this.root.getBoundingClientRect();\n }\n };\n return new MDCSegmentedButtonSegmentFoundation(adapter);\n }\n\n /**\n * Sets segment's index value\n *\n * @param index Segment's index within wrapping segmented button\n */\n setIndex(index: number) {\n this.index = index;\n }\n\n /**\n * Sets segment's isSingleSelect value\n *\n * @param isSingleSelect True if wrapping segmented button is single select\n */\n setIsSingleSelect(isSingleSelect: boolean) {\n this.isSingleSelect = isSingleSelect;\n }\n\n /**\n * @return Returns true if segment is currently selected, otherwise returns\n * false\n */\n isSelected(): boolean {\n return this.foundation.isSelected();\n }\n\n /**\n * Sets segment to be selected\n */\n setSelected() {\n this.foundation.setSelected();\n }\n\n /**\n * Sets segment to be not selected\n */\n setUnselected() {\n this.foundation.setUnselected();\n }\n\n /**\n * @return Returns segment's segmentId if it was set by client\n */\n getSegmentId(): string|undefined {\n return this.foundation.getSegmentId();\n }\n}\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCComponent} from '@material/base/component';\nimport {CustomEventListener} from '@material/base/types';\n\nimport {MDCSegmentedButtonSegment, MDCSegmentedButtonSegmentFactory} from '../segment/component';\nimport {MDCSegmentedButtonEvent, SegmentDetail} from '../types';\n\nimport {MDCSegmentedButtonAdapter} from './adapter';\nimport {events, selectors} from './constants';\nimport {MDCSegmentedButtonFoundation} from './foundation';\n\n// TODO(b/152410470): Remove trailing underscores from private properties\n// tslint:disable:strip-private-property-underscore\n\nexport class MDCSegmentedButton extends\n MDCComponent {\n static attachTo(root: Element): MDCSegmentedButton {\n return new MDCSegmentedButton(root);\n }\n\n get segments(): ReadonlyArray {\n return this.segments_.slice();\n }\n\n private segments_!: MDCSegmentedButtonSegment[]; // assigned in initialize\n private segmentFactory!:\n (el: Element) => MDCSegmentedButtonSegment; // assigned in initialize\n private handleSelected!:\n CustomEventListener; // assigned in\n // initialSyncWithDOM\n\n initialize(\n segmentFactory: MDCSegmentedButtonSegmentFactory = (el) =>\n new MDCSegmentedButtonSegment(el)) {\n this.segmentFactory = segmentFactory;\n this.segments_ = this.instantiateSegments(this.segmentFactory);\n }\n\n /**\n * @param segmentFactory Factory to create new child segments\n * @return Returns list of child segments found in DOM\n */\n private instantiateSegments(segmentFactory: MDCSegmentedButtonSegmentFactory):\n MDCSegmentedButtonSegment[] {\n const segmentElements: Element[] =\n [].slice.call(this.root.querySelectorAll(selectors.SEGMENT));\n return segmentElements.map((el: Element) => segmentFactory(el));\n }\n\n initialSyncWithDOM() {\n this.handleSelected = (event) => {\n this.foundation.handleSelected(event.detail);\n };\n this.listen(events.SELECTED, this.handleSelected);\n\n const isSingleSelect = this.foundation.isSingleSelect();\n this.segments_.forEach((segment, index: number) => {\n segment.setIndex(index);\n segment.setIsSingleSelect(isSingleSelect);\n });\n\n const selectedSegments =\n this.segments_.filter((segment) => segment.isSelected());\n if (isSingleSelect && selectedSegments.length == 0 &&\n this.segments_.length > 0) {\n throw new Error(\n 'No segment selected in singleSelect mdc-segmented-button');\n } else if (isSingleSelect && selectedSegments.length > 1) {\n throw new Error(\n 'Multiple segments selected in singleSelect mdc-segmented-button');\n }\n }\n\n destroy() {\n this.segments_.forEach((segment) => {\n segment.destroy();\n });\n\n this.unlisten(events.SELECTED, this.handleSelected);\n\n super.destroy();\n }\n\n getDefaultFoundation(): MDCSegmentedButtonFoundation {\n const adapter: MDCSegmentedButtonAdapter = {\n hasClass: (className) => {\n return this.root.classList.contains(className);\n },\n getSegments: () => {\n return this.mappedSegments();\n },\n selectSegment: (indexOrSegmentId) => {\n const segmentDetail = this.mappedSegments().find(\n (_segmentDetail) => _segmentDetail.index === indexOrSegmentId ||\n _segmentDetail.segmentId === indexOrSegmentId);\n if (segmentDetail) {\n this.segments_[segmentDetail.index].setSelected();\n }\n },\n unselectSegment: (indexOrSegmentId) => {\n const segmentDetail = this.mappedSegments().find(\n (_segmentDetail) => _segmentDetail.index === indexOrSegmentId ||\n _segmentDetail.segmentId === indexOrSegmentId);\n if (segmentDetail) {\n this.segments_[segmentDetail.index].setUnselected();\n }\n },\n notifySelectedChange: (detail) => {\n this.emit(\n events.CHANGE, detail, true /* shouldBubble */\n );\n }\n };\n return new MDCSegmentedButtonFoundation(adapter);\n }\n\n /**\n * @return Returns readonly list of selected child segments as SegmentDetails\n */\n getSelectedSegments(): readonly SegmentDetail[] {\n return this.foundation.getSelectedSegments();\n }\n\n /**\n * Sets identified segment to be selected\n *\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n */\n selectSegment(indexOrSegmentId: number|string) {\n this.foundation.selectSegment(indexOrSegmentId);\n }\n\n /**\n * Sets identified segment to be not selected\n *\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n */\n unselectSegment(indexOrSegmentId: number|string) {\n this.foundation.unselectSegment(indexOrSegmentId);\n }\n\n /**\n * @param indexOrSegmentId Number index or string segmentId that identifies\n * child segment\n * @return Returns true if identified child segment is currently selected,\n * otherwise returns false\n */\n isSegmentSelected(indexOrSegmentId: number|string): boolean {\n return this.foundation.isSegmentSelected(indexOrSegmentId);\n }\n\n /**\n * @return Returns child segments mapped to readonly SegmentDetail list\n */\n private mappedSegments(): readonly SegmentDetail[] {\n return this.segments_.map(\n (segment: MDCSegmentedButtonSegment, index: number) => {\n return {\n index,\n selected: segment.isSelected(),\n segmentId: segment.getSegmentId()\n };\n });\n }\n}\n", null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, null, null, null, null, null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nenum CssClasses {\n SHOWN = 'mdc-tooltip--shown',\n SHOWING = 'mdc-tooltip--showing',\n SHOWING_TRANSITION = 'mdc-tooltip--showing-transition',\n HIDE = 'mdc-tooltip--hide',\n HIDE_TRANSITION = 'mdc-tooltip--hide-transition',\n MULTILINE_TOOLTIP = 'mdc-tooltip--multiline',\n}\n\nconst numbers = {\n BOUNDED_ANCHOR_GAP: 4,\n UNBOUNDED_ANCHOR_GAP: 8,\n MIN_VIEWPORT_TOOLTIP_THRESHOLD: 32,\n HIDE_DELAY_MS: 600,\n SHOW_DELAY_MS: 500,\n // LINT.IfChange(tooltip-dimensions)\n MIN_HEIGHT: 24,\n MAX_WIDTH: 200,\n // LINT.ThenChange(_tooltip.scss:tooltip-dimensions)\n};\n\nconst events = {\n HIDDEN: 'MDCTooltip:hidden',\n};\n\n/** Enum for possible tooltip positioning relative to its anchor element. */\nenum XPosition {\n DETECTED = 0,\n START = 1,\n CENTER = 2,\n END = 3,\n}\n\nenum YPosition {\n DETECTED = 0,\n ABOVE = 1,\n BELOW = 2,\n}\n\n/**\n * Enum for possible anchor boundary types. This determines the gap between the\n * bottom of the anchor and the tooltip element.\n * Bounded anchors have an identifiable boundary (e.g. buttons).\n * Unbounded anchors don't have a visually declared boundary (e.g. plain text).\n */\nenum AnchorBoundaryType {\n BOUNDED = 0,\n UNBOUNDED = 1,\n}\n\nexport {CssClasses, numbers, events, XPosition, AnchorBoundaryType, YPosition};\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCFoundation} from '@material/base/foundation';\nimport {SpecificEventListener} from '@material/base/types';\nimport {KEY, normalizeKey} from '@material/dom/keyboard';\nimport {MDCTooltipAdapter} from './adapter';\nimport {AnchorBoundaryType, CssClasses, numbers, XPosition, YPosition} from './constants';\nimport {ShowTooltipOptions} from './types';\n\nconst {\n SHOWN,\n SHOWING,\n SHOWING_TRANSITION,\n HIDE,\n HIDE_TRANSITION,\n MULTILINE_TOOLTIP\n} = CssClasses;\n\nexport class MDCTooltipFoundation extends MDCFoundation {\n static get defaultAdapter(): MDCTooltipAdapter {\n return {\n getAttribute: () => null,\n setAttribute: () => undefined,\n addClass: () => undefined,\n hasClass: () => false,\n removeClass: () => undefined,\n setStyleProperty: () => undefined,\n getViewportWidth: () => 0,\n getViewportHeight: () => 0,\n getTooltipSize: () => ({width: 0, height: 0}),\n getAnchorBoundingRect: () =>\n ({top: 0, right: 0, bottom: 0, left: 0, width: 0, height: 0}),\n getAnchorAttribute: () => null,\n isRTL: () => false,\n registerDocumentEventHandler: () => undefined,\n deregisterDocumentEventHandler: () => undefined,\n notifyHidden: () => undefined,\n };\n }\n\n private isShown = false;\n private anchorGap = numbers.BOUNDED_ANCHOR_GAP;\n private xTooltipPos = XPosition.DETECTED;\n private yTooltipPos = YPosition.DETECTED;\n // Minimum threshold distance needed between the tooltip and the viewport.\n private readonly minViewportTooltipThreshold =\n numbers.MIN_VIEWPORT_TOOLTIP_THRESHOLD;\n private readonly hideDelayMs = numbers.HIDE_DELAY_MS;\n private readonly showDelayMs = numbers.SHOW_DELAY_MS;\n\n private frameId: number|null = null;\n private hideTimeout: number|null = null;\n private showTimeout: number|null = null;\n private readonly documentClickHandler: SpecificEventListener<'click'>;\n private readonly documentKeydownHandler: SpecificEventListener<'keydown'>;\n\n constructor(adapter?: Partial) {\n super({...MDCTooltipFoundation.defaultAdapter, ...adapter});\n\n this.documentClickHandler = () => {\n this.handleClick();\n };\n\n this.documentKeydownHandler = (evt) => {\n this.handleKeydown(evt);\n };\n }\n\n handleAnchorMouseEnter() {\n if (this.isShown) {\n // Covers the instance where a user hovers over the anchor to reveal the\n // tooltip, and then quickly navigates away and then back to the anchor.\n // The tooltip should stay visible without animating out and then back in\n // again.\n this.show();\n } else {\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.showDelayMs);\n }\n }\n\n handleAnchorFocus() {\n // TODO(b/157075286): Need to add some way to distinguish keyboard\n // navigation focus events from other focus events, and only show the\n // tooltip on the former of these events.\n this.showTimeout = setTimeout(() => {\n this.show();\n }, this.showDelayMs);\n }\n\n handleAnchorMouseLeave() {\n this.clearShowTimeout();\n this.hideTimeout = setTimeout(() => {\n this.hide();\n }, this.hideDelayMs);\n }\n\n handleAnchorBlur() {\n // Hide tooltip immediately on focus change.\n this.hide();\n }\n\n handleClick() {\n // Hide the tooltip immediately on click.\n this.hide();\n }\n\n handleKeydown(evt: KeyboardEvent) {\n // Hide the tooltip immediately on ESC key.\n const key = normalizeKey(evt);\n if (key === KEY.ESCAPE) {\n this.hide();\n }\n }\n\n show() {\n this.clearHideTimeout();\n this.clearShowTimeout();\n\n if (this.isShown) {\n return;\n }\n\n this.isShown = true;\n const showTooltipOptions = this.parseShowTooltipOptions();\n if (!showTooltipOptions.hideFromScreenreader) {\n this.adapter.setAttribute('aria-hidden', 'false');\n }\n this.adapter.removeClass(HIDE);\n this.adapter.addClass(SHOWING);\n if (this.isTooltipMultiline()) {\n this.adapter.addClass(MULTILINE_TOOLTIP);\n }\n const {top, left} = this.calculateTooltipDistance();\n this.adapter.setStyleProperty('top', `${top}px`);\n this.adapter.setStyleProperty('left', `${left}px`);\n\n this.adapter.registerDocumentEventHandler(\n 'click', this.documentClickHandler);\n this.adapter.registerDocumentEventHandler(\n 'keydown', this.documentKeydownHandler);\n\n this.frameId = requestAnimationFrame(() => {\n this.clearAllAnimationClasses();\n this.adapter.addClass(SHOWN);\n this.adapter.addClass(SHOWING_TRANSITION);\n });\n }\n\n hide() {\n this.clearHideTimeout();\n this.clearShowTimeout();\n\n if (!this.isShown) {\n return;\n }\n\n if (this.frameId) {\n cancelAnimationFrame(this.frameId);\n }\n\n this.isShown = false;\n this.adapter.setAttribute('aria-hidden', 'true');\n this.clearAllAnimationClasses();\n this.adapter.addClass(HIDE);\n this.adapter.addClass(HIDE_TRANSITION);\n this.adapter.removeClass(SHOWN);\n\n this.adapter.deregisterDocumentEventHandler(\n 'click', this.documentClickHandler);\n this.adapter.deregisterDocumentEventHandler(\n 'keydown', this.documentKeydownHandler);\n }\n\n handleTransitionEnd() {\n const isHidingTooltip = this.adapter.hasClass(HIDE);\n\n this.adapter.removeClass(SHOWING);\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(HIDE);\n this.adapter.removeClass(HIDE_TRANSITION);\n\n // If handleTransitionEnd is called after hiding the tooltip, the tooltip\n // will have the HIDE class (before calling the adapter removeClass method).\n // If tooltip is now hidden, send a notification that the animation has\n // completed and the tooltip is no longer visible.\n if (isHidingTooltip) {\n this.adapter.notifyHidden();\n }\n }\n\n private clearAllAnimationClasses() {\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(HIDE_TRANSITION);\n }\n\n setTooltipPosition(position: {xPos?: XPosition, yPos?: YPosition}) {\n const {xPos, yPos} = position;\n if (xPos) {\n this.xTooltipPos = xPos;\n }\n\n if (yPos) {\n this.yTooltipPos = yPos;\n }\n }\n\n setAnchorBoundaryType(type: AnchorBoundaryType) {\n if (type === AnchorBoundaryType.UNBOUNDED) {\n this.anchorGap = numbers.UNBOUNDED_ANCHOR_GAP;\n } else {\n this.anchorGap = numbers.BOUNDED_ANCHOR_GAP;\n }\n }\n\n private parseShowTooltipOptions(): ShowTooltipOptions {\n const hideFromScreenreader =\n Boolean(this.adapter.getAnchorAttribute('data-tooltip-id'));\n return {hideFromScreenreader};\n }\n\n private isTooltipMultiline() {\n const tooltipSize = this.adapter.getTooltipSize();\n return tooltipSize.height > numbers.MIN_HEIGHT &&\n tooltipSize.width >= numbers.MAX_WIDTH;\n }\n\n /**\n * Calculates the position of the tooltip. A tooltip will be placed beneath\n * the anchor element and aligned either with the 'start'/'end' edge of the\n * anchor element or the 'center'.\n *\n * Tooltip alignment is selected such that the tooltip maintains a threshold\n * distance away from the viewport (defaulting to 'center' alignment). If the\n * placement of the anchor prevents this threshold distance from being\n * maintained, the tooltip is positioned so that it does not collide with the\n * viewport.\n *\n * Users can specify an alignment, however, if this alignment results in the\n * tooltip colliding with the viewport, this specification is overwritten.\n */\n private calculateTooltipDistance() {\n const anchorRect = this.adapter.getAnchorBoundingRect();\n if (!anchorRect) {\n return {top: 0, left: 0};\n }\n\n const tooltipSize = this.adapter.getTooltipSize();\n const top = this.calculateYTooltipDistance(anchorRect, tooltipSize.height);\n const left = this.calculateXTooltipDistance(anchorRect, tooltipSize.width);\n return {top, left};\n }\n\n /**\n * Calculates the `left` distance for the tooltip.\n */\n private calculateXTooltipDistance(\n anchorRect: ClientRect, tooltipWidth: number) {\n let startPos = anchorRect.left;\n let endPos = anchorRect.right - tooltipWidth;\n const centerPos = anchorRect.left + (anchorRect.width - tooltipWidth) / 2;\n\n if (this.adapter.isRTL()) {\n startPos = anchorRect.right - tooltipWidth;\n endPos = anchorRect.left;\n }\n\n const positionOptions =\n this.determineValidPositionOptions(centerPos, startPos, endPos);\n\n if (this.xTooltipPos === XPosition.START && positionOptions.has(startPos)) {\n return startPos;\n }\n if (this.xTooltipPos === XPosition.END && positionOptions.has(endPos)) {\n return endPos;\n }\n if (this.xTooltipPos === XPosition.CENTER &&\n positionOptions.has(centerPos)) {\n return centerPos;\n }\n\n if (positionOptions.has(centerPos)) {\n return centerPos;\n }\n if (positionOptions.has(startPos)) {\n return startPos;\n }\n if (positionOptions.has(endPos)) {\n return endPos;\n }\n\n // Indicates that all potential positions would result in the tooltip\n // colliding with the viewport. This would only occur when the anchor\n // element itself collides with the viewport, or the viewport is very\n // narrow.\n return centerPos;\n }\n\n /**\n * Given the values for center/start/end alignment of the tooltip, calculates\n * which of these options would result in the tooltip maintaining the required\n * threshold distance vs which would result in the tooltip staying within the\n * viewport.\n *\n * A Set of values is returned holding the distances that would honor the\n * above requirements. Following the logic for determining the tooltip\n * position, if all three alignments violate the threshold, then the returned\n * Set contains values that keep the tooltip within the viewport.\n */\n private determineValidPositionOptions(\n centerPos: number, startPos: number, endPos: number) {\n const posWithinThreshold = new Set();\n const posWithinViewport = new Set();\n\n if (this.positionHonorsViewportThreshold(centerPos)) {\n posWithinThreshold.add(centerPos);\n } else if (this.positionDoesntCollideWithViewport(centerPos)) {\n posWithinViewport.add(centerPos);\n }\n\n if (this.positionHonorsViewportThreshold(startPos)) {\n posWithinThreshold.add(startPos);\n } else if (this.positionDoesntCollideWithViewport(startPos)) {\n posWithinViewport.add(startPos);\n }\n\n if (this.positionHonorsViewportThreshold(endPos)) {\n posWithinThreshold.add(endPos);\n } else if (this.positionDoesntCollideWithViewport(endPos)) {\n posWithinViewport.add(endPos);\n }\n\n return posWithinThreshold.size ? posWithinThreshold : posWithinViewport;\n }\n\n private positionHonorsViewportThreshold(leftPos: number) {\n const viewportWidth = this.adapter.getViewportWidth();\n const tooltipWidth = this.adapter.getTooltipSize().width;\n\n return leftPos + tooltipWidth <=\n viewportWidth - this.minViewportTooltipThreshold &&\n leftPos >= this.minViewportTooltipThreshold;\n }\n\n private positionDoesntCollideWithViewport(leftPos: number) {\n const viewportWidth = this.adapter.getViewportWidth();\n const tooltipWidth = this.adapter.getTooltipSize().width;\n\n return leftPos + tooltipWidth <= viewportWidth && leftPos >= 0;\n }\n\n /**\n * Calculates the `top` distance for the tooltip.\n */\n private calculateYTooltipDistance(\n anchorRect: ClientRect, tooltipHeight: number) {\n const belowYPos = anchorRect.bottom + this.anchorGap;\n const aboveYPos = anchorRect.top - (this.anchorGap + tooltipHeight);\n const yPositionOptions =\n this.determineValidYPositionOptions(aboveYPos, belowYPos);\n\n if (this.yTooltipPos === YPosition.ABOVE &&\n yPositionOptions.has(aboveYPos)) {\n return aboveYPos;\n } else if (\n this.yTooltipPos === YPosition.BELOW &&\n yPositionOptions.has(belowYPos)) {\n return belowYPos;\n }\n\n if (yPositionOptions.has(belowYPos)) {\n return belowYPos;\n }\n\n if (yPositionOptions.has(aboveYPos)) {\n return aboveYPos;\n }\n\n // Indicates that all potential positions would result in the tooltip\n // colliding with the viewport. This would only occur when the viewport is\n // very short.\n return belowYPos;\n }\n\n /**\n * Given the values for above/below alignment of the tooltip, calculates\n * which of these options would result in the tooltip maintaining the required\n * threshold distance vs which would result in the tooltip staying within the\n * viewport.\n *\n * A Set of values is returned holding the distances that would honor the\n * above requirements. Following the logic for determining the tooltip\n * position, if all possible alignments violate the threshold, then the\n * returned Set contains values that keep the tooltip within the viewport.\n */\n private determineValidYPositionOptions(\n aboveAnchorPos: number, belowAnchorPos: number) {\n const posWithinThreshold = new Set();\n const posWithinViewport = new Set();\n\n if (this.yPositionHonorsViewportThreshold(aboveAnchorPos)) {\n posWithinThreshold.add(aboveAnchorPos);\n } else if (this.yPositionDoesntCollideWithViewport(aboveAnchorPos)) {\n posWithinViewport.add(aboveAnchorPos);\n }\n\n if (this.yPositionHonorsViewportThreshold(belowAnchorPos)) {\n posWithinThreshold.add(belowAnchorPos);\n } else if (this.yPositionDoesntCollideWithViewport(belowAnchorPos)) {\n posWithinViewport.add(belowAnchorPos);\n }\n\n return posWithinThreshold.size ? posWithinThreshold : posWithinViewport;\n }\n\n private yPositionHonorsViewportThreshold(yPos: number) {\n const viewportHeight = this.adapter.getViewportHeight();\n const tooltipHeight = this.adapter.getTooltipSize().height;\n\n return yPos + tooltipHeight + this.minViewportTooltipThreshold <=\n viewportHeight &&\n yPos >= this.minViewportTooltipThreshold;\n }\n\n private yPositionDoesntCollideWithViewport(yPos: number) {\n const viewportHeight = this.adapter.getViewportHeight();\n const tooltipHeight = this.adapter.getTooltipSize().height;\n\n return yPos + tooltipHeight <= viewportHeight && yPos >= 0;\n }\n\n private clearShowTimeout() {\n if (this.showTimeout) {\n clearTimeout(this.showTimeout);\n this.showTimeout = null;\n }\n }\n\n private clearHideTimeout() {\n if (this.hideTimeout) {\n clearTimeout(this.hideTimeout);\n this.hideTimeout = null;\n }\n }\n\n destroy() {\n if (this.frameId) {\n cancelAnimationFrame(this.frameId);\n this.frameId = null;\n }\n\n this.clearHideTimeout();\n this.clearShowTimeout();\n\n this.adapter.removeClass(SHOWN);\n this.adapter.removeClass(SHOWING_TRANSITION);\n this.adapter.removeClass(SHOWING);\n this.adapter.removeClass(HIDE);\n this.adapter.removeClass(HIDE_TRANSITION);\n\n this.adapter.deregisterDocumentEventHandler(\n 'click', this.documentClickHandler);\n this.adapter.deregisterDocumentEventHandler(\n 'keydown', this.documentKeydownHandler);\n }\n}\n\n// tslint:disable-next-line:no-default-export Needed for backward compatibility with MDC Web v0.44.0 and earlier.\nexport default MDCTooltipFoundation;\n", "/**\n * @license\n * Copyright 2020 Google Inc.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */\n\nimport {MDCComponent} from '@material/base/component';\nimport {SpecificEventListener} from '@material/base/types';\n\nimport {MDCTooltipAdapter} from './adapter';\nimport {AnchorBoundaryType, events, XPosition, YPosition} from './constants';\nimport {MDCTooltipFoundation} from './foundation';\n\nexport class MDCTooltip extends MDCComponent {\n static attachTo(root: Element) {\n return new MDCTooltip(root);\n }\n\n private anchorElem!: HTMLElement|null; // assigned in initialSyncWithDOM\n\n private handleMouseEnter!: SpecificEventListener<'mouseenter'>;\n private handleFocus!: SpecificEventListener<'focus'>;\n private handleMouseLeave!: SpecificEventListener<'mouseleave'>;\n private handleBlur!: SpecificEventListener<'blur'>;\n private handleTransitionEnd!: SpecificEventListener<'transitionend'>;\n\n initialSyncWithDOM() {\n const tooltipId = this.root.getAttribute('id');\n if (!tooltipId) {\n throw new Error('MDCTooltip: Tooltip component must have an id.');\n }\n\n this.anchorElem = document.querySelector(\n `[aria-describedby=\"${tooltipId}\"]`) ||\n document.querySelector(`[data-tooltip-id=\"${tooltipId}\"]`);\n if (!this.anchorElem) {\n throw new Error(\n 'MDCTooltip: Tooltip component requires an anchor element annotated with [aria-describedby] or [data-tooltip-id] anchor element.');\n }\n\n this.handleMouseEnter = () => {\n this.foundation.handleAnchorMouseEnter();\n };\n\n this.handleFocus = () => {\n this.foundation.handleAnchorFocus();\n };\n\n this.handleMouseLeave = () => {\n this.foundation.handleAnchorMouseLeave();\n };\n\n this.handleBlur = () => {\n this.foundation.handleAnchorBlur();\n };\n\n this.handleTransitionEnd = () => {\n this.foundation.handleTransitionEnd();\n };\n\n this.anchorElem.addEventListener('mouseenter', this.handleMouseEnter);\n // TODO(b/157075286): Listening for a 'focus' event is too broad.\n this.anchorElem.addEventListener('focus', this.handleFocus);\n this.anchorElem.addEventListener('mouseleave', this.handleMouseLeave);\n this.anchorElem.addEventListener('blur', this.handleBlur);\n\n this.listen('transitionend', this.handleTransitionEnd);\n }\n\n destroy() {\n if (this.anchorElem) {\n this.anchorElem.removeEventListener('mouseenter', this.handleMouseEnter);\n this.anchorElem.removeEventListener('focus', this.handleFocus);\n this.anchorElem.removeEventListener('mouseleave', this.handleMouseLeave);\n this.anchorElem.removeEventListener('blur', this.handleBlur);\n }\n\n this.unlisten('transitionend', this.handleTransitionEnd);\n super.destroy();\n }\n\n setTooltipPosition(position: {xPos?: XPosition, yPos?: YPosition}) {\n this.foundation.setTooltipPosition(position);\n }\n\n setAnchorBoundaryType(type: AnchorBoundaryType) {\n this.foundation.setAnchorBoundaryType(type);\n }\n\n getDefaultFoundation() {\n const adapter: MDCTooltipAdapter = {\n getAttribute: (attr) => this.root.getAttribute(attr),\n setAttribute: (attr, value) => {\n this.root.setAttribute(attr, value);\n },\n addClass: (className) => {\n this.root.classList.add(className);\n },\n hasClass: (className) => this.root.classList.contains(className),\n removeClass: (className) => {\n this.root.classList.remove(className);\n },\n setStyleProperty: (propertyName, value) => {\n (this.root as HTMLElement).style.setProperty(propertyName, value);\n },\n getViewportWidth: () => window.innerWidth,\n getViewportHeight: () => window.innerHeight,\n getTooltipSize: () => {\n return {\n width: (this.root as HTMLElement).offsetWidth,\n height: (this.root as HTMLElement).offsetHeight\n };\n },\n getAnchorBoundingRect: () => {\n return this.anchorElem ? this.anchorElem.getBoundingClientRect() : null;\n },\n getAnchorAttribute: (attr) => {\n return this.anchorElem ? this.anchorElem.getAttribute(attr) : null;\n },\n isRTL: () => getComputedStyle(this.root).direction === 'rtl',\n registerDocumentEventHandler: (evt, handler) => {\n document.body.addEventListener(evt, handler);\n },\n deregisterDocumentEventHandler: (evt, handler) => {\n document.body.removeEventListener(evt, handler);\n },\n notifyHidden: () => {\n this.emit(events.HIDDEN, {});\n },\n };\n\n //tslint:enable:object-literal-sort-keys\n return new MDCTooltipFoundation(adapter);\n }\n}\n", null, "/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n", null, null, null, null, null, null, null, "import {textField} from \"material-components-web\";\n\nexport class FieldHandler{\n public static setFieldWarning = (id: string, msg:string): void => {\n let fieldGroup = document.getElementById(id+'Group');\n if(fieldGroup){\n fieldGroup.classList.add('has-warning');\n } else {\n console.error(\"Cannot find field \"+id+\"Group\");\n }\n\n let fbEl = document.getElementById(id+\"Feedback\");\n if (fbEl) {\n fbEl.classList.add('dv', 'dv-warning');\n } else {\n console.error(\"Cannot find field \"+id+\"Feedback\");\n }\n\n let helpEl = document.getElementById(id+\"Help\");\n if(helpEl) {\n helpEl.innerText = msg;\n\n } else {\n console.error(\"Cannot find field \"+id+\"Help\");\n }\n };\n\n public static setFieldError = (id: string, msg: string):void => {\n let fieldEl = document.getElementById(id+\"Group\");\n if (fieldEl) {\n fieldEl.classList.add('has-error');\n } else {\n console.error(\"Cannot find field \"+id+\"Group\");\n }\n\n let fbEl = document.getElementById(id+\"Feedback\");\n if (fbEl) {\n fbEl.classList.add('dv', 'dv-error');\n } else {\n console.error(\"Cannot find field \"+id+\"Feedback\");\n }\n\n let helpEl = document.getElementById(id+\"Help\");\n if(helpEl) {\n helpEl.innerText = msg;\n } else {\n console.error(\"Cannot find field \"+id+\"Help\");\n }\n };\n\n public static clearFieldError = (id:string) => {\n let fieldEl = document.getElementById(id+\"Group\");\n if(fieldEl) {\n fieldEl.classList.remove(\"has-error\");\n fieldEl.classList.remove('has-warning');\n } else {\n console.debug(\"Cannot find field \"+id+\"Group\");\n }\n\n let fbEl = document.getElementById(id+\"Feedback\");\n if(fbEl) {\n fbEl.classList.remove(\"dv\", \"dv-error\");\n fbEl.classList.remove(\"dv\", \"dv-warning\");\n } else {\n console.debug(\"Cannot find field \"+id+\"Feedback\");\n }\n\n let helpEl = document.getElementById(id + \"Help\");\n if(helpEl) {\n helpEl.innerText = \"\";\n } else {\n console.debug(\"Cannot find field \"+id+\"Help\");\n }\n };\n\n public static getFieldValue = (id:string) => {\n let input = document.getElementById(id);\n if (input !== null && input !== undefined) {\n return input.value;\n }\n return \"\";\n };\n\n public static setFieldValue = (id:string, val:string, isMaterial: boolean = false):void => {\n const input = document.getElementById(id);\n if (input) {\n if (isMaterial){\n textField.MDCTextField.attachTo(input.parentElement).value = val;\n return\n }\n input.value = val;\n } else {\n console.debug('Field +'+id+' not found');\n }\n };\n\n public static getValueFromSpan = (id:string):string => {\n let span = document.getElementById(id);\n if(span){\n return span.innerText.trim();\n }\n console.warn('cannot get element \"'+id+'\"');\n return \"\";\n };\n\n public static setValueToSpan = (id:string, val:string):void => {\n (document.getElementById(id)).innerText = val;\n };\n\n public static setValueToHeader = (id:string, val: string):void => {\n (document.getElementById(id)).innerText = val;\n };\n\n public static getHrefFromAnchor = (id:string): string => {\n let a = document.getElementById(id);\n if(a){\n let element = a;\n return element.href;\n }\n console.warn('cannot get anchor \"'+id+'\"');\n return \"\";\n };\n public static setEmailAnchorValue = (id:string, val: string): void => {\n let element = document.getElementById(id);\n if(element){\n let anchor = element;\n anchor.href = \"mailto:\"+val;\n anchor.innerHTML = ' '+val;\n }\n };\n\n public static setLogoValue = (id:string, val:string): void => {\n let logo = document.getElementById(id);\n if(val.startsWith('dv-')) {\n logo.innerHTML = '';\n } else if (val.startsWith('http://') || val.startsWith('https://')){\n logo.innerHTML = ''\n } else {\n console.info('no organization logo found or wrong url format');\n logo.innerHTML = '';\n }\n };\n\n public static getBooleanValue = (id: string):boolean => {\n let element = document.getElementById(id);\n if (element) {\n return element.checked;\n } else {\n console.error(\"Cannot find field \"+id);\n return undefined;\n }\n };\n\n public static getMultipleValue = (id: string, seperator: string): string[] => {\n let val = FieldHandler.getFieldValue(id);\n let split: string[] = val.split(seperator);\n if (split.length < 1){\n return Array();\n }\n let retVal = Array();\n for (let i = 0; i < split.length; i++){\n let s = split[i];\n if(s.isNullOrEmpty()){\n continue;\n }\n retVal.push(s.replace(/\\s/g, ''))\n }\n return retVal;\n };\n public static setMultipleValue = (id: string, seperator: string, val:string[]):void => {\n (document.getElementById(id)).value = val.join(seperator);\n };\n\n public static getSelectedText = (id:string):string => {\n let input = document.getElementById(id);\n if(input !== null && input !== undefined) {\n return input.selectedOptions[0].text;\n }\n return undefined;\n };\n}", "import {pageBackIcon} from \"./icons\";\nimport UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\n\n// export class ContextActions {\n export function setContextActions (dapi:any, i18n:i18n, options: IContextAction[]):void {\n let ctx: Array = new Array();\n // ctx.push({\n // title: i18n.getTranslation('context_action_page_back_label'), //\"Zur\u00FCck\",\n // icon:pageBackIcon,\n // callback: () => {\n // dapi.closeResourceIfMainResource();\n // let parent = UrlHelpers.getLinkRelHref('parent');\n // if(parent) {\n // dapi.publishLocation(parent);\n // // window.location.reload(true);\n // window.open(parent, '_self');\n // }\n // }\n // });\n if(options !== null && options !== undefined && options.length > 0) {\n ctx = ctx.concat(options);\n }\n if(ctx.length>0) {\n dapi.setContextActions(ctx);\n }\n }\n// }", "// provider membership dapi event resources\nexport var provider_membership_add = \"/center/provider/membership/add\";\nexport var provider_membership_rem = \"/center/provider/membership/remove\";\nexport var provider_edit_saved = \"/center/provider/edit/saved\";\nexport var provider_edit_delete = \"/center/provider/edit/delete\";\nexport var provider_created = \"/center/provider/created\";\n\n// app dapi event resources\nexport var app_created = \"/center/app/created\";\nexport var app_edit_changed_saved = \"/center/app/edit/changed\";\nexport var app_edit_provider_changed = \"/center/app/edit/changed/provider\";\nexport var app_edit_deleted = \"/center/app/edit/deleted\";\n\n// product dapi event resources\nexport var product_created = \"/center/product/created\";\nexport var product_edit_changed_saved = \"/center/product/edit/changed\";\nexport var product_edit_provider_changed = \"/center/product/edit/changed/provider\";\nexport var product_edit_deleted = \"/center/product/edit/deleted\";\n\n// organization dapi event resources\nexport var organization_created = '/center/organization/created';\n\n// tenant dapi event resources\nexport var tenant_deleted = '/center/tenant/deleted';\nexport var tenant_created = '/center/tenant/created';\nexport var tenant_updated = '/center/tenant/updated';", "import * as mdc from 'material-components-web';\nexport class MaterialHelpers {\n\tpublic static setTextFieldHelperText(id:string, text:string, isError:boolean) {\n\t\tconst dom = document.querySelector(`#${id}`);\n\t\tif (!dom) {\n\t\t\tconsole.warn(`cannot find element with id ${id}`);\n\t\t\treturn;\n\t\t}\n\t\tif (!dom.classList.contains(`mdc-text-field`)) {\n\t\t\tconsole.warn(`missing material class \"mdc-text-field\" on element with id: ${id}`);\n\t\t\treturn;\n\t\t}\n\t\tlet textField: mdc.textField.MDCTextField = new mdc.textField.MDCTextField(dom);\n\t\tif (!textField) {\n\t\t\tconsole.warn(\"cannot initialise MDCTextField\");\n\t\t\treturn;\n\t\t}\n\t\ttextField.valid = !isError;\n\t\ttextField.useNativeValidation = false;\n\t\ttextField.helperTextContent = text;\n\t}\n\n\tpublic static setTextFieldHelperTextWithHtmlContent(id:string, helperTextId:string, text:string, isError: boolean) {\n\t\tconst dom = document.querySelector(`#${id}`);\n\t\tif (!dom) {\n\t\t\tconsole.warn(`cannot find element with id ${id}`);\n\t\t\treturn;\n\t\t}\n\t\tif (!dom.classList.contains(`mdc-text-field`)) {\n\t\t\tconsole.warn(`missing material class \"mdc-text-field\" on element with id: ${id}`);\n\t\t\treturn;\n\t\t}\n\t\tlet textField: mdc.textField.MDCTextField = new mdc.textField.MDCTextField(dom);\n\t\tif (!textField) {\n\t\t\tconsole.warn(\"cannot initialise MDCTextField\");\n\t\t\treturn;\n\t\t}\n\t\ttextField.valid = !isError;\n\t\ttextField.useNativeValidation = false;\n\t\ttextField.helperTextContent = text;\n\n\t\t//todo: expliziter helpertext kann raus weil das oben schon \u00FCber das md-objekt gel\u00F6st wird\n\t\tlet helper = document.getElementById(helperTextId);\n\t\tif(helper) {\n\t\t\thelper.innerHTML = text;\n\t\t}\n\t}\n\n\tpublic static removeTextFieldHelperText(id:string) {\n\t\tthis.setTextFieldHelperText(id,'', false);\n\t}\n\n\tpublic static addEventListener(id:string, fn:Function, funcType:string) {\n\t\tif(id.isNullOrEmpty()){\n\t\t\tconsole.warn('MaterialHelpers addEventListener parameter id is empty');\n\t\t}\n\t\tif(!fn) {\n\t\t\tconsole.warn('MaterialHelpers addEventListener handler function is empty');\n\t\t}\n\t\tif(funcType.isNullOrEmpty()) {\n\t\t\tconsole.warn('MaterialHelpers addEventListener function type is empty');\n\t\t}\n\n\t\tlet dom = document.querySelector(`#${id}`);\n\t\tif(dom) {\n\t\t\ttry {\n\t\t\t\tlet element = new mdc.textField.MDCTextField(dom);\n\t\t\t\telement.listen(funcType, fn);\n\t\t\t}catch (e) {\n\t\t\t\tconsole.error(e);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn(`couldn't find element '${id}'`);\n\t\t}\n\t}\n\n\tpublic static setTextFieldValue(id: string, value:string) {\n\t\tconst dom = document.querySelector(`#${id}`);\n\t\tif(dom) {\n\t\t\tconst field = new mdc.textField.MDCTextField(dom);\n\t\t\tlet foundation = field.getDefaultFoundation();\n\t\t\tfoundation.setValue(value);\n\t\t}\n\t}\n}", "export function isEmailValid(mail: string, isRequired:boolean):boolean {\n\tif(mail.isNullOrEmpty() && !isRequired) {\n\t\treturn true;\n\t} else if (mail.isNullOrEmpty()) {\n\t\treturn false;\n\t}\n\tlet re = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])/;\n\treturn re.test(mail);\n}\n\nexport function isUrlValid(url:string, isRequired:boolean):boolean {\n\tif(url.isNullOrEmpty() && !isRequired) {\n\t\treturn true;\n\t} else if (url.isNullOrEmpty()){\n\t\treturn false;\n\t}\n\tif(url.startsWith('http://') || url.startsWith('https://')) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport function isOnlyText(s:string):boolean {\n\t// let re = /\\w+/;\n\tlet re = /^[\\w\\s,.\u00DF\u00C1\u00C0\u0226\u00C2\u00C4\u01DE\u01CD\u0102\u0100\u00C3\u00C5\u01FA\u01FC\u01E2\u0106\u010A\u0108\u010C\u010E\u1E0C\u1E10\u1E12\u00C9\u00C8\u0116\u00CA\u00CB\u011A\u0114\u0112\u1EBCE\u030A\u1EB8\u01F4\u0120\u011C\u01E6\u011EG\u0303\u0122\u0124\u1E24\u00E1\u00E0\u0227\u00E2\u00E4\u01DF\u01CE\u0103\u0101\u00E3\u00E5\u01FB\u01FD\u01E3\u0107\u010B\u0109\u010D\u010F\u1E0D\u1E11\u1E13\u00E9\u00E8\u0117\u00EA\u00EB\u011B\u0115\u0113\u1EBDe\u030A\u1EB9\u01F5\u0121\u011D\u01E7\u011Fg\u0303\u0123\u0125\u1E25\u00CD\u00CC\u0130\u00CE\u00CF\u01CF\u012C\u012A\u0128\u1ECA\u0134\u0136\u01E8\u0139\u013B\u013D\u013F\u1E3CM\u0302M\u0304\u02BCN\u0143N\u0302\u1E44N\u0308\u0147N\u0304\u00D1\u0145\u1E4A\u00D3\u00D2\u022E\u0230\u00D4\u00D6\u022A\u01D1\u014E\u014C\u00D5\u022C\u0150\u1ECC\u01FE\u01A0\u00ED\u00ECi\u00EE\u00EF\u01D0\u012D\u012B\u0129\u1ECB\u0135\u0137\u01E9\u013A\u013C\u013E\u0140\u1E3Dm\u0302m\u0304\u0149\u0144n\u0302\u1E45n\u0308\u0148n\u0304\u00F1\u0146\u1E4B\u00F3\u00F2\u00F4\u022F\u0231\u00F6\u022B\u01D2\u014F\u014D\u00F5\u022D\u0151\u1ECD\u01FF\u01A1P\u0304\u0154\u0158\u0156\u015A\u015C\u1E60\u0160\u0218\u1E62\u0164\u021A\u1E6C\u1E70\u00DA\u00D9\u00DB\u00DC\u01D3\u016C\u016A\u0168\u0170\u016E\u1EE4\u1E82\u1E80\u0174\u1E84\u00DD\u1EF2\u0176\u0178\u0232\u1EF8\u0179\u017B\u017D\u1E92\u01EEp\u0304\u0155\u0159\u0157\u015B\u015D\u1E61\u0161\u015F\u1E63\u0165\u021B\u1E6D\u1E71\u00FA\u00F9\u00FB\u00FC\u01D4\u016D\u016B\u0169\u0171\u016F\u1EE5\u1E83\u1E81\u0175\u1E85\u00FD\u1EF3\u0177\u00FF\u0233\u1EF9\u017A\u017C\u017E\u1E93\u01EF\u00DF\u0153\u0152\u00E7\u00C7&!#+_'-\\\\?]*$/\n\treturn re.test(s);\n}\n\nexport function isDomainValid(domain:string):boolean {\n\tlet re = /^(?!:\\/\\/)([a-zA-Z0-9-]+){2,50}$/;\n\tre.compile();\n\treturn re.test(domain);\n}\n\nexport function isEndpointValid(endpoint:string):boolean {\n\tlet re = /([a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]+\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]+\\.[^\\s]{2,})/gm;\n\tre.compile();\n\treturn re.test(endpoint);\n}", "import UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\nimport {addIcon, pageBackIcon} from \"./icons\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {setContextActions} from \"./contextActions\";\nimport {organization_created, tenant_created, tenant_deleted, tenant_updated} from \"./dapiEventUris\";\nimport * as mdc from 'material-components-web';\nimport {dialog, textField} from \"material-components-web\";\nimport {errorDto} from \"./errorHandler\";\nimport {MaterialHelpers} from \"./materialHelpers\";\nimport {isOnlyText} from \"./validation\";\n\nexport class OrganizationList {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n private _mdcTextFields: textField.MDCTextField[] = [];\n\n constructor() {\n this._loadMaterial();\n this._dapi.addResourceEventListener('changed', this._changed_event);\n this._dapi.addResourceEventListener('deleted', this._deleted_event);\n this._addContextActions();\n //setTimeout(this._setTour, 1500);\n //\n let createOrgaBtn = document.getElementById('btnCreate');\n if(createOrgaBtn){\n createOrgaBtn.addEventListener('click', this._create_click);\n }\n let btnEmptyList = document.getElementById('btnEmptyList');\n if(btnEmptyList){\n btnEmptyList.addEventListener('click', this._open_create_orga_dialog);\n }\n }\n\n private _loadMaterial = ():void => {\n const textfields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null, textfields).forEach((textfield) => {\n //Workaround for missing animation on prefilled mdc-text-fields\n this._mdcTextFields.push(textField.MDCTextField.attachTo(textfield));\n });\n const dialogs = document.querySelectorAll('.mdc-dialog');\n Array.apply(null, dialogs).forEach((d) => {\n dialog.MDCDialog.attachTo(d);\n });\n };\n\n private _addContextActions = (): void => {\n let ctx: Array = new Array();\n ctx.push({\n title: this._i18n.getTranslation('organizationList_btn_createOrganization'),\n icon: addIcon, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA76-zoomin-32x32.png',\n callback: () => {\n // this._create_click();\n this._open_create_orga_dialog();\n }\n });\n // this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n };\n\n private _open_create_orga_dialog = ():void => {\n const div = document.getElementById('modalCreateOrganization');\n const dialog = new mdc.dialog.MDCDialog(div);\n dialog.listen('MDCDialog:closed', (e:dialog.MDCDialogCloseEventDetail) => {\n const fields = document.querySelectorAll('mdc-text-field__input');\n Array.apply(null, fields).forEach((field) => {\n if (field.id !== 'searchValue') {\n MaterialHelpers.setTextFieldValue(field.id, '');\n }\n })\n });\n dialog.open();\n };\n\n private _create_click = (): void => {\n if (this._areOrgaInputFieldsValid()) {\n this._createOrga().then(value => {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: organization_created\n });\n this._dapi.navigate(value);\n }).catch((error) => {\n alert(error);\n });\n } else {\n console.error('Any organization fields are invalid. Please check!');\n }\n };\n\n private _areOrgaInputFieldsValid = (): boolean => {\n const inputs = ['organame'];\n let allValid = true;\n inputs.forEach((id: string) => {\n if (!this._validateMaterialInput(id)) {\n allValid = false;\n }\n });\n return allValid;\n };\n\n private _validateMaterialInput = (inputId: string): boolean => {\n let inputValue = (document.getElementById(inputId)).value;\n // const helperTextId = `${inputId}HelperText`;\n const id = `${inputId}_container`;\n if (inputValue.isNullOrEmpty()) {\n MaterialHelpers.setTextFieldHelperText(id, this._i18n.getTranslation('order_wizard_error_field_empty_message'), true);\n return false;\n }\n if (!isOnlyText(inputValue)) {\n MaterialHelpers.setTextFieldHelperText(id, this._i18n.getTranslation('order_wizard_error_field_invalid_char_message'), true);\n return false;\n }\n MaterialHelpers.removeTextFieldHelperText(id);\n return true;\n };\n\n private _createOrga = (): Promise => {\n let promise = new Promise((resolve, reject) => {\n let url = UrlHelpers.getLinkRelHref('self');\n if (url.isNullOrEmpty()) {\n console.error('Cannot find link relation for \"organizations\"');\n }\n let orgaName = FieldHandler.getFieldValue('organame');\n let req = new Request(url, {\n method: 'POST',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n name: orgaName\n }),\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status === 201) {\n let orgaUrl = response.headers.get('location');\n response.json().then(value => {\n let orgaId = value.replace(/\"/g, '');\n console.log(`create organization success. ID: ${orgaId}`);\n this._updateOrga(orgaId, orgaName, orgaUrl)\n .then(() => {\n resolve(orgaUrl);\n })\n .catch((error) => {\n reject(error);\n });\n });\n } else {\n response.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${response.status}: ${value.description}`);\n reject(value.description);\n });\n }\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return\n });\n reject(error);\n });\n });\n return promise;\n };\n\n private _updateOrga = (orgaId: string, orgaName: string, orgaUrl: string): Promise => {\n let promise = new Promise((resolve, reject) => {\n let req = new Request(orgaUrl, {\n method: 'PUT',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n organization: {\n id: orgaId,\n name: orgaName,\n }\n })\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status === 200) {\n console.log(`update organization ${orgaId} success`);\n resolve(orgaId);\n } else {\n response.json().then((value: errorDto) => {\n console.error(`update organization information failed with status ${response.status}: ${value.description}`);\n reject(value.description);\n });\n }\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return\n });\n reject(error);\n });\n });\n return promise;\n };\n\n private _changed_event = (resouceEvent: IResourceEvent) => {\n switch (resouceEvent.uri) {\n case organization_created:\n case tenant_created:\n case tenant_updated:\n case tenant_deleted:\n window.location.reload();\n break;\n }\n };\n\n private _deleted_event = (resourceEvent: IResourceEvent) => {\n window.location.reload();\n // let items = this._dux.query(\".item\");\n // for (let i = 0; i < items.length; i++) {\n // let item = items[i];\n // let link = this._dux.query(item).data('href');\n // if (link === resourceEvent.uri) {\n // this._dux.query(item).remove();\n // this._dapi.navigate('dapi_blank');\n // break;\n // }\n // }\n };\n}\n\nexport interface create_orga_request_dto {\n name:string\n}", "\nexport class Notification{\n private static toastr = (window).toastr;\n public static showSuccessNotification = (title:string, message:string) :void => {\n Notification.toastr.options = {\n \"closeButton\": false,\n \"debug\": false,\n \"newestOnTop\": false,\n \"progressBar\": true,\n \"positionClass\": \"toast-top-center\",\n \"preventDuplicates\": false,\n \"onclick\": null,\n \"showDuration\": \"300\",\n \"hideDuration\": \"1000\",\n \"timeOut\": \"3000\",\n \"extendedTimeOut\": \"1000\",\n \"showEasing\": \"swing\",\n \"hideEasing\": \"linear\",\n \"showMethod\": \"fadeIn\",\n \"hideMethod\": \"fadeOut\"\n };\n Notification.toastr['success'](message,title);\n };\n public static showInfoNotification = (title:string, message:string) :void => {\n Notification.toastr.options = {\n \"closeButton\": false,\n \"debug\": false,\n \"newestOnTop\": false,\n \"progressBar\": true,\n \"positionClass\": \"toast-top-center\",\n \"preventDuplicates\": false,\n \"onclick\": null,\n \"showDuration\": \"300\",\n \"hideDuration\": \"1000\",\n \"timeOut\": \"3000\",\n \"extendedTimeOut\": \"1000\",\n \"showEasing\": \"swing\",\n \"hideEasing\": \"linear\",\n \"showMethod\": \"fadeIn\",\n \"hideMethod\": \"fadeOut\"\n };\n Notification.toastr['info'](message,title);\n };\n public static showErrorNotification = (title:string, message:string) :void => {\n Notification.toastr.options = {\n \"closeButton\": false,\n \"debug\": false,\n \"newestOnTop\": false,\n \"progressBar\": true,\n \"positionClass\": \"toast-top-center\",\n \"preventDuplicates\": false,\n \"onclick\": null,\n \"showDuration\": \"300\",\n \"hideDuration\": \"1000\",\n \"timeOut\": \"8000\",\n \"extendedTimeOut\": \"1000\",\n \"showEasing\": \"swing\",\n \"hideEasing\": \"linear\",\n \"showMethod\": \"fadeIn\",\n \"hideMethod\": \"fadeOut\"\n };\n Notification.toastr['error'](message,title);\n };\n}", "import {linkRel} from \"./linkRel\";\n\nexport interface errorDto {\n\tname:string\n\tcode:number\n\tmethod:string\n\ttitle:string\n\tdescription:string\n\trequestId:string\n\tadditionalDetails: { [key: string]:string }\n\t_links: { [key: string]:linkRel}\n}\n\nexport class ErrorHandler {\n\tstatic parseError = (responseText:string):errorDto => {\n\t\treturn JSON.parse(responseText)\n\t\t// try {\n\t\t// \tlet dto:errorDto = JSON.parse(responseText);\n\t\t// } catch(exp) {\n\t\t// \tconsole.error(exp);\n\t\t// \treturn null;\n\t\t// }\n\t};\n\n\tstatic showErrorDialogByDto = (dto:errorDto, category: string, dux:any) => {\n\t\tdux.query.modalizer({\n\t\t\ttitle: dto.name,\n\t\t\tcloseButton: false,\n\t\t\tdraggable: false,\n\t\t\tcategory: category,\n\t\t\talert: dto.title,\n\t\t\tbody: dto.description,\n\t\t\tbuttons: {\n\t\t\t\t'OK': function () {\t}\n\t\t\t},\n\t\t\tmodal: {\n\t\t\t\tbackdrop: true,\n\t\t\t\tkeyboard: false\n\t\t\t}\n\t\t})\n\t};\n\n\tstatic showErrorDialogByResponse = (dto: errorDto, title: string, alert: string, category: string, dux:any) => {\n\t\tdux.query.modalizer({\n\t\t\ttitle: title,\n\t\t\tcloseButton: false,\n\t\t\tdraggable: false,\n\t\t\tcategory: category,\n\t\t\talert: alert,\n\t\t\tbody: dto.description,\n\t\t\tbuttons: {\n\t\t\t\t'OK': function () {\t}\n\t\t\t},\n\t\t\tmodal: {\n\t\t\t\tbackdrop: true,\n\t\t\t\tkeyboard: false\n\t\t\t}\n\t\t})\n\t};\n\n\tstatic showErrorDialogByOwn = (title: string, alert: string, body: string, category: string, dux: any) => {\n\t\tdux.query.modalizer({\n\t\t\ttitle: title,\n\t\t\tcloseButton: false,\n\t\t\tdraggable: false,\n\t\t\tcategory: category,\n\t\t\talert: alert,\n\t\t\tbody: body,\n\t\t\tbuttons: {\n\t\t\t\t'OK': function () {\n\n\t\t\t\t}\n\t\t\t},\n\t\t\tmodal: {\n\t\t\t\tbackdrop: true,\n\t\t\t\tkeyboard: false\n\t\t\t}\n\t\t})\n\t};\n}\n", "import UrlHelpers from \"./url\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {i18n} from \"./i18n\";\nimport {deleteIcon, moveOrgaIcon, overwriteIcon, permIcon} from \"./icons\";\nimport {Notification} from \"./notification\";\nimport {setContextActions} from \"./contextActions\";\nimport {organization_created, tenant_created, tenant_deleted, tenant_updated} from \"./dapiEventUris\";\nimport {ErrorHandler} from \"./errorHandler\";\nimport {subscriptionRequestDto} from \"./app\";\n\nexport class Tenant {\n public timer: number;\n\n private readonly _isSysAdmin: boolean;\n\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n\n constructor() {\n this._isSysAdmin = !!UrlHelpers.getMetaData(\"sysAdmin\");\n this._addCtxActions();\n this._dapi.addResourceEventListener('changed', this.handleChangeEvent);\n this.listenEditOverwriteEvents();\n this.timer = -1;\n (document.getElementById('btnSave')).addEventListener('click', this._saveClick);\n (document.getElementById('tenantDomainValue')).addEventListener(\"keyup\", this._checkSubdomain);\n (document.getElementById('tenantDomainValue')).addEventListener(\"change\", this._checkSubdomain);\n const btnWithdrawTermination = document.getElementById('btn_tenantTermination_recover');\n if (btnWithdrawTermination) {\n btnWithdrawTermination.addEventListener('click', this._recoverTenant);\n }\n const btnTerminateTenant = document.getElementById('btn_tenantTermination_terminate');\n if (btnTerminateTenant) {\n btnTerminateTenant.addEventListener('click', this._terminateTenantWithModal)\n }\n this._addUnsubscribeEvents();\n }\n\n private listenEditOverwriteEvents = () => {\n const anchorElements = document.querySelectorAll('.edit-overwrite-link');\n anchorElements.forEach(a => {\n a.addEventListener('click', this.handleEditOverwrite);\n });\n }\n\n private handleEditOverwrite = () => {\n const url = UrlHelpers.getLinkRelHref('overwrites');\n this._dapi.navigate(url);\n };\n\n private handleChangeEvent = (resouceEvent: IResourceEvent) => {\n switch (resouceEvent.uri) {\n case tenant_updated:\n window.location.reload();\n break;\n case tenant_deleted:\n this._dapi.closeResourceIfMainResource();\n }\n };\n\n private _addUnsubscribeEvents = () => {\n let unsubscribeButtons = document.getElementsByClassName('btn-remove');\n for (let i = 0; i < unsubscribeButtons.length; i++) {\n let btn = unsubscribeButtons[i];\n if (!btn.hasAttribute('disabled')) {\n btn.addEventListener('click', this._btn_unsubscribeApp_click);\n }\n }\n };\n\n private _btn_unsubscribeApp_click = (e: any) => {\n let target = e.currentTarget;\n let appName = target.dataset.name;\n let tenantId = UrlHelpers.getMetaData('tenantId');\n const dependants = this._getDependantsForApp(appName);\n if (dependants && dependants.length > 0) {\n this._show_unsubscribeNotAllowed_dialog(appName, dependants);\n return;\n }\n this._show_unsubscribeApp_dialog(appName, tenantId);\n };\n\n private _getDependantsForApp = (appName: string): string[] => {\n let dependencies = UrlHelpers.getMetaData('tenantDependencies');\n if (dependencies) {\n let dependants = JSON.parse(dependencies);\n return dependants[appName] ? dependants[appName] : null;\n }\n return null;\n };\n\n private _show_unsubscribeNotAllowed_dialog = (appName: string, dependants: string[]) => {\n let msg = this._i18n.getTranslation('tenantapp_dialog_unsubscribe_dependency_information');\n if (dependants && dependants.length > 0) {\n dependants.forEach((v, i) => {\n if (i > 0) {\n msg = msg + ',';\n }\n msg = msg + ` ${v}`;\n });\n }\n this._dux.query.notifier(msg, {\n title: this._i18n.getTranslation('tenantapp_dialog_unsubscribeNotAllowed_title'),\n showClose: true,\n submit: this._i18n.getTranslation('tenantapp_dialog_unsusbscribeNotAllowed_btn_title'),\n priority: 'danger',\n callback: () => {\n console.log(`App ${appName} is a dependency for apps ${dependants} and must not be unsubscribed.`);\n }\n });\n };\n\n private _show_unsubscribeApp_dialog = (appName: string, tenantId: string) => {\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('tenantapp_dialog_unsubscribe_alert'), '{appName}', appName);\n let title = this._i18n.getTranslation('tenantapp_dialog_unsubscribe_title');\n this._dux.query.notifier(msg, {\n title: title,\n showClose: true,\n submit: this._i18n.getTranslation('tenantapp_dialog_unsusbscribe_btn_unsubscribe_title'),\n priority: 'warning',\n callback: () => {\n this._execute_unsubscribe_app(appName, tenantId);\n }\n });\n };\n\n private _execute_unsubscribe_app = (appName: string, tenantId: string) => {\n // alert(tenantId+\" => unsubscribe app \"+appName);\n let dto: subscriptionRequestDto = {\n appName: appName,\n tenantId: tenantId,\n action: 'unsubscribe'\n };\n let url = UrlHelpers.getLinkRelHref('subscription');\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', url);\n xhr.onload = () => {\n if (xhr.status === 200) {\n let msg = this._i18n.getTranslation('tenantapp_notification_unsubscribe_success_msg');\n let title = this._i18n.getTranslation('tenantapp_notification_unsubscribe_success_title');\n Notification.showSuccessNotification(title, msg);\n setTimeout(() => {\n location.reload(true);\n }, 3200);\n } else {\n let errorDto = ErrorHandler.parseError(xhr.responseText);\n ErrorHandler.showErrorDialogByDto(errorDto, 'danger', this._dux);\n }\n };\n let data = JSON.stringify(dto);\n xhr.send(data);\n };\n\n private _saveClick = () => {\n let data = this._getValues();\n if (data === null) {\n console.error(\"Domain was null or empty!\");\n return\n }\n let url = UrlHelpers.getLinkRelHref(\"self\");\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 200) {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: url\n });\n Notification.showSuccessNotification(this._i18n.getTranslation('tenant_save_success_title'), this._i18n.getTranslation('tenant_save_success_message'));\n } else if (xhr.status === 404) {\n console.error(\"tenant not found: \" + xhr.responseText);\n let error = ErrorHandler.parseError(xhr.responseText);\n if (error) {\n Notification.showErrorNotification(error.title, error.description);\n }\n } else {\n console.error(\"Unknown error: \", xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_save_error_title'), this._i18n.getTranslation('tenant_save_error_message'));\n }\n };\n let json = JSON.stringify(data);\n xhr.send(json);\n };\n\n private _recoverTenant = () => {\n const request = new XMLHttpRequest();\n const url = UrlHelpers.getLinkRelHref('terminate');\n const data: tenantTerminationDto = {\n state: TenantTerminationState.notTerminated\n }\n const selfUrl = UrlHelpers.getLinkRelHref(\"self\");\n request.open('POST', url);\n request.setRequestHeader('Content-Type', 'application/json')\n request.onload = () => {\n if (request.status != 200) {\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_recover_failed_title'), this._i18n.getTranslation('tenant_recover_failed_message'));\n console.log(\"recover tenant failed - response code: \" + request.status);\n return;\n }\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: selfUrl\n });\n Notification.showSuccessNotification(this._i18n.getTranslation('tenant_recover_success_title'), this._i18n.getTranslation('tenant_recover_success_message'));\n const waitForNotificationAnimation: number = 3100;\n setTimeout(() => {\n location.reload();\n }, waitForNotificationAnimation);\n }\n request.send(JSON.stringify(data));\n }\n\n private _terminateTenantWithModal = () => {\n this._dux.query.notifier(this._i18n.getTranslation('tenantTermination_modal_terminate_tenant_message'), {\n title: this._i18n.getTranslation('tenantTermination_modal_terminate_tenant_title'), //\"Wirklich l\u00F6schen?\",\n showClose: true,\n submit: this._i18n.getTranslation('tenantTermination_modal_terminate_tenant_terminate_btn_label'), //\"L\u00F6schen\",\n priority: \"warning\",\n callback: () => {\n this._terminateTenant();\n }\n });\n };\n\n private _terminateTenant = () => {\n const sysAdmin = !!UrlHelpers.getMetaData('sysAdmin');\n const tenantAdmin = !!UrlHelpers.getMetaData('tenantAdmin');\n if (!sysAdmin && !tenantAdmin) {\n console.log(\"user is neither sysAdmin nor tenantAdmin\");\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_termination_failed_title'), this._i18n.getTranslation('tenant_termination_failed_message'));\n return;\n }\n const request = new XMLHttpRequest();\n const url = UrlHelpers.getLinkRelHref('terminate');\n\n let data: tenantTerminationDto = null;\n\n if (tenantAdmin) {\n data = {state: TenantTerminationState.byCustomer};\n }\n if (sysAdmin) {\n data = {state: TenantTerminationState.byAdmin};\n }\n\n const selfUrl = UrlHelpers.getLinkRelHref(\"self\");\n request.open('POST', url);\n request.setRequestHeader('Content-Type', 'application/json')\n request.onload = () => {\n if (request.status != 200) {\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_termination_failed_title'), this._i18n.getTranslation('tenant_termination_failed_message'));\n console.log(\"recover tenant failed - response code: \" + request.status);\n return;\n }\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: selfUrl\n });\n Notification.showSuccessNotification(this._i18n.getTranslation('tenant_termination_success_title'), this._i18n.getTranslation('tenant_termination_success_message'));\n const waitForNotificationAnimation: number = 3100;\n setTimeout(() => {\n location.reload();\n }, waitForNotificationAnimation);\n }\n request.send(JSON.stringify(data));\n };\n\n private _getValues = (): tenantDto => {\n let subdomain = FieldHandler.getFieldValue(\"tenantDomainValue\");\n if (subdomain.isNullOrEmpty()) {\n let btnSave = document.getElementById(\"btnSave\");\n let subdomainField = document.getElementById(\"tenantDomainValue\");\n let subdomainMessageField = document.getElementById(\"tenantDomainMessage\");\n let subdomainIconField = document.getElementById(\"tenantDomainIcon\");\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_field_empty'));\n return null;\n }\n\n let dto: tenantDto = {\n tenant: {\n id: FieldHandler.getFieldValue(\"tenantIdValue\"),\n name: FieldHandler.getFieldValue(\"tenantNameValue\"),\n domainName: subdomain,\n organizationId: UrlHelpers.getLinkDataDetails(\"self\"),\n }\n };\n\n return dto;\n };\n\n private _addCtxActions = () => {\n let ctx = Array();\n ctx.push({\n title: this._i18n.getTranslation('permission_tenant_title'),\n icon: permIcon,\n href: UrlHelpers.getLinkRelHref('permission')\n });\n\n ctx.push({\n title: this._i18n.getTranslation('tenant_edit_ctxAction_overwrite_label'),\n icon: overwriteIcon,\n href: UrlHelpers.getLinkRelHref('overwrites')\n });\n\n var furtherActions = document.querySelectorAll(\"link[rel='centerextension']\");\n furtherActions.forEach((action) => {\n ctx.push({\n title: action.getAttribute('title'),\n icon: action.getAttribute('data-icon'),\n href: action.getAttribute('href')\n })\n });\n\n if (this._isSysAdmin) {\n ctx.push({\n title: this._i18n.getTranslation('organization_details_tenantList_btn_moveTenant'),\n icon: moveOrgaIcon,\n href: UrlHelpers.getLinkRelHref('tenantOrganization')\n });\n ctx.push({\n title: this._i18n.getTranslation('organization_details_tenantList_btn_delete'),\n icon: deleteIcon,\n callback: () => {\n this._deleteTenant();\n }\n })\n }\n // this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n };\n\n private _deleteTenant = (): void => {\n this._dux.query.notifier(this._i18n.getTranslation('tenant_modal_delete_tenant_message'), {\n title: this._i18n.getTranslation('tenant_modal_delete_tenant_title'), //\"Wirklich l\u00F6schen?\",\n showClose: true,\n submit: this._i18n.getTranslation('tenant_modal_delete_tenant_btn_delete_label'), //\"L\u00F6schen\",\n priority: \"warning\",\n callback: () => {\n this._deleteElement();\n }\n });\n };\n\n private _deleteElement = () => {\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open(\"DELETE\", url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 204) {\n this._dapi.dispatchResourceEvent({\n name: \"deleted\",\n uri: tenant_deleted //'/center/tenant/deleted'//url\n });\n this._dapi.closeResourceIfMainResource();\n } else if (xhr.status === 401) {\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_delete_error_unauthorized_title'), this._i18n.getTranslation('tenant_delete_error_unauthorized_message'));\n } else {\n console.error(xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('tenant_delete_error_unexpected_error_title'), this._i18n.getTranslation('tenant_delete_error_unexpected_error_message'));\n }\n };\n try {\n xhr.send();\n } catch (exp) {\n console.error(exp);\n }\n };\n\n // domain check event\n private _checkSubdomain = () => {\n let btnSave = document.getElementById(\"btnSave\");\n let btnSaveOriginalValue = \" \" + this._i18n.getTranslation('btn_save_title');\n let subdomainField = document.getElementById(\"tenantDomainValue\");\n let subdomain = subdomainField.value;\n let subdomainMessageField = document.getElementById(\"tenantDomainMessage\");\n let subdomainIconField = document.getElementById(\"tenantDomainIcon\");\n\n subdomainMessageField.innerText = \"\";\n if (subdomainMessageField.children.length > 0) {\n //subdomainMessageField.children.clear();\n }\n\n this._removeIcons(subdomainField, subdomainIconField);\n btnSave.text = this._i18n.getTranslation('tenant_checkdomain_btn_save_waittitle');\n btnSave.setAttribute('disabled', 'disabled');\n if (subdomain.isNullOrEmpty()) {// === undefined || subdomain === null || subdomain === '') {\n //this._checkSubdomainSuccess(subdomainField, subdomainIconField, btnSave, btnSaveOriginalValue);\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_field_empty'));\n clearTimeout(this.timer);\n } else if (this.timer < 1) {\n this._addSpinner(subdomainIconField);\n this.timer = setTimeout(() => {\n subdomain = subdomainField.value;\n if (subdomain.isNullOrEmpty()) {// === undefined || subdomain === null || subdomain === '') {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_field_empty'));\n clearTimeout(this.timer);\n this.timer = -1;\n } else {\n let validSubdomain = this._cleanSubdomain(subdomain);\n if (subdomain !== validSubdomain) {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_invalidchar'));\n } else if (subdomain.length < 3) {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_minlength'));\n } else {\n this._checkSubdomainExist(subdomain, subdomainField, subdomainIconField, btnSave, btnSaveOriginalValue, subdomainMessageField);\n }\n clearTimeout(this.timer);\n this.timer = -1;\n }\n }, 500);\n }\n };\n\n private _checkSubdomainExist = (subdomain: string, subdomainField: HTMLInputElement, subdomainIconField: HTMLSpanElement, btnSave: HTMLAnchorElement, btnSendOriginalValue: string, subdomainMessageField: HTMLSpanElement) => {\n let tenantId = FieldHandler.getFieldValue(\"tenantIdValue\");\n let url = UrlHelpers.getLinkRelHref(\"domainCheck\");\n let xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 200) {\n var result = JSON.parse(xhr.responseText);\n if (!result.exists) {\n this._checkSubdomainSuccess(subdomainField, subdomainIconField, btnSave, btnSendOriginalValue);\n } else {\n if (result.message === 'Domain already exists.') {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist'));\n } else if (result.message === 'Domain is blacklisted.') {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_domain_is_blacklisted'));\n } else {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist'));\n }\n console.warn(result.message);\n }\n } else {\n var result = JSON.parse(xhr.responseText);\n console.error(result.message);\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_unexpected_error'));\n if (result.message === \"\") {\n\n } else if (result.message === \"Domain is blacklisted.\") {\n this._checkSubdomainFail(subdomainField, subdomainIconField, btnSave, subdomainMessageField, this._i18n.getTranslation('tenant_subdomain_error_domain_is_blacklisted'));\n } else {\n }\n }\n };\n xhr.send(JSON.stringify({\n domain: subdomain,\n tenantId: tenantId\n }));\n };\n\n private _cleanSubdomain = (value: string): string => {\n return value.replace(/[^a-zA-Z0-9-]/g, \"\").replace(/ +/, \"\");\n };\n\n private _removeIcons = (subdomainField: HTMLInputElement, subdomainIconField: HTMLSpanElement) => {\n subdomainField.classList.remove('has-success');\n subdomainField.classList.remove('has-error');\n subdomainIconField.classList.remove('dv-success');\n subdomainIconField.classList.remove('dv-warning');\n };\n\n private _addSpinner = (element: HTMLSpanElement) => {\n //element.classList.add('fa', 'fa-spinner', 'fa-spin');\n element.classList.add('dv', 'dv-waitingdots', 'dv-spin');\n };\n\n private _removeSpinner = (element: HTMLSpanElement) => {\n element.classList.remove('dv', 'dv-waitingdots', 'dv-spin');\n };\n\n private _checkSubdomainFail = (subdomainField: HTMLInputElement, subdomainIconField: HTMLSpanElement, btnSend: HTMLAnchorElement, subdomainMessageField: HTMLSpanElement, msg: string) => {\n this._removeSpinner(subdomainIconField);\n subdomainField.classList.add('has-error');\n subdomainIconField.classList.add('dv', 'dv-warning');\n subdomainMessageField.innerText = msg + ' ';\n btnSend.setAttribute('disabled', 'disabled');\n btnSend.text = this._i18n.getTranslation('tenant_checkdomain_btn_save_invalidDomain');\n btnSend.removeEventListener(\"click\", this._saveClick);\n let formgrp = document.getElementById(\"tenantDomain\");\n formgrp.classList.remove(\"has-success\");\n formgrp.classList.add(\"has-error\");\n };\n\n private _checkSubdomainSuccess = (subdomainField: HTMLInputElement, subdomainIconField: HTMLSpanElement, btnSend: HTMLAnchorElement, btnSendOriginalValue: string) => {\n this._removeSpinner(subdomainIconField);\n subdomainField.classList.add('has-success');\n subdomainIconField.classList.add('dv', 'dv-success');\n btnSend.innerHTML = btnSendOriginalValue;\n btnSend.removeAttribute('disabled');\n btnSend.addEventListener(\"click\", this._saveClick);\n let formgrp = document.getElementById(\"tenantDomain\");\n formgrp.classList.remove(\"has-error\");\n formgrp.classList.add(\"has-success\");\n };\n}\n\nexport interface tenantDto {\n tenant: tenantDetailsDto;\n}\n\nexport interface tenantDetailsDto {\n id: string;\n name: string;\n domainName: string;\n organizationId: string;\n}\n\nexport interface tenantTerminationDto {\n state: TenantTerminationState\n}\n\nexport enum TenantTerminationState {\n byCustomer = \"TERMINATED_CUSTOMER\",\n byAdmin = \"TERMINATED_ADMIN\",\n byBilling = \"TERMINATED_BILLING\",\n notTerminated = \"NOT_TERMINATED\"\n}", "import {FieldHandler} from \"./fieldHandler\";\nimport UrlHelpers from \"./url\";\nimport {Notification} from \"./notification\";\nimport {i18n} from \"./i18n\";\nimport {setContextActions} from \"./contextActions\";\nimport {ErrorHandler} from \"./errorHandler\";\n\nexport class PermissionManagement{\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n\n constructor(){\n this._dapi.addResourceEventListener('changed',this._dapi_event);\n this._dapi.addResourceEventListener('deleted',this._dapi_event);\n (document.getElementById(\"btnAdd\")).addEventListener(\"click\", this.btnAdd_Click);\n\n this.setRemoveBtnEvents();\n setContextActions(this._dapi, this._i18n, null);\n }\n\n public setRemoveBtnEvents = () => {\n let removeBtns = document.getElementsByName(\"removePermission\");\n for (let i = 0; i < removeBtns.length; i++){\n removeBtns[i].addEventListener(\"click\", this.btnDelete_Click);\n }\n };\n\n public btnAdd_Click = () => {\n FieldHandler.clearFieldError(\"usermail\");\n let data : PermissionDto = this._getValues();\n if (data !== null){\n let url = UrlHelpers.getLinkRelHref(\"self\");\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = () => {\n if (xhr.status === 200){\n this._dapi.dispatchResourceEvent({\n name: \"changed\",\n uri: url\n });\n let title = this._i18n.getTranslation('permissionmgnt_notification_useradded_title'); //\"Benutzer hinzugef\u00FCgt\";\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('permissionmgnt_notification_useradded_msg'), \"{user}\",data.mail); //\"Benutzer '\" + data.mail + \"' konnte erfolgreich berechtigt werden.\";\n Notification.showSuccessNotification(title, msg);\n FieldHandler.setFieldValue(\"usermail\",\"\");\n } else if (xhr.status === 422) {\n let title = this._i18n.getTranslation('permissionmgnt_notification_useralreadyexist_title');\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('permissionmgnt_notification_useralreadyexist_msg'), \"{user}\", data.mail); //\"Berechtigung f\u00FCr Benutzer '\" + data.mail + \"' existiert bereits.\";\n Notification.showSuccessNotification(title, msg);\n FieldHandler.setFieldValue(\"usermail\",\"\");\n } else if (xhr.status === 400) {\n console.warn(xhr.responseText);\n let error = ErrorHandler.parseError(xhr.responseText);\n if(error.description.trim() === \"E-Mail is invalid\"){\n let title = this._i18n.getTranslation('permissionmgnt_notification_invalidmail_title');\n let msg = this._i18n.getTranslation('permissionmgnt_notification_invalidmail_msg');\n FieldHandler.setFieldError(\"usermail\", msg);\n Notification.showErrorNotification(title, msg);\n } else {\n let title = this._i18n.getTranslation('permissionmgnt_notification_failedrequest_title');\n let msg = this._i18n.getTranslation('permissionmgnt_notification_failedrequest_msg');\n Notification.showErrorNotification(title, msg);\n }\n } else {\n let title = this._i18n.getTranslation('permissionmgnt_notification_internalError_title');\n let msg = this._i18n.getTranslation('permissionmgnt_notification_internalError_msg');\n Notification.showErrorNotification(title, msg);\n console.error(xhr.responseText);\n }\n };\n xhr.send(JSON.stringify(data));\n } else {\n console.warn(\"User field was empty!\");\n }\n };\n\n public btnDelete_Click = (e:any) => {\n let current = e.currentTarget;\n let user = current.dataset[\"mail\"];\n let role = current.dataset[\"role\"];\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('permissionmgnt_dialog_deleteuser_msg'),\"{user}\", user);\n this._dux.query.notifier(msg, {\n title: this._i18n.getTranslation('permissionmgnt_dialog_deleteuser_title'),\n showClose: true,\n submit: this._i18n.getTranslation('permissionmgnt_dialog_deleteuser_btn_submit_title'),\n priority: 'warning',\n callback: () => {\n this._removePermission(user, role);\n }\n });\n };\n\n private _removePermission = (currentMail: string, currentRole: string) => {\n let dto = {\n mail: currentMail,\n role: currentRole\n };\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('DELETE', url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = () => {\n if(xhr.status === 204){\n console.log('Remove permission successfully');\n this._dapi.dispatchResourceEvent({\n name:\"deleted\",\n uri: url\n });\n let title = this._i18n.getTranslation('permissionmgnt_notifcation_removepermission_success_title');\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('permissionmgnt_notifcation_removepermission_success_msg'), \"{user}\", currentMail);\n Notification.showSuccessNotification(title, msg);\n } else {\n console.error(xhr.responseText);\n let title = this._i18n.getTranslation('permissionmgnt_notifcation_removepermission_failed_title');\n let msg = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('permissionmgnt_notifcation_removepermission_failed_msg'),\"{user}\",currentMail);\n Notification.showErrorNotification(title, msg);\n }\n };\n xhr.send(JSON.stringify(dto));\n };\n\n private _getValues = () : PermissionDto => {\n let retVal = {\n isCurrent: false,\n // role: FieldHandler.getFieldValue(\"permissionrole\"),\n mail: FieldHandler.getFieldValue(\"usermail\")\n };\n let error:boolean = false;\n if (retVal.mail === \"\") {\n FieldHandler.setFieldError(\"usermail\", this._i18n.getTranslation('permissionmgnt_requiredfield_user_empty'));\n error = true;\n }\n if (error) {\n return null;\n }\n return retVal;\n };\n\n private _dapi_event = (resourceEvent: IResourceEvent) => {\n let url = UrlHelpers.getLinkRelHref('refresh');\n if(resourceEvent.uri === UrlHelpers.getLinkRelHref('self')) {\n let xhr = new XMLHttpRequest();\n let e = document.getElementById(\"permissionTableContent\");\n xhr.onreadystatechange = () => {\n if (xhr.readyState === 4 && xhr.status === 200) {\n e.innerHTML = xhr.responseText;\n this.setRemoveBtnEvents();\n }\n };\n xhr.open('GET', url, true);\n try{\n xhr.send();\n }catch(err){\n console.error(err);\n }\n }\n }\n}\n\nexport interface PermissionDto {\n mail : string;\n // role : string;\n isCurrent : boolean;\n}", "declare interface String {\n isNullOrEmpty(): boolean;\n startsWith(v:string):boolean;\n endsWith(v:string):boolean;\n}\n\nString.prototype.isNullOrEmpty = function () :boolean {\n if (this === undefined || this === null || this === '' || this.length === 0){\n return true;\n }\n return false;\n};\n\nString.prototype.startsWith = function(v:string):boolean {\n if (this.isNullOrEmpty()) {\n return false;\n }\n if (v.isNullOrEmpty()){\n return false;\n }\n if (this.length < v.length) {\n return false;\n }\n return this.substring(0, v.length) === v;\n};", "import UrlHelpers from \"./url\";\n\ninterface IMediamanagerLinks {\n upload: string\n public: string\n}\n\ndeclare type MediamanagerCallback = (string) => void;\n\n\nexport class MediamanagerFileInputHandler {\n constructor(input: HTMLInputElement, callback: MediamanagerCallback) {\n this._createOnChangeEvent(input, callback);\n }\n\n private _createOnChangeEvent = (input: HTMLInputElement, callback: MediamanagerCallback) => {\n if (!input) {\n throw new Error(\"Parameter 'input' missing\")\n }\n if (!callback) {\n throw new Error(\"Parameter 'callback' missing\")\n }\n input.addEventListener(\n \"change\",\n () => {\n this._handleInputChange(input, callback);\n },\n false\n );\n };\n\n private _handleInputChange = (input: HTMLInputElement, callback: MediamanagerCallback) => {\n const file: File = this._getFile(input);\n if (!file) {\n console.error(\"Failed to load file.\");\n return;\n }\n const baseurl: string = UrlHelpers.getLinkRelHref('mediamanager');\n if(baseurl) {\n this._getTarget(baseurl).then(location => {\n this._getLinks(baseurl + location).then((links: JSON) => {\n console.log(`public:${links[\"public\"]}`);\n console.log(`upload:${links[\"upload\"]}`);\n const cb = () => {\n callback(String(links[\"public\"]))\n };\n this._upload(String(links[\"upload\"]), file, cb);\n });\n });\n } else {\n console.error(\"'mediamanager' link relation not found!\");\n }\n };\n\n private _upload = (url: string, file: File, cb: any) => {\n console.log(`Call 'PUT' to source ${url}`);\n fetch(url, {\n method: 'PUT',\n body: file,\n headers: {\n 'Content-Type': file.type,\n 'Content-Disposition': `filename=\"${file.name}\"`\n },\n credentials:\"same-origin\"\n }).then(r => {\n console.log(r.statusText);\n cb();\n });\n };\n\n private _getFile = (input: HTMLInputElement): File => {\n if (null != input.files && 0 < input.files.length) {\n return input.files[0];\n }\n return null;\n };\n\n private _getTarget = (url: string): Promise => {\n //TODO: Errorhandling - bisher wird ein GET gefeuert, auch wenn kein location header und damit keine valide URL zur\u00FCckkommt\n // Feedback f\u00FCr User bei Fehlern fehlt\n console.log(`Call 'POST' to source ${url}`);\n return fetch(url,\n {\n method: \"POST\",\n headers: new Headers(\n {\n 'Accept': 'application/json'\n }\n ),\n credentials: \"same-origin\"\n }\n ).then(r => {\n console.log(`Return status: ${r.status}`);\n if (r.status !== 201 || !r.headers.get('Location').toString()) {\n throw \"Missing location header\"\n }\n return r.headers.get(\"Location\").toString();\n\n }\n ).catch(e => console.warn(`Request to ${url} failed! Error: ${e}`));\n };\n\n private _getLinks = (url: string): Promise => {\n console.log(`Call 'GET' to source ${url}`);\n return fetch(url,\n {\n method: \"GET\",\n credentials: \"same-origin\"\n }\n ).then(r => {\n console.log(`Return status: ${r.status}`);\n if (r.status == 200) {\n return r.json();\n }\n }\n ).then(json => {\n if (json.hasOwnProperty('_links')) {\n return json[\"_links\"];\n }\n throw \"No links found in response\";\n }\n ).catch(e => console.log(`Request to ${url} failed! Error: ${e}`));\n };\n\n}", "export class Escaping {\n\tpublic static escapeHtml = (s:string):string => {\n\t\treturn String(s).replace(/[^\\w. ]/gi, function (c){\n\t\t\treturn '&#'+c.charCodeAt(0)+';';\n\t\t});\n\t};\n}", "import {i18n} from \"./i18n\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport UrlHelpers from \"./url\";\nimport * as mdc from \"material-components-web\";\nimport {checkbox, dialog, linearProgress, list, radio, ripple, select, snackbar, switchControl, textField, topAppBar} from \"material-components-web\";\nimport {MediamanagerFileInputHandler} from \"./mediamanagerFileInput\";\nimport {app_edit_changed_saved, app_edit_deleted} from \"./dapiEventUris\";\nimport {errorDto, ErrorHandler} from \"./errorHandler\";\nimport {isEndpointValid} from \"./validation\";\nimport {Escaping} from \"./escaping\";\n\nexport class AppEdit {\n private _dapi: Dapi = (window).dapi;\n private _i18n: i18n = new i18n();\n private _snackbarElementId = 'appEdit-notification';\n private _delayTimer;\n private _newAddedApps: string[];\n\n //Material Objects\n private _mdcTextFields: { [id: string]: textField.MDCTextField } = {};\n private _mdcSelects: { [id: string]: mdc.select.MDCSelect } = {};\n private _mdcSelectHelperTexts: { [id: string]: mdc.select.MDCSelectHelperText } = {};\n private _mdcCheckboxes: { [id: string]: mdc.select.MDCCheckbox } = {};\n private _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n private _mdcDialogs: { [id: string]: mdc.dialog.MDCDialog } = {};\n private _mdcRadioButtons: { [id: string]: mdc.select.MDCRadio } = {};\n\n constructor() {\n window.addEventListener('load', () => {\n document.body.style.height = \"\";\n })\n let scrollPageId = window.localStorage.getItem('scrollPageId');\n if (scrollPageId) {\n this._scrollToView(scrollPageId);\n window.localStorage.setItem('scrollPageId', '');\n }\n\n const scrollPos = window.localStorage.getItem('scrollPos');\n if (scrollPos) {\n this._scrollToPosition(parseInt(scrollPos));\n window.localStorage.setItem('scrollPos', '');\n }\n\n this._loadMaterial();\n this._setSaveButtonHandler();\n this._initializeMediamanagerInputs();\n this._setMediaImages();\n this._bindCollapsibles();\n this._setupAdministrateDependencyDialog();\n let btnDeleteApp = (document.getElementById('delete-app-button'));\n if (btnDeleteApp) {\n btnDeleteApp.addEventListener('click', this._handleOpenDeleteModal);\n }\n let btnCopySecret = (document.getElementById('btnCopySecret'));\n if (btnCopySecret) {\n btnCopySecret.addEventListener('click', this._copySecret);\n }\n let btnGenerateSecret = (document.getElementById('btnGenerateSecret'));\n if (btnGenerateSecret) {\n btnGenerateSecret.addEventListener('click', this._handleOpenGenerateSecretModal);\n }\n\n const btnSubscribeApp = (document.getElementById('btn-subscribe-app'));\n if (btnSubscribeApp) {\n btnSubscribeApp.addEventListener('click', this._handleSubscribeBtnClick);\n }\n\n this.initApprovalState();\n\n const copyDocumentUrlButtons = document.querySelectorAll('.document-copyurl');\n if (copyDocumentUrlButtons) {\n Array.apply(null, copyDocumentUrlButtons).forEach((button: HTMLButtonElement) => {\n button.addEventListener('click', this._copyDocumentUrl);\n });\n }\n\n const deleteButtons = document.querySelectorAll('.document-delete');\n if (deleteButtons) {\n Array.apply(null, deleteButtons).forEach((button: HTMLButtonElement) => {\n button.addEventListener('click', this._openDeleteLegalDialog);\n });\n }\n\n const editDocumentButtons = document.querySelectorAll('.document-edit');\n if (editDocumentButtons) {\n Array.apply(null, editDocumentButtons).forEach((button: HTMLButtonElement) => {\n button.addEventListener('click', (e: Event) => {\n const target = this._getParentFromEvent(e);\n if (!target) {\n return;\n }\n let index = 0;\n const keyToIndex = {\n \"performanceSpecification\": 0,\n \"privacyStatement\": 1,\n \"subprocessorInformation\": 2,\n \"generalTerms\": 3,\n \"sla\": 4,\n \"orderProcessingAgreements\": 5\n };\n if (target.hasAttribute('data-key')) {\n index = keyToIndex[target.dataset.key];\n }\n this._showDocumentDialog(index)\n });\n });\n }\n\n const addDocumentButton = document.getElementById('btn-add-document');\n if (addDocumentButton) {\n addDocumentButton.addEventListener('click', () => {\n this._showDocumentDialog();\n });\n }\n\n const addAppDependencyButton = document.getElementById('btn-add-app-dependency');\n if (addAppDependencyButton) {\n addAppDependencyButton.addEventListener('click', () => {\n this._loadAppList((dto => {\n this._renderAppListIntoAppDependencyDialog(dto);\n this._writeAppListToMeta(dto);\n }), e => {\n this._showErrorNotification('appEdit-notification', e);\n });\n });\n }\n this._loadAppList((dto => {\n console.debug('initial app list loaded');\n this._writeAppListToMeta(dto);\n this._renderDependenciesList();\n }), e => {\n this._showErrorNotification('appEdit-notification', `initial app list loading failed: ${e}`);\n });\n this._setDependenciesListObserver();\n\n const legalDocumentListItems = (document.getElementById('legal_document_list')).querySelectorAll('.mdc-list-item');\n Array.apply(null, legalDocumentListItems).forEach((li: HTMLLIElement) => {\n this._updateListElement(li);\n });\n\n const legalDocumentTitle = document.getElementById('appEditModalAddDocument-title');\n if (legalDocumentTitle) {\n legalDocumentTitle.addEventListener('input', () => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this._validateDocumentDialog();\n }, 500);\n });\n }\n\n if (this._dapi.isMainResource()) {\n this._dapi.publishLocation(location.href);\n }\n\n const subscriptionNotificationMailCheckbox = this._mdcCheckboxes[\"useSubscriptionNotificationMail_checkbox\"];\n if (subscriptionNotificationMailCheckbox) {\n subscriptionNotificationMailCheckbox.root.addEventListener('change', () => {\n this._setSubscriptionNotification(subscriptionNotificationMailCheckbox.checked);\n });\n }\n\n const searchField = document.getElementById('appEditModalAddAppDependency_searchField-input');\n if (searchField) {\n searchField.addEventListener('keyup', this._handleSearchWithinNewAppDependencyList);\n }\n\n const dialogAppDep = this._mdcDialogs['appEditModalAddAppDependency'];\n if (dialogAppDep) {\n dialogAppDep.listen('MDCDialog:closed', this._handleDependencyDialogClosed);\n }\n }\n\n private _handleSubscribeBtnClick = () => {\n const appName = UrlHelpers.getMetaData('appName');\n const url = `${window.location.protocol}//${window.location.host}/center/subscriptionwizard?app=${appName}`;\n window.open(url, '_blank').focus();\n };\n\n private initApprovalState() {\n const approvalChip = (document.getElementById('approval-status'));\n const isCloudAdmin = UrlHelpers.getMetaData('sysAdmin') === \"1\"\n const userIsAppBuilder = approvalChip && approvalChip.dataset.appname && approvalChip.dataset.providerId && !isCloudAdmin;\n const userIsCloudAdmin = approvalChip && isCloudAdmin;\n\n if (userIsAppBuilder) {\n this._approvalStateAppBuilderAction(approvalChip);\n } else if (userIsCloudAdmin) {\n approvalChip.addEventListener('click', this._handleApproveChipClicked);\n }\n }\n\n private _handleApproveChipClicked = () => {\n const btn = document.getElementById('appEditModalApproveAppBtnSave');\n btn.disabled = true;\n\n const approvalStateIsApproved = UrlHelpers.getMetaData('approvalState') === 'true';\n const allRequirementsExist = UrlHelpers.getMetaData('allRequirementsExist') === 'true'\n\n if (approvalStateIsApproved) {\n this._changeTextInApproveDialogToRejectApproval();\n }\n\n if (!allRequirementsExist && !approvalStateIsApproved) {\n this._showRequirementsMissingWarning();\n }\n\n const dialog = this._mdcDialogs['appEditModalApproveApp'];\n dialog.listen('MDCDialog:closed', this._handleAppApproveDialogClosed);\n dialog.layout();\n dialog.open();\n }\n\n private _showRequirementsMissingWarning() {\n const warningElement = document.getElementById('appEditModalApproveAppContentWarning');\n const warning = this._i18n.getTranslation('app_edit_modal_changeApprovalState_approve_warning');\n if (warningElement) {\n warningElement.innerHTML = `warning ${warning}`;\n } else {\n const contentElement = document.getElementById('appEditModalApproveAppContent');\n const p = document.createElement('p');\n p.id = 'appEditModalApproveAppContentWarning';\n p.innerHTML = `warning ${warning}`;\n contentElement.appendChild(p);\n }\n }\n\n private _changeTextInApproveDialogToRejectApproval() {\n const dialogTitle = document.getElementById('appEditModalApproveAppTitle');\n dialogTitle.innerText = this._i18n.getTranslation('app_edit_modal_changeApprovalState_unapprove_title');\n\n const contentText = document.getElementById('appEditModalApproveAppContentText');\n const appName = UrlHelpers.getMetaData('appName');\n const content = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('app_edit_modal_changeApprovalState_unapprove_content'), '{appName}', appName);\n contentText.innerHTML = `${content}`;\n\n const warningElement = document.getElementById('appEditModalApproveAppContentWarning');\n const warning = this._i18n.getTranslation('app_edit_modal_changeApprovalState_unapprove_warning');\n warningElement.innerHTML = `warning ${warning}`;\n\n const checkboxLabelElement = document.getElementById('appEditModalApproveAppCheckboxLabel');\n const labelValue = this._i18n.getTranslation('app_edit_modal_changeApprovalState_unapprove_confirmCheckbox_label');\n checkboxLabelElement.innerText = labelValue;\n\n const btnSaveLabel = document.getElementById('appEditModalApproveAppBtnSaveLabel');\n btnSaveLabel.innerText = this._i18n.getTranslation('app_edit_modal_changeApprovalState_unapprove_btnSave_label');\n }\n\n private handleApproveCheckboxClicked = (e:any):void => {\n const checkbox = this._mdcCheckboxes['appEditModalApproveAppCheckbox'];\n const btn = document.getElementById('appEditModalApproveAppBtnSave');\n btn.disabled = !checkbox.checked;\n }\n\n private _getSelectedViewpropLanguage = (): string => {\n return this._mdcSelects['viewPropLanguageSelector'].value;\n };\n\n private _approvalStateAppBuilderAction(approvalChip: HTMLElement) {\n const necessaryData = `Appname = ${approvalChip.dataset.appname}\\nProvider ID = ${approvalChip.dataset.providerId}`;\n const href = \"mailto:cloud.support@d-velop.de?subject=\" + escape(`Approval required for d.velop cloud App: ${approvalChip.dataset['appname']}`) +\n \"&body=\" + escape(`Your message (optional):\\n\\n\\n--- Please do not change any values ---\\n\\n${necessaryData}\\n\\n--- Please do not change any values ---`);\n const reqFieldsMissing = !!document.getElementById(\"viewPropLanguageSelector_warningicon\");\n approvalChip.addEventListener('click', () => {\n this._openMailtoDialog(necessaryData, href, reqFieldsMissing);\n });\n }\n\n private _changeAndSaveApprovalState = (cbSuccess?: () => void, cbError?:(message:string) => void):void => {\n const url = UrlHelpers.getLinkRelHref('self');\n const appName = UrlHelpers.getMetaData('appName');\n const currentApprovalState = UrlHelpers.getMetaData('approvalState') == \"true\";\n\n const data = {\n appName: appName,\n isApproved: !currentApprovalState,\n }\n\n const req = new Request(url, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/merge-patch+json'\n },\n body: JSON.stringify(data),\n credentials: 'same-origin'\n });\n\n fetch(req)\n .then((r:Response) => {\n if (r.status !== 200) {\n r.text().then((text:string) => {\n console.error(text);\n throw `approval request failed with error code ${r.status} and message '${text}`;\n });\n }\n if(cbSuccess) {\n cbSuccess();\n }\n return\n })\n .catch((e:string) => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n });\n };\n\n private _handleAppApproveDialogClosed = (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'save') {\n this._changeAndSaveApprovalState(() => {\n window.location.reload();\n }, message => {\n this._showErrorNotification('appEdit-notification', 'FAILED');\n });\n }\n\n const mdcCheckbox = this._mdcCheckboxes['appEditModalApproveAppCheckbox'];\n mdcCheckbox.checked = false;\n\n const warningElement = document.getElementById('appEditModalApproveAppContentWarning');\n // if(warningElement) {\n warningElement.innerHTML = '';\n // }\n\n const dialog = this._mdcDialogs['appEditModalApproveApp'];\n dialog.unlisten('MDCDialog:closed', this._handleAppApproveDialogClosed);\n };\n\n private _handleListOfNewDependenciesAction = (e: list.MDCListActionEventDetail) => {\n if (e.detail.index > -1) {\n const btn = document.getElementById('appEditModalAddAppDependency_add_button');\n btn.disabled = false;\n }\n };\n\n private _setMediaImages() {\n const mediaElements = document.getElementsByClassName('media-image-wrapper');\n for (let i = 0; i < mediaElements.length; i++) {\n const currentElement = mediaElements[i];\n const bgImgUrl = currentElement.dataset.imageUrl;\n currentElement.setAttribute('style', 'background-image: url(' + bgImgUrl + ');');\n }\n }\n\n private _setSubscriptionNotification(visible: boolean) {\n const wrapper = document.getElementById('useSubscriptionNotificationMail_wrapper');\n const textfield = this._mdcTextFields[\"useSubscriptionNotificationMail_textfield\"];\n if (!textfield || !wrapper) {\n console.log(`couldn't find ${!textfield ? \"textfield\" : \"wrapper\"}`);\n }\n if (!visible) {\n wrapper.style.display = 'none';\n return;\n }\n wrapper.style.display = 'block';\n if (textfield.value === \"\") {\n textfield.value = textfield.root.dataset[\"supportmail\"];\n textfield.focus();\n }\n }\n\n private _loadMaterial = () => {\n const topBar = document.getElementById(\"appEdit-top-bar\");\n topAppBar.MDCTopAppBar.attachTo(topBar);\n\n const buttons = document.querySelectorAll('.mdc-button');\n Array.apply(null, buttons).forEach((button) => {\n ripple.MDCRipple.attachTo(button);\n });\n\n const textfields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null, textfields).forEach((textfield) => {\n const mdcTextfield = textField.MDCTextField.attachTo(textfield);\n //take input or textarea id if wrapping div has no id itself\n if (!textfield.id) {\n const inputs = textfield.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcTextFields[inputs[0].id] = mdcTextfield;\n return\n }\n const areas = textfield.getElementsByTagName('textarea');\n if (areas.length > 0 && areas[0].id) {\n this._mdcTextFields[areas[0].id] = mdcTextfield;\n return\n }\n return\n }\n this._mdcTextFields[textfield.id] = mdcTextfield;\n });\n\n const cc = document.querySelectorAll('.mdc-text-field-character-counter');\n Array.apply(null, cc).forEach((c) => {\n textField.MDCTextFieldCharacterCounter.attachTo(c);\n });\n\n const dialogs = document.querySelectorAll('.mdc-dialog');\n Array.apply(null, dialogs).forEach((d) => {\n const mdcDialog = dialog.MDCDialog.attachTo(d);\n if (d.id) {\n this._mdcDialogs[d.id] = mdcDialog;\n }\n });\n\n const bars = document.querySelectorAll('.mdc-snackbar');\n Array.apply(null, bars).forEach((b) => {\n snackbar.MDCSnackbar.attachTo(b);\n });\n\n const progressbars = document.querySelectorAll('.mdc-linear-progress');\n Array.apply(null, progressbars).forEach((progress) => {\n linearProgress.MDCLinearProgress.attachTo(progress);\n });\n\n const swList = document.querySelectorAll('.mdc-switch');\n Array.apply(null, swList).forEach((sw) => {\n switchControl.MDCSwitch.attachTo(sw);\n });\n\n const uLists = document.querySelectorAll('.mdc-list');\n Array.apply(null, uLists).forEach((uList) => {\n if (uList.id == 'appEditModalAddAppDependency_appList') {\n return;\n }\n const mdcList = list.MDCList.attachTo(uList);\n if (uList.id) {\n this._mdcLists[uList.id] = mdcList;\n }\n });\n\n const selects = document.querySelectorAll('.mdc-select');\n Array.apply(null, selects).forEach((s: HTMLElement) => {\n const mdcSelect = select.MDCSelect.attachTo(s);\n if (s.id == \"viewPropLanguageSelector\") {\n mdcSelect.listen('MDCSelect:change', this._onViewPropLanguageSelector_changed);\n this._showWarningIconInLanguageSelector();\n this._removeIconForSelectedText(mdcSelect);\n }\n if (s.id == \"appEditModalAddDocument-type-select\") {\n mdcSelect.listen('MDCSelect:change', this._handleDocumentTypeChanged);\n }\n this._mdcSelects[s.id] = mdcSelect;\n });\n\n const selectHelperTexts = document.querySelectorAll('.mdc-select-helper-text');\n Array.apply(null, selectHelperTexts).forEach((s: HTMLElement) => {\n const mdcSelectHelperText = select.MDCSelectHelperText.attachTo(s);\n if (s.id) {\n this._mdcSelectHelperTexts[s.id] = mdcSelectHelperText;\n }\n });\n\n const checkboxes = document.querySelectorAll('.mdc-checkbox');\n Array.apply(null, checkboxes).forEach((cb) => {\n const mdcCb = checkbox.MDCCheckbox.attachTo(cb);\n if (cb.id === 'appEditModalApproveAppCheckbox') {\n mdcCb.listen('click', this.handleApproveCheckboxClicked);\n } else if (cb.id === 'appEditModalAdministrateDependency-isSilentDependency') {\n mdcCb.listen('click', this.handleIsSilentDependencyCheckboxClicked);\n }\n if (cb.id) {\n this._mdcCheckboxes[cb.id] = mdcCb;\n }\n });\n\n const radioButtons = document.querySelectorAll('.mdc-radio');\n Array.apply(null, radioButtons).forEach((rb) => {\n const mdcRb = radio.MDCRadio.attachTo(rb);\n if (rb.id) {\n this._mdcRadioButtons[rb.id] = mdcRb;\n }\n });\n };\n\n private handleIsSilentDependencyCheckboxClicked = (e:any) => {\n console.debug(e);\n const checkbox = this._mdcCheckboxes['appEditModalAdministrateDependency-isSilentDependency'];\n const dialog = document.getElementById('appEditModalAdministrateDependency');\n if (checkbox.checked) {\n dialog.dataset.silentdependency = \"0\"\n } else {\n dialog.dataset.silentdependency = \"1\"\n }\n }\n\n private _showWarningIconInLanguageSelector = () => {\n const languageSelectorWarningIconId = 'viewPropLanguageSelector_warningicon';\n const languageSelector = document.getElementById('viewPropLanguageSelector');\n languageSelector.classList.remove('mdc-select--with-leading-icon');\n const languageItems = languageSelector.querySelectorAll('.mdc-list-item');\n let languageWarningExist = false;\n Array.apply(null, languageItems).forEach((item) => {\n for (let i = 0; i < item.children.length; i++) {\n let child = item.children[i];\n if (child.classList.contains('material-icons')) {\n languageWarningExist = true;\n }\n }\n });\n if (languageWarningExist) {\n const anchor = languageSelector.querySelector('.mdc-select__anchor');\n for (let i = 0; i < anchor.children.length; i++) {\n let child = anchor.children[i];\n if (child.classList.contains('mdc-select__selected-text')) {\n let warning = document.createElement('i');\n warning.id = languageSelectorWarningIconId;\n warning.classList.add('material-icons', 'mdc-select__icon');\n warning.style.color = 'orange';\n warning.setAttribute('tabindex', '0');\n warning.setAttribute('role', 'button');\n warning.innerText = 'warning';\n anchor.insertBefore(warning, child);\n languageSelector.classList.add('mdc-select--with-leading-icon');\n break;\n }\n }\n }\n };\n\n private _removeIconForSelectedText = (mdcSelect: mdc.select.MDCSelect) => {\n const iconElement = mdcSelect.menu.getOptionByIndex(mdcSelect.selectedIndex).querySelector(\".material-icons\");\n if (iconElement) {\n const icon = iconElement.innerText.trim();\n mdcSelect.leadingIconContent = icon;\n mdcSelect.selectedText.innerText = mdcSelect.selectedText.innerText.replace(icon, \"\").trim();\n }\n };\n\n private _showErrorNotification = (id: string, message: string) => {\n let div = document.getElementById(id);\n let bar: snackbar.MDCSnackbar = new snackbar.MDCSnackbar(div);\n bar.labelText = message;\n bar.closeOnEscape = true;\n bar.open();\n };\n\n private _reload = (url: string, anchorId: string) => {\n window.localStorage.setItem('scrollPageId', anchorId);\n window.location.href = url;\n };\n\n private _bindCollapsibles = () => {\n const collapsibles: collapsible[] = [\n {\n targets: ['viewprop-icon-button-start-edit-buttons', 'viewprop-icon-button-end-edit-buttons', 'viewprop-edit-section', 'viewprop-readonly-section'],\n buttons: ['viewprop-edit-start', 'viewprop-edit-cancel']\n },\n {\n targets: ['technical-details-icon-button-start-edit-buttons', 'technical-details-icon-button-end-edit-buttons', 'technical-details-edit-section', 'technical-details-readonly-section'],\n buttons: ['technical-details-edit-start', 'technical-details-edit-cancel']\n },\n {\n targets: ['pricing-start-edit-buttons', 'pricing-end-edit-buttons', 'pricing-edit-section', 'pricing-readonly-section'],\n buttons: ['pricing-edit-start', 'pricing-edit-cancel']\n }\n\n ];\n collapsibles.forEach((c) => {\n this._bindTargetsToButtons(c);\n });\n };\n\n private _setSaveButtonHandler = () => {\n (document.getElementById('viewprop-edit-save')).addEventListener('click', this._saveViewprop);\n (document.getElementById('technical-details-edit-save')).addEventListener('click', this._saveTechnicalDetails);\n\n const btnEditPricingSave = (document.getElementById('pricing-edit-save'));\n if (btnEditPricingSave) {\n btnEditPricingSave.addEventListener('click', this._savePricingProp);\n }\n };\n\n private _initializeMediamanagerInputs = () => {\n //App Logo\n this._initializeMediamanagerForInputButton('general-info-logo-input', 'app-logo-input-button', (source) => {\n const logoUrl = document.getElementById('general-info-logo-url-input');\n logoUrl.setAttribute(\"value\", source);\n FieldHandler.setFieldValue(logoUrl.id, source);\n this._saveGeneralInfo(null);\n this._reloadPageWithPageScroll(logoUrl.id);\n });\n //Document Upload\n this._initializeMediamanagerForInputButton('appEditModalEditScreenshot_filechooser', 'appEditModalAddDocument-upload-button', (source) => {\n const urlInput = document.getElementById('appEditModalEditScreenshot_document_url');\n urlInput.setAttribute(\"value\", source);\n FieldHandler.setFieldValue(urlInput.id, source);\n this._validateDocumentDialog();\n });\n };\n\n private _reloadPageWithPageScroll = (id: string) => {\n window.localStorage.setItem('scrollPageId', id);\n this._reload(window.location.href, id);\n };\n\n private _reloadWithPositionScroll = (y: number) => {\n window.localStorage.setItem('scrollPosition', y.toString());\n window.location.reload();\n };\n\n private _scrollToPosition = (y: number) => {\n window.scrollTo(0, y);\n };\n\n private _scrollToView = (id: string, smooth: boolean = false) => {\n setTimeout(() => {\n document.getElementById(id).scrollIntoView((smooth ? {behavior: 'smooth'} : null));\n }, 300);\n };\n\n private _handleOpenDeleteModal = () => {\n let div = document.getElementById('appEditModalDelete');\n let md = new dialog.MDCDialog(div);\n md.listen('MDCDialog:closed', (e: dialog.MDCDialogCloseEventDetail) => {\n this._handleDeleteModalAction(md, e);\n });\n md.open();\n };\n\n private _handleDeleteModalAction = (md: dialog.MDCDialog, e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'delete') {\n this._deleteApp();\n }\n md.unlisten('MDCDialog:closed');\n };\n\n private _openMailtoDialog = (appData, mailToHref: string, showWarning: boolean = false) => {\n const modalId = 'appEditModalNoMailtoHandler';\n const div = document.getElementById(modalId);\n const noMailtoData = document.getElementById('appEditModalNoMailtoHandlerData');\n noMailtoData.innerText = appData;\n const warningSection = document.getElementById('appEditModalRequiredFieldsMissing');\n warningSection.style.visibility = showWarning ? 'visible' : 'hidden';\n const md = new dialog.MDCDialog(div);\n md.listen('MDCDialog:closing', (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'request') {\n window.open(mailToHref);\n }\n });\n this._mdcDialogs[modalId] = md;\n md.open();\n };\n\n private _deleteApp = () => {\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('DELETE', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 204) {\n this._dapi.dispatchResourceEvent({\n name: 'deleted',\n uri: app_edit_deleted //'/center/app/deleted'\n });\n if (this._dapi.isMainResource()) {\n this._dapi.closeResourceIfMainResource();\n } else {\n location.href = UrlHelpers.getLinkRelHref('parent');\n }\n } else if (xhr.status === 404) {\n console.error(\"App not found: \" + xhr.responseText);\n this._showErrorNotification(this._snackbarElementId, this._i18n.getTranslation('app_edit_nofication_delete_failed_appnotfound_message'));\n } else if (xhr.status === 409) {\n console.error('App is in use: ' + xhr.responseText);\n this._showErrorNotification(this._snackbarElementId, this._i18n.getTranslation('app_edit_nofication_delete_failed_appisinuse_message'));\n } else {\n console.error(xhr.responseText);\n this._showErrorNotification(this._snackbarElementId, this._i18n.getTranslation('app_edit_nofication_delete_failed_unknownerror_message'));\n }\n };\n xhr.send();\n };\n\n private _saveAppData = (data: patchAppRequest, isModal: boolean, callbackSuccess: () => void, callbackError: (errorstatus: number, errormessage: string) => void): void => {\n if (data !== null) {\n const url = UrlHelpers.getLinkRelHref('self');\n const req = new Request(url, {\n method: 'PATCH',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify(data)\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.ok) {\n callbackSuccess();\n } else {\n response.json().then(value => {\n callbackError(response.status, JSON.stringify(value));\n });\n }\n })\n .catch(error => {\n console.error(error);\n callbackError(999, error);\n });\n return;\n }\n console.log('Missing data - cannot make request!');\n };\n\n private _getPatchAppRequest = (action: PatchAppAction, data: appRequestViewProp | appRequestTechnicalDetails | appRequestGeneral | appRequestDocument | appPricingProp): patchAppRequest => {\n return {\n appName: UrlHelpers.getMetaData('appName'),\n action: action,\n data: data\n } as patchAppRequest;\n };\n\n private _bindTargetsToButtons = (collapsibles: collapsible) => {\n collapsibles.buttons.forEach((buttonId: string) => {\n const button = document.getElementById(buttonId);\n if (!button) {\n console.log('Cannot find button with id: ', button);\n return;\n }\n button.addEventListener('click', (e: Event) => {\n this._toggleTargets(collapsibles.targets);\n for (const key in this._mdcTextFields) {\n const tf = this._mdcTextFields[key];\n const value = tf.value.trim();\n this._setMDCTextFieldValue(tf, value.length > 0 ? tf.value : value);\n }\n\n const target = e.target;\n const attKey = 'data-scrollTo';\n if (target.hasAttribute(attKey) && target.getAttribute(attKey) != \"\") {\n this._scrollToView(button.getAttribute(attKey), true);\n }\n });\n });\n };\n\n private _setMDCTextFieldValue = (tf: textField.MDCTextField, value: string) => {\n tf.value = value;\n };\n\n private _toggleTargets = (targetIds: string[]) => {\n targetIds.forEach((t) => {\n this._toggleCollapse(t);\n });\n };\n\n private _toggleCollapse = (id: string) => {\n document.getElementById(id).classList.toggle('cc-collapse');\n };\n\n private _onViewPropLanguageSelector_changed = (e: any) => {\n let selectedLanguageKey = e.detail.value;\n let mdcList = this._mdcSelects[e.target.id];\n this._showWarningIconInLanguageSelector();\n this._removeIconForSelectedText(mdcList);\n let url = UrlHelpers.setQueryParameter(location.href, 'translation', selectedLanguageKey);\n this._reload(url, e.target.id);\n };\n\n private _saveTechnicalDetails = (e: any) => {\n const detailsData = this._getTechnicalDetailsData();\n if (!detailsData) {\n return;\n }\n const data = this._getPatchAppRequest(PatchAppAction.TECHNICAL, detailsData);\n this._saveAppData(data, false, () => {\n this._reloadPageWithPageScroll(e.target.id);\n }, (errorstatus, errormessage) => {\n console.error(`save technical details failed with status ${errorstatus}: ${errormessage}`);\n let err: errorDto = ErrorHandler.parseError(errormessage);\n if (err === null) {\n this._showErrorNotification(this._snackbarElementId, errormessage);\n } else {\n let msg = err.description;\n if (msg.startsWith(\"decode technical dto failed.\")) {\n msg = this._i18n.getTranslation('app_edit_viewProp_error_request_wrong_msg');\n } else if (msg.startsWith(\"Last app view property cannot be deleted\")) {\n msg = this._i18n.getTranslation('app_edit_viewProp_error_cannot_delete_last_translation_msg');\n } else if (msg.startsWith('App dependencies not found:')) {\n msg = this._i18n.getTranslation('app_edit_technical_error_dependencies_not_found');\n }\n this._showErrorNotification(this._snackbarElementId, msg);\n }\n });\n };\n\n private _saveViewprop = (e: any) => {\n const viewPropData = this._getViewPropData();\n if (!viewPropData) {\n return\n }\n const data = this._getPatchAppRequest(PatchAppAction.VIEWPROP, viewPropData);\n this._saveAppData(data, false, () => {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: app_edit_changed_saved\n });\n this._reloadPageWithPageScroll(e.target.id);\n }, (errorstatus, errormessage) => {\n console.error(`save View Properties failed with status ${errorstatus}: ${errormessage}`);\n let err: errorDto = ErrorHandler.parseError(errormessage);\n if (err === null) {\n this._showErrorNotification(this._snackbarElementId, errormessage);\n } else {\n let msg = err.description;\n if (msg.startsWith(\"decode view property failed.\")) {\n msg = this._i18n.getTranslation('app_edit_viewProp_error_request_wrong_msg');\n }\n this._showErrorNotification(this._snackbarElementId, msg);\n }\n });\n };\n\n private _savePricingProp = () => {\n const pricingPropData = this._getPricingPropData();\n if (!pricingPropData) {\n return\n }\n const data = this._getPatchAppRequest(PatchAppAction.BILLING, pricingPropData);\n this._saveAppData(data, false, () => {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: app_edit_changed_saved\n });\n this._reloadPageWithPageScroll(\"appEdit-pricing-card\");\n }, (errorstatus, errormessage) => {\n console.error(`save billing details failed with status ${errorstatus}: ${errormessage}`);\n let err: errorDto = ErrorHandler.parseError(errormessage);\n if (err === null) {\n this._showErrorNotification(this._snackbarElementId, errormessage);\n } else {\n let msg = err.description;\n if (msg.startsWith(\"decode view property failed.\")) {\n msg = this._i18n.getTranslation('app_edit_viewProp_error_request_wrong_msg');\n }\n this._showErrorNotification(this._snackbarElementId, msg);\n }\n });\n };\n\n private _patchLegalWithAction = (action: PatchAppAction, data: appRequestDocument, cbSuccess: () => void, cbError: (string) => void) => {\n const requestData = this._getPatchAppRequest(action, data);\n this._saveAppData(requestData, false, cbSuccess, cbError);\n };\n\n private _updateListElement = (listElement: HTMLLIElement) => {\n const link = listElement.getAttribute(DataAttributes.VALUE);\n const key = listElement.getAttribute(DataAttributes.KEY);\n const required = ['generalTerms', 'sla', 'performanceSpecification'];\n if (required.indexOf(key) < 0) {\n if (link.length < 1) {\n listElement.remove();\n }\n return;\n }\n const deleteButton = listElement.getElementsByClassName('document-delete')[0];\n const copyUrlButton = listElement.getElementsByClassName('document-copyurl')[0];\n deleteButton.disabled = link.length < 1;\n copyUrlButton.disabled = link.length < 1;\n };\n\n private _getParentFromEvent = (e: Event): HTMLElement => {\n const targetParent = (e.target).parentElement;\n if (!targetParent || !targetParent.hasAttribute(DataAttributes.KEY) || !targetParent.hasAttribute(DataAttributes.VALUE)) {\n console.warn('Cannot find parent of target or data-attribute: ', (e.target).id);\n return null;\n }\n return targetParent;\n };\n\n private _saveLegal = () => {\n this._saveLegalFromDialog();\n };\n\n private _saveLegalFromDialog = () => {\n const select = this._mdcSelects['appEditModalAddDocument-type-select'];\n const title = this._mdcTextFields['appEditModalAddDocument-title'];\n const upload = document.getElementById('appEditModalEditScreenshot_document_url');\n if (!(title && upload && select)) {\n return;\n }\n const language = UrlHelpers.getMetaData('language');\n const data: appRequestDocument = {\n name: title.value,\n uploadTime: null,\n type: select.value,\n link: upload.value,\n language: language //this._getLanguageFromSelector()\n };\n this._patchLegalWithAction(PatchAppAction.ADDDOCUMENT, data, () => {\n this._reloadWithPositionScroll(window.scrollY);\n }, this._showUploadFailed);\n };\n\n private _openDeleteLegalDialog = (btnEvent: Event) => {\n let div = document.getElementById('appEditModalDeleteLegalDocument');\n let md = new dialog.MDCDialog(div);\n md.listen('MDCDialog:closed', (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'yes') {\n this._deleteLegal(btnEvent);\n }\n });\n md.open();\n };\n\n private _deleteLegal = (e: Event) => {\n const targetParent = this._getParentFromEvent(e);\n if (!targetParent) {\n return\n }\n let type = targetParent.getAttribute(DataAttributes.KEY);\n const docTypeMiscellaneous = 'misc';\n type = type.startsWith(docTypeMiscellaneous) ? docTypeMiscellaneous : type;\n let name: string = null;\n const language = UrlHelpers.getMetaData('language');\n if (type == docTypeMiscellaneous) {\n name = targetParent.getAttribute(DataAttributes.NAME);\n if (!name) {\n return;\n }\n }\n const data: appRequestDocument = {\n link: \"\",\n type: type,\n uploadTime: null,\n name: name,\n language: language // this._getLanguageFromSelector()\n };\n this._patchLegalWithAction(PatchAppAction.REMOVEDOCUMENT, data, () => {\n targetParent.setAttribute(DataAttributes.VALUE, \"\");\n this._reloadWithPositionScroll(window.scrollY);\n }, this._showDeleteFailed) //Callbacks\n };\n\n private _copyDocumentUrl = (e: Event) => {\n const parent = this._getParentFromEvent(e);\n if (!parent) {\n return\n }\n if (parent.getAttribute(DataAttributes.VALUE).length > 0) {\n let path = parent.getAttribute(DataAttributes.VALUE);\n let uri = `${location.origin}${path}`;\n if (path.startsWith(\"https://\") || path.startsWith(\"http://\")) {\n uri = path\n }\n const dummy = document.createElement(\"input\");\n dummy.setAttribute('readonly', '');\n dummy.style.position = 'absolute';\n dummy.style.left = '-9999px';\n document.body.appendChild(dummy);\n dummy.value = uri;\n dummy.select();\n document.execCommand('copy');\n document.body.removeChild(dummy);\n }\n };\n\n private _saveGeneralInfo = (e: any) => {\n const data = this._getPatchAppRequest(PatchAppAction.GENERAL, this._getGeneralData());\n this._saveAppData(data, false, () => {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: app_edit_changed_saved,\n });\n if (e !== null) {\n this._reloadPageWithPageScroll(e.target.id);\n }\n }, (errorstatus, errormessage) => {\n let errMsg = ErrorHandler.parseError(errormessage);\n this._showErrorNotification(this._snackbarElementId, errMsg.description);\n });\n };\n\n private _initializeMediamanagerForInputButton = (inputId: string, buttonId: string, callback: inputButtonCallback) => {\n const fileInput = document.getElementById(inputId);\n (document.getElementById(buttonId)).addEventListener('click', () => {\n this._mediaButtonHandler(fileInput);\n });\n new MediamanagerFileInputHandler(fileInput, (source) => {\n callback(source);\n });\n };\n\n private _mediaButtonHandler = (input: HTMLInputElement) => {\n input.click();\n };\n\n private _getTechnicalDetailsData = (): appRequestTechnicalDetails => {\n let dependencies = FieldHandler.getMultipleValue('technical-details-dependencies-input', ',');\n const trimmed = dependencies.map((d) => {\n return d.trim();\n });\n let isSubscribable = FieldHandler.getBooleanValue('switchIsBackgroundApp');\n const endpoint = this._mdcTextFields['technical-details-hostname-input'];\n\n //TODO: rework for mdc select collection map\n const mdcInputs = [\n {\n input: endpoint,\n minLength: 1\n }\n ];\n const notificationCheckbox = this._mdcCheckboxes[\"useSubscriptionNotificationMail_checkbox\"];\n const notificationTextfield = this._mdcTextFields[\"useSubscriptionNotificationMail_textfield\"];\n if (notificationCheckbox.checked) {\n if (notificationTextfield) {\n mdcInputs.push({\n input: notificationTextfield,\n minLength: 6\n });\n }\n }\n\n if (!this._validateMDCTextFields(mdcInputs)) {\n return null;\n }\n\n if (!isEndpointValid(endpoint.value)) {\n console.warn(`invalid app endpoint found: ${endpoint.value}`);\n }\n\n const data = {\n endpoint: endpoint.value,\n dependencies: trimmed,\n isBackground: !isSubscribable,\n subscriptionNotificationMail: notificationCheckbox.checked ? notificationTextfield.value : \"\"\n } as appRequestTechnicalDetails;\n console.log(data);\n return data;\n };\n\n private _getViewPropData = (): appRequestViewProp => {\n const currentLanguage = this._mdcSelects['viewPropLanguageSelector'].value;\n const displayname = this._mdcTextFields['viewprop-displayname-input'];\n const mdcInputs = [\n {\n input: displayname,\n minLength: 1\n }\n ];\n\n if (!this._validateMDCTextFields(mdcInputs)) {\n return null;\n }\n return {\n displayName: displayname.value,\n summary: FieldHandler.getFieldValue('viewprop-summary-input'),\n language: currentLanguage\n } as appRequestViewProp;\n };\n\n private _getPricingPropData = (): appPricingProp => {\n const currentLanguage = this._mdcSelects['viewPropLanguageSelector'].value;\n const billingMarkup = this._mdcTextFields['pricing-markup-textarea'];\n return {\n billingMarkup: billingMarkup.value,\n language: currentLanguage,\n useMetricDataForDescription: false, //field is deprecated\n priceListAnnotation: \"\" //field is deprecated\n } as appPricingProp;\n };\n\n private _getGeneralData = (): appRequestGeneral => {\n return {\n icon: FieldHandler.getFieldValue('general-info-logo-url-input'),\n } as appRequestGeneral;\n };\n\n private _validateMDCTextFields = (input: mdcInputValidation[]): boolean => {\n input.forEach((i) => {\n if (!this._validateMDCTextField(i.input, i.minLength)) {\n return false\n }\n });\n return true;\n };\n\n private _validateMDCTextField = (input: textField.MDCTextField, minlength: number): boolean => {\n if (!input) {\n return false\n }\n const valid = this._isValidInputValue(input.value, minlength);\n input.valid = valid;\n return valid;\n };\n\n private _isValidInputValue = (value: string, minlength: number): boolean => {\n value = value ? value.trim() : value;\n return (value && value.length >= minlength);\n };\n\n private _copySecret = (e: any) => {\n let clickedButton = e.currentTarget;\n let copyElementId = clickedButton.dataset.copy;\n let range = document.createRange();\n let div = document.getElementById(copyElementId);\n let isInvisible = false;\n if (div.style.display === 'none') {\n isInvisible = true;\n div.style.removeProperty('display');\n div.style.position = 'absolute';\n div.style.left = '-1000px';\n div.style.top = '-1000px';\n }\n range.selectNodeContents(div);\n let selection = window.getSelection();\n selection.removeAllRanges();\n selection.addRange(range);\n try {\n document.execCommand('copy', false, null);\n } catch (e) {\n console.error(e);\n } finally {\n if (isInvisible) {\n div.style.display = 'none';\n div.style.removeProperty('position');\n div.style.removeProperty('left');\n div.style.removeProperty('top');\n }\n }\n };\n\n private _handleOpenGenerateSecretModal = () => {\n let btnCopyNewSecret = document.getElementById('btnCopyNewSecret');\n if (btnCopyNewSecret) {\n btnCopyNewSecret.addEventListener('click', this._copySecret);\n }\n let btnGenerate = document.getElementById('btnGenerateNewSecret');\n if (btnGenerate) {\n btnGenerate.addEventListener('click', this._handleButtonGenerateNewSecretAction);\n }\n let div = document.getElementById('appEditModalGenerateSecret');\n let md = new dialog.MDCDialog(div);\n md.listen('MDCDialog:opening', () => {\n let div = document.getElementById('newAppSecret');\n div.innerHTML = `${this._i18n.getTranslation(\"app_edit_create_new_app_secret_helpertext_message\")}`\n });\n md.listen('MDCDialog:closed', () => {\n let btnCopyNewSecret = document.getElementById('btnCopyNewSecret');\n if (btnCopyNewSecret) {\n btnCopyNewSecret.removeEventListener('click', this._copySecret);\n btnCopyNewSecret.disabled = true;\n }\n let btnGenerate = document.getElementById('btnGenerateNewSecret');\n if (btnGenerate) {\n btnGenerate.removeEventListener('click', this._handleButtonGenerateNewSecretAction);\n }\n });\n md.open();\n };\n\n private _handleButtonGenerateNewSecretAction = (e: any) => {\n e.preventDefault();\n let progressdiv = document.getElementById('generateprogress');\n progressdiv.classList.add('mdc-linear-progress--indeterminate');\n let progressbar: linearProgress.MDCLinearProgress = new linearProgress.MDCLinearProgress(progressdiv);\n let txtSecret = document.getElementById('newAppSecret');\n\n progressbar.open();\n txtSecret.innerText = this._i18n.getTranslation('app_edit_create_new_app_secret_processing_message');\n\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", url);\n xhr.setRequestHeader(\"accept\", \"application/json\");\n xhr.onload = () => {\n if (xhr.status === 200) {\n txtSecret.innerText = xhr.responseText.replace(/^\"(.*)\"$/, '$1');\n let copyBtn = document.getElementById('btnCopyNewSecret');\n copyBtn.removeAttribute('disabled');\n } else {\n let err = document.getElementById('newAppSecret');\n err.innerText = this._i18n.getTranslation('app_edit_generatesecret_failed_message'); //\"Es trat ein Fehler beim Generieren des App Secret auf.\";\n console.error(xhr.responseText);\n }\n progressbar.close();\n };\n xhr.send();\n };\n\n private _showNotification = (id: string, message: string, callback?: Function) => {\n let div = document.getElementById(id);\n if (div) {\n let bar = new mdc.snackbar.MDCSnackbar(div);\n bar.labelText = message;\n bar.closeOnEscape = true;\n if (callback) {\n bar.listen('MDCSnackbar:closed', callback)\n }\n bar.open();\n }\n };\n\n private _showUploadFailed = (message: string) => {\n if (message) {\n console.warn(\"Upload request failed. Message: \", message);\n }\n this._showNotification(this._snackbarElementId, this._i18n.getTranslation('config_terms_notificaton_failed'));\n };\n\n private _showDeleteFailed = (message: string) => {\n if (message) {\n console.warn(\"Delete request failed. Message: \", message);\n }\n this._showNotification(this._snackbarElementId, this._i18n.getTranslation('config_terms_notificaton_failed_delete'))\n };\n\n private _handleDocumentTypeChanged = (e: mdc.select.MDCSelectEvent) => {\n let selectedType = e.detail.value;\n const currentLanguage = i18n.Language.parse(this._getSelectedViewpropLanguage());\n switch (selectedType) {\n case \"generalTerms\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_general_terms\", currentLanguage), true);\n break;\n case \"performanceSpecification\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_performance_specifications\", currentLanguage), true);\n break;\n case \"sla\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_sla\", currentLanguage), true);\n break;\n case \"privacyStatement\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_privacy_statement\", currentLanguage), true);\n break;\n case \"orderProcessingAgreements\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_order_processing_agreement\", currentLanguage), true);\n break;\n case \"subprocessorInformation\":\n this._documentTypeChanged(selectedType, this._i18n.getTranslation(\"app_page_legal_type_subprocessor_information\", currentLanguage), true);\n break;\n default:\n this._documentTypeChanged(selectedType, \"\", false);\n }\n this._validateDocumentDialog();\n };\n\n private _documentTypeChanged = (selectedType: string, title: string, hideTitle: boolean) => {\n // set title\n const titleInput = this._mdcTextFields['appEditModalAddDocument-title'];\n titleInput.value = title;\n titleInput.disabled = hideTitle; //Hide or disable?\n titleInput.layout();\n const select = this._mdcSelects['appEditModalAddDocument-type-select'];\n const anchor = document.getElementById('appEditModalAddDocument-templates-anchor');\n if (selectedType == 'misc') {\n anchor.hidden = true;\n return\n } else {\n anchor.hidden = false;\n }\n const templateString = select.root.dataset.templates;\n if (!templateString) {\n console.log(\"cannot find template object\");\n return;\n }\n const templateJson = JSON.parse(templateString);\n const docKeysToTemplateKeys = {\n \"generalTerms\": \"GeneralTerms\",\n \"performanceSpecification\": \"PerformanceSpecification\",\n \"sla\": \"SLA\",\n \"privacyStatement\": \"PrivacyStatement\",\n \"orderProcessingAgreements\": \"OrderProcessingAgreements\"\n };\n anchor.href = templateJson[docKeysToTemplateKeys[selectedType]];\n };\n\n private _showDocumentDialog = (preselectedIndex: number = 0) => {\n const dialog = this._mdcDialogs['appEditModalAddDocument'];\n dialog.listen('MDCDialog:closed', (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action == 'save') {\n this._saveLegal();\n }\n dialog.unlisten('MDCDialog:closed');\n });\n dialog.open();\n this._resetDocumentUploadDialogWithPreselectedType(preselectedIndex);\n };\n\n private _handleSearchWithinNewAppDependencyList = (e: Event) => {\n const searchValue = (e.currentTarget).value;\n this._searchAppDependency(searchValue);\n }\n\n private _searchAppDependency = (searchValue: string) => {\n let items = document.querySelectorAll('.appEditModal-NewAppDependency');\n items.forEach((item: HTMLLIElement) => {\n if (searchValue.isNullOrEmpty()) {\n item.classList.remove('hide-element');\n } else if (item.dataset.appname.toLowerCase().includes(searchValue.toLowerCase())) {\n item.classList.remove('hide-element');\n } else if (item.dataset.appdisplayname.toLowerCase().includes(searchValue.toLowerCase())) {\n item.classList.remove('hide-element');\n } else {\n item.classList.add('hide-element');\n }\n });\n }\n\n private _showDependencyDialog = () => {\n const dialogAppDepLocal = this._mdcDialogs['appEditModalAddAppDependency'];\n\n const btnAddInDialog = document.getElementById('appEditModalAddAppDependency_add_button');\n btnAddInDialog.disabled = true;\n\n this._searchAppDependency(\"\");\n\n dialogAppDepLocal.open();\n };\n\n private _handleDependencyDialogClosed = (evt: dialog.MDCDialogCloseEventDetail) => {\n try {\n if (evt.detail.action == 'add') {\n this._checkSelectedAppDepIsApproved();\n } else if (evt.detail.action == 'deprequest') {\n const list = this._mdcLists['appEditModalAddAppDependency_appList'];\n const selectedIndex = list.selectedIndex;\n const item = list.listElements[selectedIndex];\n const dependency = item.dataset.appname;\n\n const dialogDiv = document.getElementById('appEditModalAddDependencyRequest');\n dialogDiv.dataset.dependency = dependency;\n\n this._openAddDependencyRequestDialog();\n }\n } catch (e) {\n console.debug(e);\n }\n\n const listId = 'appEditModalAddAppDependency_appList';\n const mdclist = this._mdcLists[listId];\n if (mdclist) {\n mdclist.destroy();\n }\n let ul = document.getElementById(listId);\n ul.innerHTML = '';\n\n const searchField = document.getElementById('appEditModalAddAppDependency_searchField-input');\n searchField.value = '';\n };\n\n private _openAddDependencyRequestDialog = () => {\n const appEditModalAddDependencyRequest = 'appEditModalAddDependencyRequest';\n const dialog = this._mdcDialogs[appEditModalAddDependencyRequest];\n if (!dialog) {\n console.info('add dependency request dialog not loaded');\n return\n }\n\n const dialogDiv = document.getElementById(appEditModalAddDependencyRequest);\n\n const dependencyToAdd = dialogDiv.dataset.dependency;\n const currentApp = dialogDiv.dataset.appname;\n const providerId = dialogDiv.dataset.providerId;\n\n const data = `Appname = ${currentApp}\\nProvider ID = ${providerId}\\nDependency to add = ${dependencyToAdd}`;\n const contentData = document.getElementById('appEditModalAddDependencyRequest_data');\n contentData.innerText = data;\n\n dialog.listen('MDCDialog:closed', this._handleAddDependencyRequestDialogClosed);\n dialog.open();\n };\n\n private _handleAddDependencyRequestDialogClosed = (evt: dialog.MDCDialogCloseEventDetail) => {\n const appEditModalAddDependencyRequest = 'appEditModalAddDependencyRequest';\n const dialog = this._mdcDialogs[appEditModalAddDependencyRequest];\n dialog.unlisten('MDCDialog:closed', this._handleAddDependencyRequestDialogClosed);\n\n const dialogDiv = document.getElementById(appEditModalAddDependencyRequest);\n\n if (evt.detail.action == 'request') {\n const dependencyToAdd = dialogDiv.dataset.dependency;\n const currentApp = dialogDiv.dataset.appname;\n const providerId = dialogDiv.dataset.providerId;\n\n const data = `Appname = ${currentApp}\\nProvider ID = ${providerId}\\nDependency to add = ${dependencyToAdd}`;\n const href = \"mailto:cloud.support@d-velop.de?subject=\" + escape(`add dependency request for app ${currentApp}`) +\n \"&body=\" + escape(`Your message (optional):\\n\\n\\n--- Please do not change any values ---\\n\\n${data}\\n\\n--- Please do not change any values ---`);\n window.open(href);\n }\n dialogDiv.dataset.dependency = \"\";\n };\n\n private _loadAppList = (cbSuccess: (dto: appDependencyList) => void, cbError: (e: string) => void) => {\n const url = UrlHelpers.getLinkRelHref('appListForAppDependencies');\n let req = new Request(url, {\n method: 'get',\n credentials: 'same-origin'\n });\n fetch(req)\n .then((r: Response) => {\n if (r.status !== 200) {\n throw `request failed with http status ${r.status}`;\n }\n return r.json();\n })\n .then((dto: appDependencyList) => {\n cbSuccess(dto);\n })\n .catch((e: string) => {\n cbError(e);\n });\n };\n\n private _renderAppListIntoAppDependencyDialog = (dto: appDependencyList) => {\n console.info(`load ${dto.apps.length} apps...`);\n const listId = 'appEditModalAddAppDependency_appList';\n let existingMdcList = this._mdcLists[listId];\n if (existingMdcList) {\n existingMdcList.destroy();\n }\n\n const currentAppDependecies = this._getCurrentAppDependencies();\n const ul = document.getElementById(listId);\n const mainAppName = UrlHelpers.getMetaData('appName');\n\n dto.apps.forEach((item: appDependencyItem) => {\n if (mainAppName !== item.appName && !currentAppDependecies.includes(item.appName)) {\n if (item.isApproved) {\n ul.insertAdjacentHTML('beforeend', `
  • \n \n \n ${Escaping.escapeHtml(item.displayName)}\n ${Escaping.escapeHtml(item.providerName)}\n \n
  • `);\n } else {\n ul.insertAdjacentHTML('beforeend', `
  • \n \n \n ${Escaping.escapeHtml(item.displayName)} (${this._i18n.getTranslation('app_edit_modal_addAppDep_info_appNotApproved_label')})\n ${Escaping.escapeHtml(item.providerName)}\n \n
  • `);\n }\n } else {\n console.debug(`${item.appName} already in app dependency list.`);\n }\n });\n const mdcListNew = list.MDCList.attachTo(ul);\n mdcListNew.singleSelection = true;\n mdcListNew.listen('MDCList:action', this._handleListOfNewDependenciesAction);\n this._mdcLists[listId] = mdcListNew;\n this._showDependencyDialog();\n };\n\n private _checkSelectedAppDepIsApproved = () => {\n const list = this._mdcLists['appEditModalAddAppDependency_appList'];\n const selectedIndex = list.selectedIndex;\n const item = list.listElements[selectedIndex];\n const isApproved = (item.dataset.isapproved == \"true\");\n if (isApproved) {\n this._addSelectedDependency(item);\n } else {\n this._showAppDepNotApprovedDialog(item);\n }\n };\n\n private _showAppDepNotApprovedDialog = (htmlItem: HTMLLIElement) => {\n const displayName = htmlItem.dataset.appdisplayname;\n const mainAppName = UrlHelpers.getMetaData('appName');\n\n const translationText = this._i18n.getTranslation('app_edit_modal_appNotApproved_text');\n let message = i18n.replaceTranslationPlaceholder(translationText, '{appDepName}', displayName);\n message = i18n.replaceTranslationPlaceholder(message, '{appDepName}', displayName);\n message = i18n.replaceTranslationPlaceholder(message, '{currentAppName}', mainAppName);\n // let message = `APP \"${displayName}\" IS NOT APPROVED. DO YOU REALY WANT TO THE APP AS A DEPENDENCY?`;\n const messageDiv = document.getElementById('appEditModalDependencyNotApproved-content');\n messageDiv.innerText = message;\n\n const dialogUnapprovedApps = this._mdcDialogs['appEditModalDependencyNotApproved'];\n\n const handler = (e: dialog.MDCDialogCloseEventDetail) => {\n const messageDiv = document.getElementById('appEditModalDependencyNotApproved-content');\n messageDiv.innerText = '';\n\n if (e.detail.action === 'ok') {\n this._addSelectedDependency(htmlItem);\n }\n\n dialogUnapprovedApps.unlisten('MDCDialog:closed', handler);\n }\n\n dialogUnapprovedApps.listen('MDCDialog:closed', handler);\n dialogUnapprovedApps.open();\n };\n\n private _addSelectedDependency = (htmlItem: HTMLLIElement) => {\n const appName = htmlItem.dataset.appname;\n\n console.info(`you have select ${appName} to add to dependencies`);\n\n this._addNewDependency(appName, () => {\n this._appendNewAddedApp(appName);\n this._addDependencyToULElement(appName, \"none\",true);\n });\n };\n\n private _getCurrentAppDependencies = (): Array => {\n const appDepElements = document.querySelectorAll('.app-dependency');\n let currentAppDependencies = new Array();\n appDepElements.forEach((item) => {\n const depAppName = item.getAttribute('data-appname');\n if (!depAppName.isNullOrEmpty()) {\n currentAppDependencies.push(depAppName);\n }\n });\n return currentAppDependencies;\n };\n\n private _handleRemoveDependency = (appName: string) => {\n if (!appName) {\n console.debug('handleRemoveDependencySecurityCheck: appName empty');\n return;\n }\n const mainAppName = UrlHelpers.getMetaData('appName');\n\n let message = this._i18n.getTranslation('app_edit_modal_removeAppDependency_text');\n message = i18n.replaceTranslationPlaceholder(message, '{depAppName}', appName);\n message = i18n.replaceTranslationPlaceholder(message, '{appName}', mainAppName);\n\n const dialogContent = document.getElementById('appEditModalRemoveDependency-content');\n dialogContent.innerText = message;\n\n const dialog = this._mdcDialogs['appEditModalRemoveDependency'];\n const handler = (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'remove') {\n this._removeDependency(appName);\n }\n dialog.unlisten('MDCDialog:closed', handler)\n }\n\n dialog.listen('MDCDialog:closed', handler);\n dialog.open();\n };\n\n private _showOrHideNoDependencyMessage = () => {\n const hide = 'hide-element';\n const noDependenyDiv = document.getElementById('app-has-no-dependencies');\n const foundAppDependency = this._getCurrentAppDependencies();\n if (foundAppDependency.length > 0) {\n noDependenyDiv.classList.add(hide);\n } else {\n noDependenyDiv.classList.remove(hide);\n }\n };\n\n private _resetDocumentUploadDialogWithPreselectedType = (selectedIndex: number = 0) => {\n const title = this._mdcTextFields['appEditModalAddDocument-title'];\n const upload = document.getElementById('appEditModalEditScreenshot_document_url');\n const select = this._mdcSelects['appEditModalAddDocument-type-select'];\n if (!(title && upload && select)) {\n return;\n }\n title.value = \"\";\n select.selectedIndex = selectedIndex;\n upload.value = \"\";\n upload.setAttribute(\"value\", \"\");\n };\n\n private _validateDocumentDialog = () => {\n this._setSaveDocumentButtonDisabled(true);\n const select = this._mdcSelects['appEditModalAddDocument-type-select'];\n const title = this._mdcTextFields['appEditModalAddDocument-title'];\n const upload = document.getElementById('appEditModalEditScreenshot_document_url');\n if (!(title && upload && select)) {\n console.log(\"missing element title, upload or select\");\n return;\n }\n if (select.selectedIndex >= 0 && this._validateMDCTextField(title, 1) && this._isValidInputValue(upload.value, 1)) {\n this._setSaveDocumentButtonDisabled(false);\n }\n };\n\n private _setSaveDocumentButtonDisabled = (disabled: boolean) => {\n const button = document.getElementById('appEditModalAddDocument_save_button');\n if (!button) {\n console.log(\"Button 'appEditModalAddDocument_save_button' not found\");\n return;\n }\n button.disabled = disabled;\n };\n\n private _setupAdministrateDependencyDialog = (): void => {\n const dialog = this._mdcDialogs['appEditModalAdministrateDependency'];\n if (!dialog) {\n console.error('setupAdministrateDependencyDialog: dialog not found');\n return;\n }\n dialog.listen('MDCDialog:closed', (e: dialog.MDCDialogCloseEventDetail) => {\n const dialogRoot = dialog.root || dialog.root_;\n const appName = dialogRoot.dataset.appname;\n const action = e.detail.action\n if (action == 'save') {\n const permission = dialogRoot.dataset.permission;\n const isSilentDep = dialogRoot.dataset.silentdependency === '1';\n this._setDependencyAccessPermission(appName, permission, isSilentDep)\n }\n if (action == 'delete') {\n this._handleRemoveDependency(appName);\n }\n });\n this._addAdministrateDependencyRadioEventListener();\n };\n\n private _addAdministrateDependencyRadioEventListener = (): void => {\n const dialog = this._mdcDialogs['appEditModalAdministrateDependency'];\n if (!dialog) {\n console.error('setupAdministrateDependencyDialog: dialog not found');\n return;\n }\n const dialogRoot = (dialog.root || dialog.root_);\n const radioInputs = Array.apply(null, dialogRoot.querySelectorAll('.permission-radio-input'));\n radioInputs.forEach((input: HTMLInputElement) => {\n input.addEventListener('change', () => {\n dialogRoot.dataset.permission = input.value;\n })\n });\n };\n\n private _openAdministrateDependencyDialog = (e:CustomEvent): void => {\n const index = e.detail.index;\n const mdcList: mdc.list.MDCList = this._mdcLists['app_dependency_list'];\n if (!mdcList) {\n console.error('_openAdministrateDependencyDialog: mdc list not found');\n return;\n }\n const target = mdcList.listElements[index];\n if (!target) {\n console.error('_openAdministrateDependencyDialog: list item not found');\n return;\n }\n\n if (target.classList.contains('mdc-list-item--disabled')) {\n return;\n }\n\n const dialog = this._mdcDialogs['appEditModalAdministrateDependency'];\n if (!dialog) {\n console.error('openAdministrateDependencyDialog: dialog not found');\n return;\n }\n\n const dialogRoot = dialog.root || dialog.root_;\n dialogRoot.dataset.appname = target.dataset.appname;\n dialogRoot.dataset.permission = target.dataset.permission;\n dialogRoot.dataset.silentdependency = target.dataset.silentdependency;\n this._renderAdministrateDependencyDialog();\n dialog.open();\n };\n\n private _renderAdministrateDependencyDialog = (): void => {\n const dialogRoot = document.getElementById('appEditModalAdministrateDependency');\n if (!dialogRoot) {\n console.error('renderAdministrateDependencyDialog: dialog not found');\n return;\n }\n const permission = (Object).values(DependencyAccessPermissionValues).includes(dialogRoot.dataset.permission) ? dialogRoot.dataset.permission : DependencyAccessPermissionValues.None;\n const isSilentDep = dialogRoot.dataset.silentdependency === '1';\n this._setDependencyAccessPermissionRadioButtons(permission);\n this._setDependencyIsSilentDependencyCheckbox(isSilentDep);\n this._setAdministrateDependencyDialogTitle(dialogRoot.dataset.appname);\n };\n\n private _setAdministrateDependencyDialogTitle = (app: string): void => {\n const header = document.getElementById('appEditModalAdministrateDependency-title');\n if (!header) {\n console.debug('setAdministrateDependencyDialogTitle: header element missing');\n return;\n }\n header.innerHTML = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('app_edit_dependencies_dep_administrate_dialog_title'), '{APPNAME}', app);\n };\n\n private _setDependencyAccessPermissionRadioButtons = (auth: DependencyAccessPermissionValues): void => {\n const none = this._mdcRadioButtons['appEditModalAdministrateDependency-option-none'];\n const read = this._mdcRadioButtons['appEditModalAdministrateDependency-option-read'];\n const readWrite = this._mdcRadioButtons['appEditModalAdministrateDependency-option-readwrite'];\n if (!(none && read && readWrite)) {\n console.error('setDependencyAccessPermissionRadioButtons: radio button not found');\n return;\n }\n none.checked = !!auth ? (auth == DependencyAccessPermissionValues.None) : none;\n read.checked = (auth == DependencyAccessPermissionValues.Read);\n readWrite.checked = (auth == DependencyAccessPermissionValues.ReadWrite);\n };\n\n private _setDependencyIsSilentDependencyCheckbox = (isSilentDependency:boolean) => {\n const checkbox = this._mdcCheckboxes['appEditModalAdministrateDependency-isSilentDependency'];\n checkbox.checked = !isSilentDependency;\n }\n\n private _patchAppWithData = (data: patchData, cbSuccess?: () => void, cbError?: (message: string) => void): void => {\n if (!data) {\n console.debug('patchAppWithData: data was empty');\n }\n const url = UrlHelpers.getLinkRelHref('self');\n const req = new Request(url, {\n method: 'PATCH',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/merge-patch+json'\n },\n body: JSON.stringify(data),\n credentials: \"same-origin\"\n });\n fetch(req)\n .then((r: Response) => {\n if (r.status !== 200) {\n r.text().then((text) => {\n throw `request failed with error code ${r.status} and message '${text}'`;\n })\n }\n if (cbSuccess) {\n cbSuccess();\n }\n return\n })\n .catch((e: string) => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n })\n };\n\n private _removeDependency = (app: string): void => {\n if (!app) {\n console.debug('removeDependencyAccessPermission: app is empty');\n return;\n }\n const mainAppName = UrlHelpers.getMetaData('appName');\n const data = {\n appName: mainAppName,\n dependencyList: {}\n } as patchData\n data.dependencyList[app] = null;\n\n this._patchAppWithData(data, () => {\n this._removeDependencyListItemForApp(app);\n }, (message) => {\n console.error(`remove dependency failed: ${message}`);\n this._showErrorNotification('appEdit-notification', message);\n });\n };\n\n private _setDependencyAccessPermission = (app: string, permission: string, isSilentDependency: boolean): void => {\n if (!app) {\n console.debug('removeDependencyAccessPermission: app is empty');\n return;\n }\n const mainAppName = UrlHelpers.getMetaData('appName');\n const data = {\n appName: mainAppName,\n dependencyList: {}\n } as patchData\n permission = DependencyAccessPermissionValues.parse(permission).toString();\n data.dependencyList[app] = {appName: app, accessPermission: permission, isSilentDependency: isSilentDependency}\n this._patchAppWithData(data, () => {\n this._addDependencyToULElement(app, permission, isSilentDependency);\n }, (message) => {\n console.error(`set dependency failed: ${message}`);\n this._showErrorNotification('appEdit-notification', message)\n });\n };\n\n private _removeDependencyListItemForApp = (app: string): void => {\n console.log(`remove '${app}'`);\n this._removeDependencyFromULElement(app);\n };\n\n private _addNewDependency = (app: string, cbSuccess?: () => void): void => {\n if (!app) {\n console.debug('removeDependencyAccessPermission: app is empty');\n return;\n }\n const mainAppName = UrlHelpers.getMetaData('appName');\n const data = {\n appName: mainAppName,\n dependencyList: {}\n } as patchData\n data.dependencyList[app] = {appName: app, accessPermission: \"none\", isSilentDependency: true};\n\n this._patchAppWithData(data, cbSuccess, (message) => {\n console.error(`add dependency failed: ${message}`);\n this._showErrorNotification('appEdit-notification', message)\n });\n };\n\n private _writeAppListToMeta = (dto: appDependencyList): void => {\n const data = {} as appList\n dto.apps.forEach(item => {\n data[item.appName] = {appName: item.appName, displayName: item.displayName} as appListDetail\n })\n const appListKey = 'appList';\n UrlHelpers.setMetaData(appListKey, JSON.stringify(data));\n };\n\n private _readAppListFromMeta = (): appList => {\n const appListKey = 'appList';\n const data = UrlHelpers.getMetaData(appListKey);\n if (!data) {\n console.debug('readAppListFromMeta: no app list data found');\n return undefined;\n }\n return (JSON.parse(data) as appList);\n };\n\n private _writeDependencyListToULElement = (d: { [id: string]: dependencyDetail }): void => {\n const elementId = 'app_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`readDependencyListFromULElement: element with id ${elementId} not found`);\n return;\n }\n ul.dataset.dependencylist = JSON.stringify(d);\n };\n\n private _readDependencyListFromULElement = (): { [id: string]: dependencyDetail } => {\n const elementId = 'app_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`readDependencyListFromULElement: element with id ${elementId} not found`);\n return undefined;\n }\n return JSON.parse(ul.dataset.dependencylist);\n };\n\n private _addDependencyToULElement = (appName: string, accessPermission: string, isSilentDep:boolean): void => {\n if (!appName || !accessPermission) {\n console.debug('addDependencyToULElement: parameter empty');\n return;\n }\n const deps = this._readDependencyListFromULElement();\n if (!deps) {\n console.error('addDependencyToULElement: cannot read data');\n return;\n }\n deps[appName] = {appName: appName, accessPermission: accessPermission, isSilentDependency: isSilentDep} as dependencyDetail\n this._writeDependencyListToULElement(deps);\n };\n\n private _removeDependencyFromULElement = (appName: string): void => {\n if (!appName) {\n console.debug('removeDependencyFromULElement: appName missing');\n return;\n }\n const deps = this._readDependencyListFromULElement();\n if (!deps) {\n console.error('removeDependencyFromULElement: cannot read data');\n return;\n }\n delete deps[appName];\n this._writeDependencyListToULElement(deps);\n };\n\n private _setDependenciesListObserver = (): void => {\n const elementId = 'app_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`setDependenciesListObserver: element with id ${elementId} not found`);\n return undefined;\n }\n const observedAttributeName = 'data-dependencylist';\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type == \"attributes\" && mutation.attributeName == observedAttributeName) {\n this._renderDependenciesList();\n }\n });\n });\n observer.observe(ul, {\n attributeFilter: [observedAttributeName],\n });\n };\n\n private _renderDependenciesList = (): void => {\n const listId = 'app_dependency_list';\n console.debug('### RENDERING LIST ###');\n console.debug('get list element');\n const ul = document.getElementById(listId);\n if (!ul) {\n console.debug(`renderDependenciesList: element with id ${listId} not found`);\n return;\n }\n console.debug('get data');\n const data = this._readDependencyListFromULElement();\n if (!data) {\n console.debug('renderDependenciesList: data not found');\n return;\n }\n console.debug('data:', data)\n console.debug('get app list');\n const appList = this._readAppListFromMeta();\n if (!appList) {\n console.debug('renderDependenciesList: appList not found');\n }\n console.debug('loop dependencies');\n const disable = false; //ul.dataset.disableitems == \"1\"; //todo: static false until 01/01/2022\n const listItems: HTMLLIElement[] = [];\n for (let appsKey in data) {\n console.debug(`loop iteration for ${appsKey}`);\n const app = data[appsKey];\n const displayName = appList[app.appName] ? appList[app.appName].displayName : app.appName;\n const addNewTag = this._isNewAddedApp(app.appName);\n const li = this._getDependenciesListItem(app.appName, displayName, app.accessPermission, app.isSilentDependency, addNewTag, disable);\n listItems.push(li);\n }\n console.debug('new list elements:', listItems);\n listItems.sort(function (a, b) {\n const appNameA = a.dataset.appname.toLowerCase();\n const appNameB = b.dataset.appname.toLowerCase();\n if (appNameA < appNameB) {\n return -1;\n }\n if (appNameA > appNameB) {\n return 1;\n }\n return 0;\n })\n ul.innerHTML = '';\n listItems.forEach((item) => {\n ul.appendChild(item)\n });\n this.resetDependenciesList();\n this._showOrHideNoDependencyMessage();\n };\n\n private _getDependenciesListItem = (appName: string, displayName: string, accessPermission: string, isSilentDep: boolean, newItem: boolean, disabled: boolean): HTMLLIElement => {\n const li = document.createElement('li');\n li.id = `dep-${appName}`;\n const itemClassList: string[] = ['mdc-list-item', 'app-dependency'];\n if (disabled) {\n itemClassList.push('mdc-list-item--disabled');\n }\n li.classList.add(...itemClassList);\n li.setAttribute('data-appname', appName);\n li.setAttribute('data-permission', accessPermission);\n li.setAttribute('data-silentdependency', isSilentDep ? '1' : '0');\n li.title = this._i18n.getTranslation('app_edit_dependencies_dep_item_btn_authorize_title');\n\n if (newItem) {\n const newItem = `fiber_new`;\n li.insertAdjacentHTML('beforeend', newItem);\n }\n const dependencyPermissionText = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('app_edit_card_dependencies_listItem_secondaryText_Access'), '{PERMISSION}', this._mapPermissionValueToI18n(accessPermission));\n const dependencyAutoSubscribeText = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation('app_edit_card_dependencies_automatic_subscription_label'),'{STATE}',this.getIsSilentDependencyStateTranslation(isSilentDep));\n const listContent = `\n
    \n ${displayName} (${appName})\n ${dependencyPermissionText} | ${dependencyAutoSubscribeText}\n
    `\n li.insertAdjacentHTML('beforeend', listContent);\n if (!disabled) {\n li.insertAdjacentHTML('beforeend', 'edit');\n }\n return li;\n };\n\n private getIsSilentDependencyStateTranslation = (isSilentDependency:boolean):string => {\n let key = 'app_edit_card_dependencies_automatic_subscription_on'\n if (isSilentDependency) {\n key = 'app_edit_card_dependencies_automatic_subscription_off';\n }\n return this._i18n.getTranslation(key);\n }\n\n private resetDependenciesList = () => {\n const listId = 'app_dependency_list';\n const mdcList: mdc.list.MDCList = this._mdcLists[listId];\n if (!mdcList) {\n console.log(`resetDependenciesList: cannot find mdcList with id ${listId}`);\n return\n }\n\n mdcList.destroy();\n\n const newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(listId));\n mdcList.listen('MDCList:action', this._openAdministrateDependencyDialog);\n\n this._mdcLists[listId] = newMdcList;\n }\n\n private _mapPermissionValueToI18n = (permission: string): string => {\n permission = DependencyAccessPermissionValues.parse(permission).toString();\n const kv = {\n \"none\": this._i18n.getTranslation('app_edit_permisson_short_none'),\n \"read\": this._i18n.getTranslation('app_edit_permisson_short_read'),\n \"readwrite\": this._i18n.getTranslation('app_edit_permisson_short_readwrite')\n }\n return kv[permission];\n };\n\n private _appendNewAddedApp = (appName: string): void => {\n if (!appName) {\n return\n }\n this._newAddedApps = this._newAddedApps || [];\n this._newAddedApps.push(appName);\n };\n\n private _isNewAddedApp = (appName: string): boolean => {\n return !!appName && !!this._newAddedApps ? this._newAddedApps.indexOf(appName) >= 0 : false;\n };\n}\n\nenum PatchAppAction {\n VIEWPROP = 'viewProp',\n TECHNICAL = 'technical',\n MEDIA = 'media',\n GENERAL = 'general',\n REMOVEVIEWPROP = 'removeViewProp',\n REMOVEMEDIA = 'removeMedia',\n REMOVEDOCUMENT = 'remdoc',\n ADDDOCUMENT = 'adddoc',\n BILLING = 'billingprop'\n}\n\nexport interface patchAppRequest {\n appName: string\n action: PatchAppAction\n data: T\n}\n\nexport interface appRequestGeneral {\n icon: string\n}\n\nexport interface appRequestViewProp {\n displayName: string\n description: string\n summary: string\n language: string\n}\n\nexport interface appPricingProp {\n billingMarkup: string\n language: string\n useMetricDataForDescription: boolean\n priceListAnnotation: string\n}\n\nexport interface appRequestTechnicalDetails {\n endpoint: string\n dependencies: string[]\n isBackground: boolean\n subscriptionNotificationMail: string\n}\n\nexport interface appRequestDocument {\n name: string\n type: string\n link: string\n uploadTime: string\n language: string\n}\n\nexport interface collapsible {\n targets: string[],\n buttons: string[]\n}\n\nexport interface mdcInputValidation {\n input: textField.MDCTextField\n minLength: number\n}\n\ninterface inputButtonCallback {\n (url: string): void;\n}\n\nenum DataAttributes {\n KEY = 'data-key',\n VALUE = 'data-documentlink',\n NAME = 'data-name'\n}\n\nexport interface appDependencyList {\n apps: appDependencyItem[]\n}\n\nexport interface appDependencyItem {\n appName: string\n displayName: string\n providerName: string\n isApproved: boolean\n}\n\nexport interface appList {\n apps: { [id: string]: appListDetail }\n}\n\nexport interface appListDetail {\n appName: string\n displayName: string\n}\n\nexport interface dependencyDetail {\n appName: string\n accessPermission: string\n isSilentDependency: boolean\n}\n\nexport interface patchData {\n appName: string\n dependencyList: { [id: string]: patchDataAppDependency }\n}\n\nexport interface patchDataAppDependency {\n appName: string\n accessPermission: string\n isSilentDependency: boolean\n}\n\nenum DependencyAccessPermissionValues {\n None = \"none\",\n Read = \"read\",\n ReadWrite = \"readwrite\"\n}\n\nnamespace DependencyAccessPermissionValues {\n export function includes(value: string): boolean {\n return (Object).values(DependencyAccessPermissionValues).includes(value);\n }\n export function parse(value: string): DependencyAccessPermissionValues {\n value = value.toLowerCase();\n return DependencyAccessPermissionValues.includes(value) ? value : DependencyAccessPermissionValues.None;\n }\n}", "import UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\nimport {addIcon} from \"./icons\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {app_created, app_edit_changed_saved, app_edit_deleted, app_edit_provider_changed} from \"./dapiEventUris\";\nimport {setContextActions} from \"./contextActions\";\nimport {ErrorHandler} from \"./errorHandler\";\n\nexport class AppList {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n private _providerCtx:boolean = UrlHelpers.getMetaData('providerCtx') === \"1\";\n\n constructor(){\n this._addCtxActions();\n this._createBtnCreateApp();\n this._addAppNameCounter();\n this._dapi.addResourceEventListener('changed', this._dapiEvent);\n this._dapi.addResourceEventListener('deleted', this._dapiEvent);\n if(this._dapi.isMainResource()) {\n this._dapi.publishLocation(location.href);\n }\n }\n\n private _dapiEvent = (resourceEvent: IResourceEvent):void => {\n if((resourceEvent.uri === app_edit_changed_saved && resourceEvent.name==='changed') ||\n (resourceEvent.uri === app_edit_deleted && resourceEvent.name==='deleted') ||\n (resourceEvent.uri === app_created && resourceEvent.name==='changed') ||\n (resourceEvent.uri === app_edit_provider_changed && resourceEvent.name==='changed'))\n {\n location.reload(true);\n }\n };\n\n private _addCtxActions = () => {\n if(this._providerCtx) {\n const ctx = new Array();\n ctx.push({\n title: this._i18n.getTranslation('app_list_ctx_actions_btn_createapp_label'),//\"Neue App erstellen\",\n icon: addIcon,\n callback: () => {\n this._createAppDialogShow();\n }\n });\n // this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n }\n };\n\n private _createAppDialogShow = () => {\n if(this._providerCtx) {\n this._dux.query('#modalCreateApp').modal('toggle');\n }\n };\n\n private _createBtnCreateApp = () => {\n if(this._providerCtx) {\n const btn = document.getElementById('btnCreate');\n if (btn) {\n (btn).addEventListener('click', this._createAppClick);\n this._dux.query('#modalCreateApp').on('hide.bs.modal', () => {\n (document.getElementById('txtAppName')).value = \"\";\n });\n }\n }\n };\n\n private _addAppNameCounter = () => {\n if (this._providerCtx) {\n const appNameInput = document.getElementById('txtAppName');\n if(appNameInput){\n this._setAppNameCounter(appNameInput);\n appNameInput.addEventListener('keyup', this._appNameCounterEvent);\n }\n }\n }\n\n private _appNameCounterEvent = (e:Event) => {\n if (this._providerCtx){\n const current = e.currentTarget;\n if(current){\n this._setAppNameCounter(current);\n }\n }\n }\n\n private _setAppNameCounter = (input:HTMLInputElement) => {\n const counterSpan = document.getElementById('txtAppNameCounter');\n counterSpan.innerText = input.value.length.toString();\n }\n\n private _createAppClick = () => {\n if(this._providerCtx) {\n const name = FieldHandler.getFieldValue('txtAppName');\n if (!this._isAppNameValid(name)) {\n return\n }\n\n const provider = UrlHelpers.getQueryParameter(window.location.href, 'provider');\n const data = JSON.stringify({\n appName: name,\n provider: provider\n });\n const url = UrlHelpers.getLinkRelHref('self');\n const xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 201) {\n this._dux.query('#modalCreateApp').modal('hide');\n const targetUri = xhr.getResponseHeader('location');\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: app_created\n });\n this._dapi.navigate(targetUri);\n } else if (xhr.status === 409) {\n const error = ErrorHandler.parseError(xhr.responseText);\n const desc = error.description.trim().toLowerCase();\n\n let msg = \"wrong message found: \" + desc;\n\n if (desc == \"an app with this name does already exist\") {\n const inputField = document.getElementById('txtAppName');\n const prefix = inputField.dataset[\"prefix\"];\n msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_exists_message');\n msg = i18n.replaceTranslationPlaceholder(msg,\"{appName}\", `${prefix}-${name}`);\n } else if(desc == \"app name is invalid\") {\n msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_invalid_message');\n } else if(desc == \"app name is blacklisted\") {\n msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_blacklisted_message');\n }\n\n FieldHandler.setFieldError('txtAppName_',msg);\n console.warn(xhr.responseText);\n } else {\n FieldHandler.setFieldError('txtAppName_', this._i18n.getTranslation('app_list_modal_createapp_error_unknownerror_message'));\n console.error(xhr.responseText);\n }\n };\n try {\n xhr.send(data);\n } catch (exp) {\n console.error(exp);\n }\n }\n };\n\n private _isAppNameValid = (name:string):boolean => {\n if (name.isNullOrEmpty()) {\n FieldHandler.setFieldError('txtAppName_', this._i18n.getTranslation('app_list_modal_createapp_error_appname_empty_message'));\n console.error(\"no appName found!\");\n return false;\n }\n const textField = document.getElementById('txtAppName');\n const strMaxLength = textField.getAttribute('maxlength');\n const maxLength = +strMaxLength;\n if (maxLength < name.length) {\n FieldHandler.setFieldError('txtAppName_', this._i18n.getTranslation('app_list_modal_createapp_error_appname_out_of_bound_message'))\n console.error(`length of app name cannot be greater than ${maxLength}. App name length was ${name.length}`);\n return false;\n }\n return true;\n }\n}", "import {deleteIcon, permIcon, saveIcon} from \"./icons\";\nimport UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {Notification} from \"./notification\";\nimport {setContextActions} from \"./contextActions\";\nimport {ErrorHandler} from \"./errorHandler\";\nimport {MediamanagerFileInputHandler} from \"./mediamanagerFileInput\";\n\nexport class OrganizationEdit {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n\n constructor() {\n this._addContextActions();\n this._addMediamanager();\n }\n\n private _addMediamanager = () => {\n const orgaImageInputId = 'orgaIcon';\n const orgaIconInput = document.getElementById(orgaImageInputId);\n new MediamanagerFileInputHandler(document.getElementById('orgaIconFileChooser'), (source) => {\n orgaIconInput.setAttribute(\"value\", source);\n FieldHandler.setFieldValue(orgaImageInputId, source);\n const evt = document.createEvent('HTMLEvents');\n evt.initEvent('input', false, true);\n orgaIconInput.dispatchEvent(evt);\n });\n\n orgaIconInput.addEventListener('input', () => {\n (document.getElementById('orgaIconThumbnail')).setAttribute('src', orgaIconInput.value);\n });\n };\n\n private _addContextActions = ():void => {\n if(this._isAdmin()) {\n let actionContext = new Array();\n actionContext.push({\n title: this._i18n.getTranslation('btn_save_title'),\n icon: saveIcon,\n callback: () => {\n this._onSave_Click();\n }\n });\n\n let permIconUrl = permIcon;\n actionContext.push({\n title: this._i18n.getTranslation('permission_organization_title'),\n icon: permIconUrl, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA6A-usergroup-32x32.png',\n href: UrlHelpers.getLinkRelHref('permission')\n });\n if (UrlHelpers.getMetaData(\"sysAdmin\") === \"1\") {\n let deleteIconUrl = deleteIcon;\n actionContext.push({\n title: this._i18n.getTranslation('organization_ctx_action_btn_delete_organization_label'), //'Organisation l\u00F6schen',\n icon: deleteIconUrl, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA14-delete-32x32.png',\n callback: () => {\n this._deleteOrganisation();\n }\n });\n }\n // this._dapi.setContextActions(actionContext);\n setContextActions(this._dapi, this._i18n, actionContext);\n }\n };\n private _isAdmin = ():boolean => {\n let sysAdmin = UrlHelpers.getMetaData('sysAdmin');\n if (sysAdmin === \"1\") {\n return true;\n }\n let isAdmin = UrlHelpers.getMetaData('isAdmin');\n return isAdmin === \"true\"\n };\n\n private _onSave_Click = ():void => {\n let data = this._getValues();\n if(data) {\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = () => {\n if (xhr.status === 200) {\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: window.location.pathname\n });\n this._dapi.closeResourceIfMainResource();\n Notification.showSuccessNotification(this._i18n.getTranslation('organization_edit_notification_save_success_title'), this._i18n.getTranslation('organization_edit_notification_save_success_message'));\n } else {\n let error = ErrorHandler.parseError(xhr.responseText);\n let isUnexpectedError = false;\n console.error(error);\n if (error.description.trim().startsWith(\"organization validation errors: \")){\n let strFieldErrors = error.description.trim().replace('organization validation errors: ','');\n let fieldErrors = strFieldErrors.split('|');\n for (let i = 0; i < fieldErrors.length; i++) {\n let fieldError = fieldErrors[i];\n let errSplit = fieldError.split('=');\n let fieldName = errSplit[0];\n let errorMessageType = errSplit[1];\n let inputId = '';\n let errorMessage = '';\n switch(fieldName){\n case \"name\":\n inputId = 'orgaName';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_name_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_name_invalid');\n }\n break;\n case \"contactMail\":\n inputId = 'orgaContact';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_contact_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_contact_invalid');\n }\n break;\n case \"firstName\":\n inputId = 'orgaContactFirstName';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_firstname_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_firstname_invalid');\n }\n break;\n case \"lastName\":\n inputId = 'orgaContactLastName';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_lastname_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_lastname_invalid');\n }\n break;\n case \"street\":\n inputId = 'orgaStreet';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_street_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_street_invalid');\n }\n break;\n case \"zip\":\n inputId = 'orgaZip';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_zip_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_zip_invalid');\n }\n break;\n case \"city\":\n inputId = 'orgaCity';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_city_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_city_invalid');\n }\n break;\n case \"taxNumber\":\n inputId = 'orgaTaxNumber';\n if(errorMessageType === 'missing') {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_taxnumber_empty');\n } else {\n errorMessage = this._i18n.getTranslation('organization_edit_requiredfield_taxnumber_invalid');\n }\n break;\n }\n if (inputId!=='') {\n FieldHandler.setFieldError(inputId, errorMessage);\n } else {\n isUnexpectedError = true;\n }\n }\n // if(error.description.trim() === \"E-Mail is invalid\") {\n // let msg = this._i18n.getTranslation('organization_edit_requiredfield_contact_invalid');\n // FieldHandler.setFieldError(\"orgaContact\",msg);\n // } else if (xhr.responseText.startsWith(\"Not valid fields: \")) {\n // let msg = error.description.replace(\"Not valid fields: \", \"\");\n // let fields = msg.split(\", \");\n // for(let i = 0; i {\n FieldHandler.clearFieldError(\"orgaName\");\n FieldHandler.clearFieldError(\"orgaContact\");\n FieldHandler.clearFieldError(\"orgaContactFirstName\");\n FieldHandler.clearFieldError(\"orgaContactLastName\");\n FieldHandler.clearFieldError(\"orgaStreet\");\n FieldHandler.clearFieldError(\"orgaZip\");\n FieldHandler.clearFieldError(\"orgaCity\");\n FieldHandler.clearFieldError(\"orgaTaxNumber\");\n let error = false;\n\n let retval: dtoOrganization = {\n organization: {\n id: FieldHandler.getFieldValue('orgaId'),\n name: FieldHandler.getFieldValue('orgaName'),\n contact: FieldHandler.getFieldValue('orgaContact'),\n contactFirstName: FieldHandler.getFieldValue('orgaContactFirstName'),\n contactLastName:FieldHandler.getFieldValue('orgaContactLastName'),\n street: FieldHandler.getFieldValue('orgaStreet'),\n zip: FieldHandler.getFieldValue('orgaZip'),\n city: FieldHandler.getFieldValue('orgaCity'),\n country: FieldHandler.getFieldValue('orgaCountry'),\n icon: FieldHandler.getFieldValue('orgaIcon'),\n taxNumber: FieldHandler.getFieldValue('orgaTaxNumber')\n }\n };\n\n if (retval.organization.name.isNullOrEmpty()) {\n FieldHandler.setFieldError(\"orgaName\", this._i18n.getTranslation('organization_edit_requiredfield_name_empty'));\n error = true;\n }\n if (retval.organization.contact.isNullOrEmpty()) {\n FieldHandler.setFieldError(\"orgaContact\", this._i18n.getTranslation('organization_edit_requiredfield_contact_empty'));\n error = true;\n }\n if (error) {\n return null;\n }\n return retval;\n };\n\n private _deleteOrganisation = ():void =>\n {\n this._dux.query.notifier(this._i18n.getTranslation('organization_modal_delete_organization_message'), {\n title: this._i18n.getTranslation('organization_modal_delete_organization_title'),\n showClose:true,\n submit: this._i18n.getTranslation('organization_modal_delete_organization_btn_delete_label'), //'L\u00F6schen',\n priority: 'warning',\n callback: () => {\n let url = UrlHelpers.getLinkRelHref('self');\n this._deleteElement(url, true, window.location.pathname);\n }\n });\n };\n\n private _deleteElement = (url: string, doClose:boolean, uri: string) => {\n let xhr = new XMLHttpRequest();\n xhr.open(\"DELETE\", url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 204) {\n this._dapi.dispatchResourceEvent({\n name: \"deleted\",\n uri: uri\n });\n if (doClose) {\n this._dapi.closeResourceIfMainResource();\n }\n } else {\n if (xhr.status === 401) {\n Notification.showErrorNotification(this._i18n.getTranslation('organization_modal_delete_organization_error_not_allowed_title'), this._i18n.getTranslation('organization_modal_delete_organization_error_not_allowed_message'));\n } else if (xhr.status === 409) {\n Notification.showErrorNotification(this._i18n.getTranslation('organization_modal_delete_organization_error_tenants_exists_title'), this._i18n.getTranslation('organization_modal_delete_organization_error_tenants_exists_message'));\n } else {\n console.error(xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('organization_modal_delete_organization_error_unexpected_error_title'), this._i18n.getTranslation('organization_modal_delete_organization_error_unexpected_error_message'));\n }\n }\n };\n xhr.send();\n };\n}\n\nexport interface dtoOrganization {\n organization: dtoOrganizationDetails;\n}\n\nexport interface dtoOrganizationDetails {\n id:string;\n name:string;\n contact:string;\n contactFirstName:string;\n contactLastName:string;\n street:string;\n zip:string;\n city:string;\n country:string;\n icon:string;\n taxNumber:string;\n}\n", "import {i18n} from \"./i18n\";\nimport UrlHelpers from \"./url\";\nimport {addIcon} from \"./icons\";\nimport {Notification} from \"./notification\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {setContextActions} from \"./contextActions\";\nimport {provider_created, provider_edit_delete, provider_edit_saved} from \"./dapiEventUris\";\nimport {ErrorHandler} from \"./errorHandler\";\n\nexport class ProviderList {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n\n constructor() {\n this._dapi.addResourceEventListener('changed', this._dapi_event);\n this._dapi.addResourceEventListener('deleted', this._dapi_event);\n this._addCtxActions();\n let createModalDialog = this._dux.query('#modalCreateProvider');\n if(createModalDialog){\n createModalDialog.on('hidden.bs.modal', (e)=> {\n let inputProviderName = document.getElementById('providerName');\n inputProviderName.value = '';\n let inputProviderPrefix = document.getElementById('providerPrefix');\n inputProviderPrefix.value = '';\n });\n }\n }\n\n private _dapi_event = (resourceEvent: IResourceEvent) => {\n switch(resourceEvent.uri) {\n case provider_edit_delete:\n case provider_edit_saved:\n case provider_created:\n window.location.reload(true);\n }\n };\n\n private _addCtxActions = () => {\n let ctx = new Array();\n if(UrlHelpers.getMetaData('sysAdmin')){\n ctx.push({\n title:this._i18n.getTranslation('provider_list_ctx_action_btn_create_label'), //\"Neuen Provider erstellen\",\n icon: addIcon,\n callback: () => {\n this._ctx_create_provider();\n }\n });\n }\n // this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n };\n\n private _ctx_create_provider = () => {\n this._dux.query('#modalCreateProvider').modal('toggle');\n (document.getElementById('modalCreateProvider_btnAdd')).addEventListener('click', this._create_provider);\n };\n\n private _create_provider = () => {\n let name = FieldHandler.getFieldValue('providerName');\n if (name.isNullOrEmpty()) {\n FieldHandler.setFieldError('providerName', this._i18n.getTranslation('provider_prop_name_error_is_empty'));\n return\n }\n let prefix = FieldHandler.getFieldValue('providerPrefix');\n if(prefix.isNullOrEmpty()){\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_empty_message'));\n return\n } else if(prefix.length < 2) {\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_to_short_message'));\n return\n } else if(prefix.length > 15){\n FieldHandler.setFieldWarning('providerPrefix', this._i18n.getTranslation('providerList_create_provider_info_prefix_max_length_reference_message'))\n }\n // todo: check, if prefix is not in use as web service call. When check ok, activate button to create the provider. Otherwise show a message, that the current provider prefix is already in use by another provider\n\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n\n let dto:dtoCreateProviderRequest = {\n name:name,\n prefix:prefix\n };\n\n xhr.open('POST', url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = () => {\n if (xhr.status === 201) {\n this._dapi.dispatchResourceEvent({\n name: \"changed\",\n uri: provider_created\n });\n let url = xhr.getResponseHeader('location');\n this._dux.query('#modalCreateProvider').modal('hide');\n this._dapi.navigate(url);\n } else if (xhr.status === 422) {\n this._dux.query('#modalCreateProvider').modal('hide');\n Notification.showErrorNotification(this._i18n.getTranslation('providerList_error_provider_limit_reached_title'), this._i18n.getTranslation('providerList_error_provider_limit_reached_message'));\n } else if (xhr.status === 409) {\n let error = ErrorHandler.parseError(xhr.responseText);\n switch (error.description) {\n case \"Provider prefix already exist\":\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('provider_list_modal_create_provider_error_prefix_already_exist_message'));\n break;\n case \"Provider prefix must contain at least 2 characters\":\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_to_short_message'));\n break;\n case \"Provider prefix is invalid\":\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_invalid_chars_message'));\n break;\n case \"Provider prefix is blacklisted\":\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_not_allowed_message'));\n break;\n default:\n Notification.showErrorNotification(this._i18n.getTranslation('provider_list_notification_create_failed_title'), xhr.responseText);\n }\n console.error(xhr.responseText);\n } else if (xhr.status === 400) {\n let error = ErrorHandler.parseError(xhr.responseText);\n switch (error.description) {\n case \"provider name missing\":\n FieldHandler.setFieldError('providerName', this._i18n.getTranslation('provider_name_missing_or_invalid_message'))\n break;\n }\n } else {\n Notification.showErrorNotification(this._i18n.getTranslation('provider_list_notification_create_failed_title'), this._i18n.getTranslation('provider_list_notification_create_failed_message'));\n console.error(xhr.responseText);\n }\n };\n let json = JSON.stringify(dto);\n xhr.send(json);\n };\n}\n\nexport interface dtoProvider {\n id:string\n members: string[]\n provider:dtoProviderDetails\n}\nexport interface dtoProviderDetails {\n name:string\n description:string\n logo:string\n email:string\n street:string\n zip:string\n city:string\n country:string\n language:string\n homepage:string\n impressum:string\n supportMail:string\n supportPhone:string\n prefix:string\n}\nexport interface dtoCreateProviderRequest {\n name:string\n prefix:string\n}", "import UrlHelpers from \"./url\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {Notification} from \"./notification\";\nimport {i18n} from \"./i18n\";\nimport {dtoProvider, dtoProviderDetails} from \"./providerList\";\nimport {setContextActions} from \"./contextActions\";\nimport {provider_edit_delete, provider_edit_saved} from \"./dapiEventUris\";\nimport {deleteIcon, saveIcon} from \"./icons\";\nimport {isEmailValid, isUrlValid} from \"./validation\";\nimport {ErrorHandler} from \"./errorHandler\";\nimport {MediamanagerFileInputHandler} from \"./mediamanagerFileInput\";\n\nexport class ProviderEdit {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n private _isSysAdmin:boolean = UrlHelpers.getMetaData('sysAdmin')===\"1\";\n private _viewState:dtoProvider;\n\n constructor() {\n (document.getElementById('providerCaptions_languageSelector')).addEventListener('change', this._languageSelectorChanged);\n (document.getElementById('modalDeleteProvider_btnDelete')).addEventListener('click',this._deleteProvider);\n (document.getElementById('modalDeleteProvider_btnCancel')).addEventListener('click', (e) => {\n const modal = this._dux.query('#modalDeleteProvider');\n if (modal) {\n modal.hide();\n } else {\n console.debug(\"modal with id 'modalDeleteProvider' not found!\");\n }\n })\n this._addCaptionActionEvents();\n this._addCtxActions();\n this._setViewState();\n this._addMediamanager();\n if(this._dapi.isMainResource()){\n this._dapi.publishLocation(location.href);\n }\n }\n\n private _addMediamanager = () => {\n const logoId = 'providerLogo';\n const logoInput = document.getElementById(logoId);\n new MediamanagerFileInputHandler(document.getElementById('providerLogoFileChooser'), (source) => {\n logoInput.setAttribute(\"value\", source);\n FieldHandler.setFieldValue(logoId, source);\n const evt = document.createEvent('HTMLEvents');\n evt.initEvent('input', false, true);\n logoInput.dispatchEvent(evt);\n });\n logoInput.addEventListener('input', () => {\n (document.getElementById('providerLogoThumbnail')).setAttribute('src', logoInput.value);\n });\n };\n\n private _setViewState = () => {\n this._viewState = this._getValues(false);\n };\n\n private _isViewStateChanged = ():boolean => {\n let currentState:dtoProvider = this._getValues(false);\n if(currentState.provider.city != this._viewState.provider.city) {\n return true;\n } else if(currentState.provider.country != this._viewState.provider.country) {\n return true;\n } else if(currentState.provider.email != this._viewState.provider.email) {\n return true;\n } else if(currentState.provider.homepage != this._viewState.provider.homepage) {\n return true;\n } else if(currentState.provider.language != this._viewState.provider.language) {\n return true;\n } else if(currentState.provider.logo != this._viewState.provider.logo) {\n return true;\n } else if(currentState.provider.name != this._viewState.provider.name) {\n return true;\n } else if(currentState.provider.street != this._viewState.provider.street) {\n return true;\n } else if(currentState.provider.supportMail != this._viewState.provider.supportMail) {\n return true;\n } else if(currentState.provider.supportPhone != this._viewState.provider.supportPhone) {\n return true;\n } else if(currentState.provider.zip != this._viewState.provider.zip) {\n return true;\n } else if(currentState.provider.impressum != this._viewState.provider.impressum) {\n return true;\n } else if(currentState.provider.description != this._viewState.provider.description){\n return true;\n }\n return false;\n };\n\n private _languageSelectorChanged = (e):void => {\n let selectedOptions = e.currentTarget.selectedOptions[0];\n let targetUrl = selectedOptions.dataset['url'];\n if(this._isViewStateChanged()){\n (document.getElementById('modalDtoChanged_btnSave')).addEventListener('click', this._btnSaveChanges_Click);\n (document.getElementById('modalDtoChanged_btnReject')).addEventListener('click', this._btnRejectChanges_Click);\n let dialog = this._dux.query('#modalDtoChanged');\n dialog[0].dataset['url'] = targetUrl;\n dialog.modal('toggle');\n return\n }\n location.href = targetUrl;\n };\n\n private _btnRejectChanges_Click = ():void => {\n let modal = document.getElementById('modalDtoChanged');\n let targetUrl = modal.dataset['url'];\n window.location.href = targetUrl;\n };\n\n private _btnSaveChanges_Click = (): void => {\n let modal = document.getElementById('modalDtoChanged');\n let targetUrl = modal.dataset['url'];\n this._save_click(targetUrl.toString());\n };\n\n private _addCtxActions = ():void => {\n let ctx = new Array();\n ctx.push({\n title:this._i18n.getTranslation('btn_save_title'),\n icon:saveIcon,\n callback:() => {\n this._save_click();\n }\n });\n if(this._isSysAdmin){\n ctx.push({\n title: this._i18n.getTranslation('provider_edit_ctx_action_delete_label'), //\"Provider l\u00F6schen\",\n icon:deleteIcon,\n callback:() => {\n let modal = this._dux.query('#modalDeleteProvider');\n if(modal){\n modal.toggle('show');\n } else {\n console.warn('modal delete provider not found!');\n }\n }\n });\n }\n //this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n };\n\n private _addCaptionActionEvents = ():void => {\n (document.getElementById('modalAddTranslation_btnAdd')).addEventListener('click', this._addTranslationClick);\n (document.getElementById('modalRemoveTranslation_btnRemove')).addEventListener('click', this._removeTranslationClick);\n };\n\n private _addTranslationClick = (e): void => {\n let translationLanguage = (document.getElementById('modalAddTranslation_translationLanguageSelector')).value;\n let url = UrlHelpers.getLinkRelHref('details') +\"?translation=\"+translationLanguage;\n\n let copyFrom = (document.getElementById('modalAddTranslation_copyFrom')).value;\n if (copyFrom && copyFrom != \"0\"){\n url = url + \"©=\" + copyFrom;\n }\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = ()=> {\n if(xhr.status === 201) {\n // this._refreshLanguageSelector(translationLanguage);\n let targetUrl = xhr.getResponseHeader(\"location\");\n this._dux.query('#modalAddTranslation').modal('hide');\n if(!targetUrl.isNullOrEmpty()) {\n location.href = targetUrl;\n }\n } else {\n let msg = this._i18n.getTranslation('app_edit_modal_add_translation_failed_msg');\n let help = (document.getElementById('modalAddTranslation_translationLanguageSelector_Help'));\n if(help){\n help.innerHTML=' '+msg;\n } else {\n console.warn(\"Cannot find help span within add translation modal.\");\n }\n console.error(\"Return status \" + xhr.status + \": \" + xhr.responseText);\n }\n };\n xhr.send();\n };\n\n private _removeTranslationClick = (e): void => {\n let currentLanguage = FieldHandler.getFieldValue('providerCaptions_languageSelector');\n // alert('Delete current selected language: '+currentLanguage);\n let url = UrlHelpers.getLinkRelHref('self') + \"?translation=\"+currentLanguage;\n let xhr = new XMLHttpRequest();\n xhr.open('DELETE', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n this._dux.query('#modalRemoveTranslation').modal('hide');\n if(xhr.status === 204) {\n // this._refreshLanguageSelector(\"\");\n let targetUrl = UrlHelpers.getLinkRelHref('details');\n location.href = targetUrl;\n } else {\n console.error(\"Return status \" + xhr.status + \": \" + xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('provider_edit_notification_remove_failed_title'), this._i18n.getTranslation('provider_edit_notification_remove_failed_message'));\n }\n };\n xhr.send();\n };\n\n private _save_click = (targetUrl?: string):void => {\n let data = this._getValues();\n if(data != null){\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('PUT', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if(xhr.status === 200){\n this._viewState = data;\n this._dapi.dispatchResourceEvent({\n name:'changed',\n uri: provider_edit_saved\n });\n if(targetUrl.isNullOrEmpty()) {\n this._dapi.closeResourceIfMainResource();\n } else {\n location.href = targetUrl;\n }\n } else if (xhr.status === 409) {\n console.error(xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('provider_edit_notification_save_failed_title'), this._i18n.getTranslation('provider_list_modal_create_provider_error_prefix_already_exist_message'));\n } else {\n if (xhr.status === 400) {\n let errorDto = ErrorHandler.parseError(xhr.responseText);\n if(errorDto.description.startsWith('Provider prefix is invalid')) {\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_invalid_chars_message'));\n } else if(errorDto.description.startsWith('Provider prefix is blacklisted')) {\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_error_prefix_not_allowed_message'));\n } else if(errorDto.description.startsWith('Provider prefix must contain at least 2 characters')) {\n FieldHandler.setFieldError('providerPrefix', this._i18n.getTranslation('providerList_create_provider_info_prefix_max_length_reference_message'));\n }\n }\n console.error(xhr.responseText);\n Notification.showErrorNotification(this._i18n.getTranslation('provider_edit_notification_save_failed_title'),this._i18n.getTranslation('provider_edit_notification_save_failed_message'));\n }\n };\n xhr.send(JSON.stringify(data));\n } else {\n console.warn('Required fields are empty!');\n }\n };\n\n private _getValues = (useEmptyCheck = true):dtoProvider => {\n let errorMsg:{[key:string]:string} = {};\n let errorExist:boolean = false;\n let providerId:string = FieldHandler.getFieldValue('providerId');\n if (providerId.isNullOrEmpty() && useEmptyCheck){\n console.error('provider id cannot be found. Please reload this page!');\n return null;\n }\n let prefix:string = FieldHandler.getFieldValue('providerPrefix');\n let language:string = FieldHandler.getFieldValue('language');\n FieldHandler.clearFieldError('providerName_');\n let field_name:string = FieldHandler.getFieldValue('providerName');\n if (field_name.isNullOrEmpty() && useEmptyCheck){\n console.warn('field \"providerName\" required but is empty');\n let msg = this._i18n.getTranslation('provider_prop_name_error_is_empty');\n let label = (document.getElementById('providerName_label')).innerText;\n FieldHandler.setFieldError('providerName_', msg);\n errorMsg[label] = msg;\n errorExist = true;\n }\n let field_description:string = FieldHandler.getFieldValue('providerDescription');\n field_description = field_description.replace(/\\n/g, '
    \\n');\n\n let field_street:string = FieldHandler.getFieldValue('providerStreet');\n let field_zip:string = FieldHandler.getFieldValue('providerZip');\n let field_city:string = FieldHandler.getFieldValue('providerCity');\n let field_country:string = FieldHandler.getFieldValue('providerCountry');\n let field_homepage:string = FieldHandler.getFieldValue('providerHomepage');\n if(!isUrlValid(field_homepage, false)) {\n console.warn('field \"providerHomepage\" has invalid url');\n let msg = this._i18n.getTranslation('provider_prop_homepage_error_invalid');\n FieldHandler.setFieldError('providerHomepage_', msg);\n let label = (document.getElementById('providerHomepage_label')).innerText;\n errorMsg[label] = msg;\n errorExist = true;\n }\n let field_impressum:string = FieldHandler.getFieldValue('providerImpressum');\n if(!isUrlValid(field_homepage, false)) {\n console.warn('field \"providerImpressum\" has invalid url');\n let msg = this._i18n.getTranslation('provider_prop_homepage_error_invalid');\n FieldHandler.setFieldError('providerImpressum_', msg);\n let label = (document.getElementById('providerImpressum_label')).innerText;\n errorMsg[label] = msg;\n errorExist = true;\n }\n let field_mail:string = FieldHandler.getFieldValue('providerMail');\n if(!isEmailValid(field_mail, false)) {\n console.warn('field \"providerMail\" has an invalid mail address');\n let msg = this._i18n.getTranslation('provider_prop_email_error_invalid');\n FieldHandler.setFieldError('providerMail_', msg);\n let label = (document.getElementById('providerMail_label')).innerText;\n errorMsg[label] = msg;\n errorExist = true;\n }\n let field_support_mail:string = FieldHandler.getFieldValue('providerSupportMail');\n if(!isEmailValid(field_support_mail, false)) {\n console.warn('field \"providerSupportMail\" has an invalid mail address');\n let msg = this._i18n.getTranslation('provider_prop_supportmail_error_invalid');\n FieldHandler.setFieldError('providerSupportMail_', msg);\n let label = (document.getElementById('providerSupportMail_label')).innerText;\n errorMsg[label] = msg;\n errorExist = true;\n }\n let field_support_phone:string = FieldHandler.getFieldValue('providerSupportPhone');\n let field_logo:string = FieldHandler.getFieldValue('providerLogo');\n if (errorExist) {\n let title = this._i18n.getTranslation('provider_edit_error_not_save_title');\n let alert = this._i18n.getTranslation('provider_edit_error_not_save_message');\n let body = '
      ';\n for (let key in errorMsg){\n let msg = errorMsg[key];\n body = `${body}
    • ${key}: ${msg}
    • `;\n errorExist = true;\n }\n body = `${body}
    `;\n ErrorHandler.showErrorDialogByOwn(title, alert, body, 'danger', this._dux);\n return null\n }\n let provider: dtoProviderDetails = {\n name: field_name,\n street: field_street,\n zip: field_zip,\n city: field_city,\n country: field_country,\n homepage: field_homepage,\n email: field_mail,\n supportMail: field_support_mail,\n supportPhone: field_support_phone,\n logo: field_logo,\n language: language,\n prefix: prefix,\n impressum: field_impressum,\n description:field_description\n };\n let retVal: dtoProvider = {\n members: null,\n id: providerId,\n provider: provider\n };\n return retVal;\n };\n\n private _deleteProvider = (): void => {\n let url = UrlHelpers.getLinkRelHref('self');\n if (url.isNullOrEmpty()){\n console.error('delete provider failed: provider self url is empty!');\n return\n }\n let xhr = new XMLHttpRequest();\n xhr.open('DELETE', url);\n xhr.setRequestHeader('accept','application/json');\n xhr.onload = () => {\n if(xhr.status === 204) {\n this._dapi.dispatchResourceEvent({\n name: \"deleted\",\n uri: provider_edit_delete,\n });\n if(this._dapi.isMainResource()) {\n this._dapi.closeResourceIfMainResource();\n } else {\n let parentUrl = UrlHelpers.getLinkRelHref('parent');\n if(!parentUrl.isNullOrEmpty()) {\n location.href = parentUrl;\n } else {\n console.warn(\"parent url not found!\");\n }\n }\n } else if (xhr.status >= 400) {\n console.error(xhr);\n let modal = this._dux.query('#modalDeleteProvider');\n if(modal){\n modal.hide();\n }\n Notification.showErrorNotification(this._i18n.getTranslation('provider_edit_notification_delete_failed_title'),this._i18n.getTranslation('provider_edit_notification_delete_failed_message'));\n }\n };\n try{\n xhr.send();\n } catch(exp){\n console.error('delete provider failed: ', exp);\n }\n };\n}", "import {i18n} from \"./i18n\";\nimport {\n app_created,\n app_edit_changed_saved,\n app_edit_deleted,\n app_edit_provider_changed, provider_edit_delete, provider_edit_saved,\n provider_membership_add, provider_membership_rem\n} from \"./dapiEventUris\";\nimport {setContextActions} from \"./contextActions\";\nimport UrlHelpers from \"./url\";\n\nexport class ProviderOverview {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n constructor(){\n this._dapi.addResourceEventListener('changed', this._dapi_event);\n this._dapi.addResourceEventListener('deleted', this._dapi_event);\n setContextActions(this._dapi, this._i18n, null);\n }\n\n private _dapi_event = (resourceEvent: IResourceEvent) => {\n switch (resourceEvent.uri) {\n case provider_edit_delete:\n if(this._dapi.isMainResource()){\n this._dapi.closeResourceIfMainResource();\n } else {\n let parentUrl = UrlHelpers.getLinkRelHref('parent');\n if (parentUrl.isNullOrEmpty()) {\n console.warn('no parent url found');\n return\n }\n location.href=parentUrl;\n }\n break;\n case app_created:\n case '/center/app/changed':\n case '/center/app/deleted':\n case app_edit_deleted:\n case app_edit_changed_saved:\n case app_edit_provider_changed:\n case provider_membership_add:\n case provider_edit_saved:\n this._page_reload();\n }\n if (resourceEvent.uri.startsWith(provider_membership_rem)) {\n this._page_reload();\n } else if (resourceEvent.uri.indexOf(\"/f/\")!== -1 && resourceEvent.name==='deleted') {\n this._page_reload();\n }\n };\n\n private _page_reload = () => {\n window.location.reload(true);\n };\n}", "import {i18n} from \"./i18n\";\nimport {provider_membership_add, provider_membership_rem} from \"./dapiEventUris\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport UrlHelpers from \"./url\";\nimport {Notification} from \"./notification\";\nimport {setContextActions} from \"./contextActions\";\n\nexport class ProviderMembership {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n\n constructor(){\n this._dapi.addResourceEventListener('changed', this._dapi_changed_event);\n this._dapi.addResourceEventListener('deleted', this._dapi_deleted_event);\n this._add_click_event();\n setContextActions(this._dapi, this._i18n, null);\n }\n\n private _dapi_changed_event = (resourceEvent: IResourceEvent) => {\n if (resourceEvent.name === 'changed' && resourceEvent.uri === provider_membership_add) {\n window.location.reload(true);\n }\n };\n\n private _dapi_deleted_event = (resourceEvent: IResourceEvent) => {\n if (resourceEvent.name==='deleted' && resourceEvent.uri.startsWith(provider_membership_rem)){\n let counter = resourceEvent.uri.substr(resourceEvent.uri.lastIndexOf('/')+1);\n let id = 'membership-row-'+counter;\n let tr = document.getElementById(id);\n tr.remove();\n }\n };\n\n private _add_click_event = () => {\n let btnAdd = document.getElementById('btnAddMember');\n if(!btnAdd) {\n console.error(\"cannot find button to adding member\");\n return\n }\n btnAdd.addEventListener('click', this._btn_add_member_click);\n\n let memberinput = document.getElementById('memberId');\n if(!memberinput){\n console.error(\"cannot find member input field\");\n return\n }\n memberinput.addEventListener('keyup',this._on_membership_input_field_press_enter);\n\n let elements = document.getElementsByName('btnRemoveMembership');\n for (let i = 0; i < elements.length; i++) {\n let btn = elements[i];\n btn.addEventListener('click', this._btn_remove_member_click)\n }\n };\n\n private _btn_remove_member_click = (e:any) => {\n let current = e.currentTarget;\n let id = current.dataset[\"id\"];\n let member = current.dataset[\"member\"];\n let provider = FieldHandler.getFieldValue('providerId');\n let dto:providerMembershipRequestDto = {\n id:provider,\n member:member\n };\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('DELETE', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 204) {\n this._dapi.dispatchResourceEvent({\n name:'deleted',\n uri: provider_membership_rem+'/'+id\n });\n } else {\n Notification.showErrorNotification(this._i18n.getTranslation('provider_membership_notification_delete_member_failed_title'), this._i18n.getTranslation('provider_membership_notification_delete_member_failed_message'));\n console.error(xhr.status+\": \"+xhr.responseText);\n }\n };\n xhr.send(JSON.stringify(dto));\n };\n\n private _on_membership_input_field_press_enter = (e: any) => {\n if (e.keyCode === 13) {\n this._btn_add_member_click();\n }\n };\n\n private _btn_add_member_click = () => {\n let member = FieldHandler.getFieldValue('memberId');\n if (member.indexOf('@') === -1) {\n console.info(\"member is not a valid mail adress: \", member);\n return\n }\n let provider = FieldHandler.getFieldValue('providerId');\n let dto : providerMembershipRequestDto = {\n id:provider,\n member:member\n };\n let url = UrlHelpers.getLinkRelHref('self');\n let xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 200) {\n this._dapi.dispatchResourceEvent({\n name: \"changed\",\n uri: provider_membership_add\n });\n } else if (xhr.status === 409) {\n // info: member already exist\n Notification.showInfoNotification(this._i18n.getTranslation('provider_membership_notification_member_already_exist_title'), this._i18n.getTranslation('provider_membership_notification_member_already_exist_message'));\n } else {\n Notification.showErrorNotification(this._i18n.getTranslation('provider_membership_notification_failed_title'), this._i18n.getTranslation('provider_membership_notification_failed_message'));\n console.error(xhr.status + \": \" + xhr.responseText);\n }\n };\n xhr.send(JSON.stringify(dto));\n };\n}\n\nexport interface providerMembershipRequestDto {\n id:string\n member:string\n}", "import {i18n} from \"./i18n\";\nimport UrlHelpers from \"./url\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {create_orga_request_dto} from \"./organizationList\";\n\nexport class App {\n\tprivate _dapi: Dapi = (window).dapi;\n\tprivate _i18n: i18n = new i18n();\n\tprivate _animationActive = false;\n\n\tconstructor() {\n\t\tthis._setModalActions();\n\t\tthis._tenantSelector_changed();\n\t\tconst btnSubscribe = document.getElementById('btnAppSubscribe');\n\t\tif(btnSubscribe) {\n\t\t\t(btnSubscribe).addEventListener('click', this._openWizard)\n\t\t}\n\t\tthis.setDapiFullscreenMode();\n\t}\n\n\tprivate _openWizard = (e:any):void => {\n\t\tlet wizardUrl = UrlHelpers.getLinkRelHref('wizard');\n\t\tif(wizardUrl){\n\t\t\tthis._dapi.activateSingleResourceMode();\n\t\t\tthis._dapi.navigate(wizardUrl);\n\t\t}else {\n\t\t\tconsole.warn('Link relation \"wizard\" not found or empty!');\n\t\t}\n\t};\n\n\tprivate setDapiFullscreenMode = (): void => {\n\t\tif (!this._dapi) {\n\t\t\tconsole.error(\"dapi not found\");\n\t\t\treturn;\n\t\t}\n\t\tthis._dapi.setResourceVisibilityChangedCallback(isResourceVisible => {\n\t\t\tif (isResourceVisible) {\n\t\t\t\tthis._dapi.deactivateSingleResourceMode();\n\t\t\t}\n\t\t})\n\t};\n\n\tprivate _setModalActions = ():void => {\n\t\tlet tenantSelector = document.getElementById('modalSubscribeTenantSelector');\n\t\tif(tenantSelector){\n\t\t\ttenantSelector.addEventListener('change', this._tenantSelector_changed);\n\t\t}\n\t\tlet btnSubscribe = document.getElementById('modalSubscribeBtnSubscribe');\n\t\tif(btnSubscribe){\n\t\t\tbtnSubscribe.addEventListener('click', this._btnModalSubscribe_click);\n\t\t}\n\t\tlet btnCancel = document.getElementById('modalSubscribeBtnCancel');\n\t\tif (btnCancel){\n\t\t\tbtnCancel.addEventListener('click', () => {\n\t\t\t\tthis._closeSubscribeAnimation();\n\t\t\t\tthis._closeSubscribeAnimationControls();\n\t\t\t\tthis._setSubscribeButtonDisabledState(false);\n\t\t\t});\n\t\t}\n\t\tlet chkProviderAllowed = document.getElementById('modalSubscribeProviderAllowed');\n\t\tif(chkProviderAllowed){\n\t\t\tchkProviderAllowed.addEventListener('click', this._chkProviderAllowed_click);\n\t\t}\n\t};\n\n\tprivate _chkProviderAllowed_click = (e:any):void => {\n\t\tlet element = e.currentTarget;\n\t\tthis._setSubscribeButtonDisabledState(!element.checked);\n\t};\n\n\tprivate _tenantSelector_changed = (): void => {\n\t\tlet selectedTenant = FieldHandler.getFieldValue('modalSubscribeTenantSelector');\n\t\tlet createTenantDiv = document.getElementById('modalSubscribeCreateTenant');\n\t\tlet createOrganizationDiv = document.getElementById('modalSubscribeCreateOrganization');\n\t\tif (createTenantDiv && createOrganizationDiv) {\n\t\t\tswitch (selectedTenant) {\n\t\t\t\tcase \"-1\":\n\t\t\t\t\tcreateTenantDiv.classList.remove('collapse');\n\t\t\t\t\tcreateOrganizationDiv.classList.add('collapse');\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"-2\":\n\t\t\t\t\tcreateTenantDiv.classList.remove('collapse');\n\t\t\t\t\tcreateOrganizationDiv.classList.remove('collapse');\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tcreateTenantDiv.classList.add('collapse');\n\t\t\t\t\tcreateOrganizationDiv.classList.add('collapse');\n\t\t\t}\n\t\t}\n\t};\n\n\tprivate _btnModalSubscribe_click = (): void => {\n\t\tlet chkProviderAllowed = document.getElementById('modalSubscribeProviderAllowed');\n\t\tif(chkProviderAllowed.checked) {\n\t\t\tlet selectedTenant = FieldHandler.getFieldValue('modalSubscribeTenantSelector');\n\t\t\tlet tenantSelector = document.getElementById('modalSubscribeTenantSelector');\n\t\t\tlet selectedOption = tenantSelector.selectedOptions[0];\n\t\t\tFieldHandler.clearFieldError('tenantDomain');\n\t\t\tFieldHandler.clearFieldError('orgaName');\n\t\t\tswitch (selectedTenant) {\n\t\t\t\tcase \"-1\":\n\t\t\t\t\tlet orgaId = selectedOption.dataset.id;\n\t\t\t\t\tlet orgaUrl = selectedOption.dataset.url;\n\t\t\t\t\tif (this._inputIsEmpty('tenantDomainValue')) {\n\t\t\t\t\t\tFieldHandler.setFieldError('tenantDomain',this._i18n.getTranslation('tenant_subdomain_error_field_empty'));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis._modalCreateTenantAndSubscribe(orgaUrl, orgaId);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"-2\":\n\t\t\t\t\tlet orgaListUrl = selectedOption.dataset.url;\n\t\t\t\t\tif (this._inputIsEmpty('tenantDomainValue')) {\n\t\t\t\t\t\tFieldHandler.setFieldError('tenantDomain',this._i18n.getTranslation('tenant_subdomain_error_field_empty'));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (this._inputIsEmpty('orgaName')) {\n\t\t\t\t\t\tFieldHandler.setFieldError('orgaName',this._i18n.getTranslation('organization_edit_requiredfield_name_empty'));\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\t\t\t\t\tthis._modalCreateOrganizationAndTenantAndSubscribe(orgaListUrl);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthis._modalSubscribeApp(selectedTenant);\n\t\t\t}\n\t\t\tthis._setSubscribeButtonDisabledState(true);\n\t\t\tthis._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_begin'));\n\t\t} else {\n\t\t\tconsole.log('checkbox provider allowed not checked!');\n\t\t}\n\t};\n\n\tprivate _modalSubscribeApp = (selectedTenant:string): void => {\n\t\tthis._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_subscribing_app'));\n\t\tlet subscriptionUrl = UrlHelpers.getLinkRelHref(\"subscription\");\n\t\tlet appName = UrlHelpers.getMetaData(\"appName\");\n\t\tlet xhr = new XMLHttpRequest();\n\t\txhr.open('PUT', subscriptionUrl);\n\t\txhr.setRequestHeader('accept', 'application/json');\n\t\txhr.onload = () => {\n\t\t\tif(xhr.status === 200) {\n\t\t\t\tconst data = JSON.parse(xhr.responseText);\n\t\t\t\tthis._subscribeSuccess(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_success'), `https://${data.fullQualifiedDomain}`);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconsole.error(`Got error from server: ${xhr.responseText}`);\n\t\t\t//Misc errors\n\t\t\tlet errorMessage = this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous');\n\t\t\t//Bad Request\n\t\t\tif (xhr.status == 400) {\n\t\t\t\terrorMessage = this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_badrequest');\n\t\t\t}\n\t\t\t//Unauthorized\n\t\t\tif (xhr.status == 401 || xhr.status == 403) {\n\t\t\t\terrorMessage = this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_unauthorized');\n\t\t\t}\n\t\t\tthis._subscribeError(errorMessage);\n\t\t};\n\t\tlet data:subscriptionRequestDto = {\n\t\t\taction: 'subscribe',\n\t\t\ttenantId: selectedTenant,\n\t\t\tappName:appName\n\t\t};\n\t\txhr.send(JSON.stringify(data));\n\t};\n\n\tprivate _modalCreateTenantAndSubscribe = (url: string, orgaId: string):void => {\n\t\tthis._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_tenant'));\n\t\tlet btnSubscribe = document.getElementById('modalSubscribeBtnSubscribe');\n\t\tlet domain = FieldHandler.getFieldValue('tenantDomainValue');\n\t\tlet checkUrl = UrlHelpers.getLinkRelHref('domainCheck');\n\t\tlet req = new Request(checkUrl, {\n\t\t\tmethod:'post',\n\t\t\theaders: {\n\t\t\t\t'accept':'application/json'\n\t\t\t},\n\t\t\tbody: JSON.stringify({\n\t\t\t\tdomain: domain,\n\t\t\t\ttenantId: ''\n\t\t\t})\n\t\t});\n\t\tfetch(req,{credentials: \"same-origin\"})\n\t\t\t.then((response) => {\n\t\t\t\tif(response.status == 200) {\n\t\t\t\t\tlet result = response.json();\n\t\t\t\t\tresult.then(value => {\n\t\t\t\t\t\tconsole.log(value);\n\t\t\t\t\t\tif (value.exists) {\n\t\t\t\t\t\t\tlet message:string;\n\t\t\t\t\t\t\tif(value.message === \"Domain already exists.\") {\n\t\t\t\t\t\t\t\tmessage = this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist');\n\t\t\t\t\t\t\t} else if(value.message === \"Domain is blacklisted.\") {\n\t\t\t\t\t\t\t\tmessage = this._i18n.getTranslation('tenant_subdomain_error_domain_is_blacklisted');\n\t\t\t\t\t\t\t} else if(value.message === \"Domain contains invalid characters.\") {\n\t\t\t\t\t\t\t\tmessage = this._i18n.getTranslation('tenant_subdomain_error_invalidchar');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmessage = this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconsole.error(value.message);\n\t\t\t\t\t\t\tthis._subscribeError(message);\n\t\t\t\t\t\t\tFieldHandler.setFieldError('tenantDomain', message);\n\t\t\t\t\t\t\treturn\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet xhr = new XMLHttpRequest();\n\t\t\t\t\t\t\txhr.open('POST', url);\n\t\t\t\t\t\t\txhr.setRequestHeader('accept', 'application/json');\n\t\t\t\t\t\t\txhr.onload = () => {\n\t\t\t\t\t\t\t\tif (xhr.status === 201) {\n\t\t\t\t\t\t\t\t\tlet targetUri = xhr.getResponseHeader('location');\n\t\t\t\t\t\t\t\t\tlet tenantId = xhr.responseText.replace(/\"/g, '');\n\t\t\t\t\t\t\t\t\tconsole.log('create new tenant success');\n\t\t\t\t\t\t\t\t\tthis._modalUpdateCreatedTenant(targetUri, tenantId, orgaId);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tconsole.error('create new tenant failed: ' + xhr.responseText);\n\t\t\t\t\t\t\t\t\tbtnSubscribe.removeAttribute('disabled');\n\t\t\t\t\t\t\t\t\tthis._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous'));\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\txhr.send();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tFieldHandler.setFieldError('tenantDomain', this._i18n.getTranslation('tenant_subdomain_error_unexpected_error'));\n\t\t\t\t\tconsole.error(response.statusText);\n\t\t\t\t\tbtnSubscribe.removeAttribute('disabled');\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous'));\n\t\t\t\t}\n\t\t\t}).catch(error => {\n\t\t\tFieldHandler.setFieldError('tenantDomain', this._i18n.getTranslation('tenant_subdomain_error_unexpected_error'));\n\t\t\tconsole.error(error);\n\t\t\tbtnSubscribe.removeAttribute('disabled');\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous'));\n\t\t});\n\t};\n\n\tprivate _modalUpdateCreatedTenant = (url: string, tenantId: string, orgaId: string) => {\n\t\tconst data = {\n\t\t\ttenant: {\n\t\t\t\tid:tenantId,\n\t\t\t\tdomainName:FieldHandler.getFieldValue('tenantDomainValue'),\n\t\t\t\torganizationId:orgaId\n\t\t\t}\n\t\t};\n\t\tlet xhr = new XMLHttpRequest();\n\t\txhr.open('PUT', url);\n\t\txhr.setRequestHeader('accept', 'application/json');\n\t\txhr.onload = () => {\n\t\t\tif (xhr.status === 200) {\n\t\t\t\tconsole.log('update tenant success');\n\t\t\t\tthis._modalSubscribeApp(tenantId);\n\t\t\t} else {\n\t\t\t\tconsole.error('update created tenant failed: '+xhr.responseText);\n\t\t\t\tlet btnSubscribe = document.getElementById('modalSubscribeBtnSubscribe');\n\t\t\t\tif(btnSubscribe){\n\t\t\t\t\tbtnSubscribe.removeAttribute('disabled');\n\t\t\t\t}\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous'));\n\t\t\t}\n\t\t};\n\t\txhr.send(JSON.stringify(data));\n\t};\n\n\tprivate _modalCreateOrganizationAndTenantAndSubscribe = (url: string):void => {\n\t\tthis._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_organization'));\n\t\tlet orgaName = FieldHandler.getFieldValue('orgaName');\n\t\tlet dto: create_orga_request_dto = {\n\t\t\tname: orgaName\n\t\t};\n\t\tlet xhr = new XMLHttpRequest();\n\t\txhr.open('POST', url);\n\t\txhr.setRequestHeader('accept', 'application/json');\n\t\txhr.onload = ()=> {\n\t\t\tif (xhr.status === 201) {\n\t\t\t\tlet targetUri = xhr.getResponseHeader('location');\n\t\t\t\tlet orgaId = xhr.responseText.replace(/\"/g, '');\n\t\t\t\tconsole.log('create new organization success.');\n\t\t\t\tthis._modalCreateTenantAndSubscribe(targetUri, orgaId);\n\t\t\t} else {\n\t\t\t\tconsole.error('create new organisation failed: '+xhr.responseText);\n\t\t\t\tlet btnSubscribe = document.getElementById('modalSubscribeBtnSubscribe');\n\t\t\t\tif(btnSubscribe){\n\t\t\t\t\tbtnSubscribe.removeAttribute('disabled');\n\t\t\t\t}\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_error_miscellaneous'));\n\t\t\t}\n\t\t};\n\t\txhr.send(JSON.stringify(dto));\n\t};\n\n\tprivate _inputIsEmpty = (inputId:string): boolean => {\n\t\treturn FieldHandler.getFieldValue(inputId).isNullOrEmpty();\n\t};\n\n private _subscribeStartAnimation = (message:string) => {\n \tif (!this._animationActive) {\n \t\tthis._closeSubscribeAnimationControls();\n\t\t\tthis._startAnimation();\n\t\t\tthis._openSubscribeAnimation();\n\t\t\tthis._animationActive = true;\n\t\t}\n this._setSubscribeAnimationMessage(message);\n };\n\n\tprivate _subscribeSuccess = (message: string, targetUrl: string) => {\n\t\tconst btn = document.createElement('a');\n\t\tbtn.href = targetUrl;\n\t\tbtn.target = '_blank';\n\t\tbtn.innerHTML = this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_btn_goto_cloud');\n\n\t\tconst secondsToWaitForIDP = 15;\n\t\tsetTimeout(() => {\n\t\t\tthis._setSubscribeAnimationMessageAndButton(message, btn).then(() => {\n\t\t\t\tthis._animationSuccess();\n\t\t\t\tthis._openSubscribeAnimationControls();\n\t\t\t});\n\t\t}, secondsToWaitForIDP * 1000);\n\t};\n\n\tprivate _subscribeError = (message: string) => {\n\t\tconst btn = document.createElement('button');\n\t\tbtn.innerHTML = this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_btn_back');\n\t\tbtn.addEventListener('click', () => {\n\t\t\tthis._closeSubscribeAnimationControls();\n\t\t\tthis._closeSubscribeAnimation();\n\t\t\tthis._setSubscribeButtonDisabledState(false);\n\t\t});\n\n\t\tthis._setSubscribeAnimationMessageAndButton(message, btn).then(() => {\n\t\t\tthis._animationError();\n\t\t\tthis._openSubscribeAnimationControls();\n\t\t});\n\t};\n\n\tprivate _setSubscribeAnimationMessageAndButton = (message: string, newElement: HTMLButtonElement | HTMLAnchorElement): Promise => {\n\t\treturn new Promise((resolve) => {\n\t\t\tthis._setSubscribeAnimationMessage(message);\n\t\t\tthis._replaceSubscribeAnimationButton(newElement);\n\t\t\tresolve();\n\t\t});\n\t};\n\n\tprivate _setSubscribeAnimationMessage = (message: string) => {\n\t\tconst h = document.getElementById('modalSubscribeAnimation-message');\n\t\th.innerHTML = message;\n\t};\n\n\tprivate _replaceSubscribeAnimationButton = (newElement: HTMLButtonElement | HTMLAnchorElement) => {\n\t\tconst button = document.getElementById('modalSubscribeAnimation-button');\n\t\tnewElement.id = button.id;\n\t\tnewElement.type = button.type;\n\t\tArray.apply(null, button.classList).forEach((c) => {\n\t\t\tnewElement.classList.add(c);\n\t\t});\n\t\tbutton.replaceWith(newElement);\n\t};\n\n\tprivate _setAnimationImageSource = (src: string, spin: boolean) => {\n\t\tconst image = document.getElementById('modalSubscribeAnimation-icon');\n\t\timage.src = src;\n\t\tspin ? image.classList.add('dv-spin') : image.classList.remove('dv-spin');\n\t};\n\n\tprivate _startAnimation = () => {\n\t\tconst src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/2c5098e9-52ee-44c2-ba65-19f19d9fe535';\n\t\tthis._setAnimationImageSource(src, true);\n\t\tthis._animationActive = true;\n\t};\n\n\tprivate _animationSuccess = () => {\n\t\tconst src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/9e332407-d3cf-442f-a01a-9037976519ab';\n\t\tthis._setAnimationImageSource(src, false);\n\t\tthis._animationActive = false;\n\t};\n\n\tprivate _animationError = () => {\n\t\tconst src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/bd28bb14-20e4-47ae-8a7d-688b56ed5eda';\n\t\tthis._setAnimationImageSource(src, false);\n\t\tthis._setSubscribeButtonDisabledState(false);\n\t\tthis._animationActive = false;\n\t};\n\n\tprivate _openSubscribeAnimationControls = () => {\n\t\tconsole.log('Open animation controls');\n\t\tconst controls = document.getElementById('modalSubscribeAnimation-controls');\n\t\tcontrols.classList.add('in');\n\t};\n\n\tprivate _closeSubscribeAnimationControls = () => {\n\t\tconst controls = document.getElementById('modalSubscribeAnimation-controls');\n\t\tcontrols.classList.remove('in');\n\t};\n\n\tprivate _openSubscribeAnimation = () => {\n\t\t(document.getElementById('modalSubscribeAnimation-container')).classList.add('in');\n\t\t(document.getElementById('modalSubscribeProviderInfo-container')).classList.remove('in');\n\t};\n\n\tprivate _closeSubscribeAnimation = () => {\n\t\t(document.getElementById('modalSubscribeAnimation-container')).classList.remove('in');\n\t\t(document.getElementById('modalSubscribeProviderInfo-container')).classList.add('in');\n\t};\n\n\tprivate _setSubscribeButtonDisabledState = (disable: boolean) => {\n\t\tlet btnSubscribe = document.getElementById('modalSubscribeBtnSubscribe');\n\t\tif (btnSubscribe) {\n\t\t\tbtnSubscribe.disabled = disable;\n\t\t}\n\t};\n}\n\n\nexport interface subscriptionRequestDto {\n\taction:string\n\ttenantId:string\n\tappName:string\n}\n\nexport interface create_tenant_request_dto{\n\ttenant: create_tenant_details\n}\n\nexport interface create_tenant_details {\n\tid: string;\n\tdomainName: string;\n\torganizationId: string;\n}\n", "import {i18n} from \"./i18n\";\nimport UrlHelpers from \"./url\";\n\nimport * as mdc from \"material-components-web\";\nimport {MediamanagerFileInputHandler} from \"./mediamanagerFileInput\";\n\n\nexport class ConfigTerms {\n private _dapi: Dapi = (window).dapi;\n private _i18n: i18n = new i18n();\n\n constructor() {\n this._loadMaterial();\n this._loadEventListeners();\n\n if (this._dapi.isMainResource()) {\n this._dapi.publishLocation(location.href);\n }\n }\n\n private _loadMaterial = () => {\n const uLists = document.querySelectorAll('.mdc-list');\n if (uLists) {\n uLists.forEach((list) => {\n mdc.list.MDCList.attachTo(list);\n });\n }\n };\n\n private _loadEventListeners = () => {\n const listItems = document.querySelectorAll('.mdc-list-item');\n if (listItems) {\n Array.apply(null, listItems).forEach((li: HTMLLIElement) => {\n li.addEventListener('click', this._showDocument);\n });\n }\n\n const uploadButtons = document.querySelectorAll('.config-upload');\n if (uploadButtons) {\n Array.apply(null, uploadButtons).forEach((button: HTMLButtonElement) => {\n button.addEventListener('click', this._saveTemplate);\n })\n }\n\n const deleteButtons = document.querySelectorAll('.config-delete');\n if (deleteButtons) {\n Array.apply(null, deleteButtons).forEach((button: HTMLButtonElement) => {\n button.addEventListener('click', this._deleteTemplate);\n })\n }\n };\n\n private _makeRequest = (url: string, method: HTTPMethods, data: any, headers: HeadersInit, wantStatus: number, cbSuccess: ()=>void, cbError: (string)=>void) => {\n if (!url || url ===\"\") {\n console.warn('Parameter \"url\" was empty or null');\n return;\n }\n console.info(`Request ${method} with target: ${url}`);\n fetch(url, {\n method: method,\n body: JSON.stringify(data),\n headers: headers,\n credentials: \"same-origin\"\n }).then(r => {\n if (r.status != wantStatus) {\n if (cbError) {\n console.info(`Response of request ${method} unexpected: Want status ${wantStatus}, got `, status);\n cbError(r.status);\n }\n return;\n }\n if (cbSuccess) {\n cbSuccess();\n }\n }).catch(e => {\n console.error(`Error: `, e);\n if (cbError) {\n cbError(e.toString());\n }\n });\n };\n\n private _saveTemplate = (e: Event) => {\n let mmInput = document.getElementById('config_template_mediamanager_input');\n if (!mmInput) {\n console.error('Cannot find element with ID \"config_template_mediamanager_input\"');\n return;\n }\n const targetParent = (e.target).parentElement;\n if (!targetParent || !targetParent.hasAttribute(DataAttributes.KEY)) {\n console.warn('Cannot find parent of target or data-attribute: ', (e.target).id);\n return;\n }\n //replace input to clear event listeners so the input won't have multiple event listener of the same kind\n mmInput = this._replaceAndClearInput(mmInput);\n this._initializeMediaManager(mmInput, (source) => {\n this._patchRequest(targetParent.getAttribute(DataAttributes.KEY), source, () => {\n targetParent.setAttribute(DataAttributes.VALUE, source);\n this._showUploadSuccess();\n }, this._showUploadFailed);\n });\n mmInput.dispatchEvent(new MouseEvent('click'));\n };\n\n private _deleteTemplate = (e: Event) => {\n const targetParent = (e.target).parentElement;\n if (!targetParent || !targetParent.hasAttribute(DataAttributes.KEY) || !targetParent.hasAttribute(DataAttributes.VALUE)) {\n console.log('Cannot find parent of target or data-attribute: ', (e.target).id);\n return;\n }\n this._deleteRequest(targetParent.getAttribute(DataAttributes.KEY), targetParent.getAttribute(DataAttributes.VALUE), () => {\n targetParent.setAttribute(DataAttributes.VALUE, \"\");\n this._showDeleteSuccess();\n }, this._showDeleteFailed);\n };\n\n private _deleteRequest = (key: string, value: string, cbSuccess: ()=>void, cbError: (string)=>void) => {\n this._configApiRequest(HTTPMethods.DELETE, key, value, cbSuccess, cbError);\n };\n\n private _patchRequest = (key: string, value: string, cbSuccess: ()=>void, cbError: (string)=>void) => {\n this._configApiRequest(HTTPMethods.PATCH, key, value, cbSuccess, cbError);\n };\n\n private _configApiRequest = (method: HTTPMethods, key: string, value: string, cbSuccess: ()=>void, cbError: (string)=>void) => {\n if (!key || key === \"\") {\n console.warn('Parameter \"key\" was empty or null');\n return;\n }\n if (!value || value === \"\") {\n console.warn('Parameter \"value\" was empty or null');\n return;\n }\n const url = this._getUrl();\n if (!url || url === \"\") {\n console.warn('URL was empty or null');\n return;\n }\n this._makeRequest(url, method, {\n key: key,\n value: value\n }, {\n 'accept': 'application/json',\n 'content-type': 'application/json'\n }, 200, cbSuccess, cbError);\n };\n\n private _initializeMediaManager = (input: HTMLInputElement, cb: (string)=>void) => {\n if (!input) {\n console.warn('Parameter \"input\" was empty or null');\n }\n new MediamanagerFileInputHandler(input, (source) => {\n if (cb) {\n cb(source);\n }\n });\n };\n\n private _replaceAndClearInput = (input: HTMLInputElement): HTMLInputElement => {\n const clone= input.cloneNode(true);\n clone.value = \"\";\n input.parentNode.replaceChild(clone, input);\n return clone;\n };\n\n private _showNotification = (id: string, message: string) => {\n let div = document.getElementById(id);\n if (div) {\n let bar = new mdc.snackbar.MDCSnackbar(div);\n bar.labelText = message;\n bar.closeOnEscape = true;\n bar.open();\n }\n };\n\n private _showUploadSuccess = () => {\n this._showNotification('config-notification', this._i18n.getTranslation('config_terms_notificaton_success'));\n };\n\n private _showUploadFailed = (message:string) => {\n if (message) {\n console.warn(\"Upload request failed. Message: \", message);\n }\n this._showNotification('config-notification', this._i18n.getTranslation('config_terms_notificaton_failed'));\n };\n\n private _showDeleteSuccess = () => {\n this._showNotification('config-notification', this._i18n.getTranslation('config_terms_notificaton_success_delete'));\n };\n\n private _showDeleteFailed = (message:string) => {\n if (message) {\n console.warn(\"Delete request failed. Message: \", message);\n }\n this._showNotification('config-notification', this._i18n.getTranslation('config_terms_notificaton_failed_delete'))\n };\n\n private _showDocument = (e: Event) => {\n const target = e.target;\n const attIdent = DataAttributes.VALUE;\n if (target.hasAttribute(attIdent) && target.getAttribute(attIdent).length > 0) {\n window.open(target.getAttribute(attIdent));\n }\n };\n\n private _getUrl = (): string => {\n return UrlHelpers.getLinkRelHref('self');\n };\n}\n\nenum DataAttributes {\n KEY = 'data-key',\n VALUE = 'data-template'\n}\n\nenum HTTPMethods {\n GET = 'GET',\n POST = 'POST',\n PUT = 'PUT',\n DELETE = 'DELETE',\n PATCH = 'PATCH'\n}\n", "import UrlHelpers from \"./url\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {isDomainValid, isOnlyText} from \"./validation\";\nimport {i18n} from \"./i18n\";\nimport {MaterialHelpers} from \"./materialHelpers\";\nimport * as mdc from \"material-components-web\";\nimport {autoInit} from \"material-components-web\";\nimport {errorDto} from \"./errorHandler\";\n\nexport class OrderWizard {\n\n private readonly _i18n: i18n = new i18n();\n\n private readonly _btnNextPrefix = \"btnNext_\";\n private _isDomainCheckRunning: boolean = false;\n private _domainCheckTimerMS: number = 750;\n\n private readonly _isSysAdmin: boolean;\n private readonly _isNewUser: boolean;\n private readonly _isMultiOrgaUser: boolean;\n\n private _selectedOrganizationId: string;\n\n private _selectedTenantId: string;\n private _selectedTenantDomain: string;\n private _deselectedTenant: {id: string, domain: string};\n private _selectedTenantListItem: HTMLLIElement;\n\n private _currentStep: OrderWizardPages;\n private _previousSteps: OrderWizardPages[];\n\n private _animationActive = false;\n private _debugEnabled: boolean = false;\n\n private _createOrganizationInputIds = ['organame', 'firstname', 'lastname', 'address', 'zip', 'city', 'taxnumber'];\n\n constructor() {\n this._debugEnabled = window.location.href.indexOf('cloudcenter-testing') != -1;\n this._isSysAdmin = UrlHelpers.getMetaData('sysAdmin') === \"1\";\n this._previousSteps = new Array();\n\n this._isNewUser = UrlHelpers.getMetaData('isNewUser') === \"1\";\n this._isMultiOrgaUser = Array.apply(null, document.querySelectorAll('.wizardPage__existingOrganization--listitem')).length > 1;\n\n this._userDependentFirstPage();\n\n window.addEventListener(\"scroll\", this._handleScrollShadow);\n\n this._enableSubscription();\n this._loadCookie();\n\n if (this._selectedTenantId) {\n console.info(`tenant id ${this._selectedTenantId} found. Goto app subscription summary`);\n this._currentStep = OrderWizardPages.AppSubscriptionSummary;\n if (this._currentTenantHasAppAlready()) {\n this._disableSubscription();\n }\n }\n\n this._addBtnPrevHandlers();\n this._addBtnNextHandlers();\n this._prepareTenantLists();\n this._addBtnDocumentMenu();\n const btnCreateTenant = document.getElementById('btnCreateNewTenant');\n if (btnCreateTenant) {\n btnCreateTenant.addEventListener('click', this._handle_createNewTenant);\n }\n\n (document.getElementById('domain')).addEventListener('keyup', this._handle_domainvalidation);\n Array.apply(null, document.querySelectorAll('.app-info-button')).forEach((infoButton: HTMLButtonElement) => {\n infoButton.addEventListener('click', (e: Event) => {\n const modalTargetId = (e.target).dataset.targetModal;\n const modalTarget = document.getElementById(modalTargetId);\n const dialog = new mdc.dialog.MDCDialog(modalTarget);\n dialog.open();\n });\n });\n\n autoInit();\n\n this._initCreateOrganizationFields();\n\n if (!this._isNewUser) {\n const list = new mdc.list.MDCList(document.getElementById('existingOrganizationList'));\n list.singleSelection = true;\n list.listen(\"click\", this._handle_selectOrganization);\n\n const tenantLists = document.querySelectorAll('.wizardPage__tenantSelection--list');\n\n Array.apply(null, tenantLists).forEach((tenantList: HTMLUListElement) => {\n const mdcList = new mdc.list.MDCList(tenantList);\n mdcList.singleSelection = true;\n mdcList.listen('click', this._handle_selectTenant);\n });\n\n this._addBtnCreateNewHandlers();\n }\n window.addEventListener('load', () => {\n this._navigateStep(this._currentStep);\n });\n }\n\n private _userDependentFirstPage = () => {\n if (this._isNewUser) {\n this._newUserCheckout();\n (document.getElementById('btnChangeTenant')).addEventListener('click', () => {\n this._changeSelectionButtonHandler(OrderWizardPages.CreateTenant);\n });\n return;\n }\n if (this._isMultiOrgaUser) {\n this._multipleOrganisationUserCheckout();\n (document.getElementById('btnChangeTenant')).addEventListener('click', () => {\n this._changeSelectionButtonHandler(OrderWizardPages.ExistingOrganization);\n });\n return;\n }\n this._singleOrganisationUser();\n (document.getElementById('btnChangeTenant')).addEventListener('click', () => {\n this._changeSelectionButtonHandler(OrderWizardPages.ExistingTenant);\n });\n };\n\n private _newUserCheckout = () => {\n FieldHandler.setFieldValue('organame', this._i18n.getTranslation('default_organisation_name_my_systems'), true);\n this._currentStep = OrderWizardPages.CreateTenant;\n }\n\n private _multipleOrganisationUserCheckout = () => {\n this._currentStep = OrderWizardPages.ExistingOrganization;\n };\n\n private _singleOrganisationUser = () => {\n const orgaListItems = Array.apply(null, document.querySelectorAll('.wizardPage__existingOrganization--listitem'));\n this._selectedOrganizationId = orgaListItems[0].id;\n const tenantListItems = Array.apply(null, document.querySelectorAll('.wizardPage__tenantSelection--list-item'));\n //multi tenant checkout\n if (tenantListItems.length > 1) {\n this._currentStep = OrderWizardPages.ExistingTenant;\n this._showTenantListForOrga(this._selectedOrganizationId);\n return;\n }\n //no tenant checkout\n if (tenantListItems.length < 1) {\n this._currentStep = OrderWizardPages.CreateTenant;\n return;\n }\n //single tenant checkout\n const tenant = tenantListItems[0];\n this._tenantSelected(tenant.id, tenant.dataset.domain);\n this._currentStep = OrderWizardPages.AppSubscriptionSummary;\n };\n\n private _initCreateOrganizationFields = () => {\n this._createOrganizationInputIds.forEach((id) => {\n const element = document.getElementById(id);\n element.addEventListener(\"keyup\", (e: KeyboardEvent) => {\n const target = e.currentTarget;\n this._validateMaterialInput(target.id);\n let allOrgaInputsValid = true;\n this._createOrganizationInputIds.forEach((id) => {\n let currentElement = document.getElementById(`${id}_container`);\n if (currentElement.classList.contains('mdc-text-field--invalid')) {\n allOrgaInputsValid = false;\n }\n });\n this._nextButtonDisable(!allOrgaInputsValid);\n })\n });\n };\n\n private _getPricingInformationWithRetries = (url: string, retries: number): Promise => {\n console.log(\"Fetching for price information - remaining retries: \", retries - 1);\n const language = navigator.language == 'de' || navigator.language == 'de-DE' ? 'de' : 'en';\n let req = new Request(url, {\n method: 'GET',\n headers: {\n \"accept\": \"text/html\",\n \"accept-language\": language\n },\n credentials: 'same-origin',\n });\n return fetch(req).then(response => {\n if (!response.ok) {\n throw new Error(`get pricing information failed with status ${response.status}: ${response.statusText}`);\n }\n return response.text().then(html => {\n return html;\n }, rejected => {\n throw new Error(`cannot get response text: ${rejected}`);\n });\n }).catch(error => {\n if (retries < 2) {\n throw error\n }\n return this._getPricingInformationWithRetries(url, retries - 1);\n });\n };\n\n private _addBtnPrevHandlers = () => {\n let btnPrevious = document.querySelectorAll('.btnPagePrevious');\n Array.apply(null, btnPrevious).forEach((btn) => {\n btn.addEventListener('click', this._handle_prev);\n });\n };\n\n private _addBtnDocumentMenu = () => {\n let btnMenu = document.querySelectorAll('.wizardPage__summary-app-card__action');\n Array.apply(null, btnMenu).forEach((btn) => {\n if (!btn.hasAttribute('disabled')) {\n btn.addEventListener('click', this._handle_documentMenu);\n }\n });\n };\n\n private _addBtnNextHandlers = () => {\n (document.getElementById(`${this._btnNextPrefix}createOrga`)).addEventListener('click', this._handle_createOrga_next);\n (document.getElementById(`${this._btnNextPrefix}createTenant`)).addEventListener('click', this._handle_createTenant_next);\n (document.getElementById(`${this._btnNextPrefix}appSubscriptionSummary`)).addEventListener('click', this._handle_appSubscriptionSummary_next);\n (document.getElementById(`${this._btnNextPrefix}existingOrga`)).addEventListener('click', this._handle_existingOrga_next);\n (document.getElementById(`${this._btnNextPrefix}existingTenant`)).addEventListener('click', this._handle_existingTenant_next);\n };\n\n private _addBtnCreateNewHandlers = () => {\n (document.getElementById('btnCreateNewOrga')).addEventListener('click', this._handle_createNewOrganization);\n };\n\n private _handle_documentMenu = (e: Event): void => {\n const current = e.currentTarget;\n const menuId = current.dataset.menu;\n const menuElement = document.getElementById(menuId);\n if (menuElement) {\n const menu = new mdc.menu.MDCMenu(menuElement);\n if (menu.open) {\n menu.open = false;\n } else {\n if (menu.items.length > 0) {\n menu.open = true;\n }\n }\n }\n };\n\n private _handle_prev = (): void => {\n let prev = this._previousSteps.pop();\n if (prev === OrderWizardPages.AppSubscriptionSummary) {\n // if (!this._selectedTenantId) {\n // if (this._currentStep != OrderWizardPages.ExistingTenant || (this._currentStep == OrderWizardPages.ExistingTenant && !this._selectedTenantDomain)) {\n // const tenantIdFromCookie = this._getCookie('tenantId');\n // const tenantElement = document.getElementById(tenantIdFromCookie);\n // this._selectedTenantId = '';\n // this._selectedTenantDomain = '';\n // if (tenantElement && tenantIdFromCookie) {\n // this._selectedTenantId = tenantIdFromCookie;\n // this._selectedTenantDomain = tenantElement.dataset['domain'];\n // }\n // }\n // }\n // if (!this._selectedOrganizationId) {\n // this._selectedOrganizationId = this._getCookie('organizationId');\n // const orgaElement = document.getElementById(this._selectedOrganizationId);\n // if (!orgaElement) {\n // this._selectedOrganizationId = \"\";\n // }\n // }\n if (this._currentTenantHasAppAlready()) {\n this._disableSubscription();\n }\n }\n if (this._currentStep == OrderWizardPages.CreateTenant && prev == OrderWizardPages.ExistingTenant) {\n this._undoDeselectTenant();\n }\n this._clear_user_interaction(this._currentStep, prev);\n this._currentStep = prev;\n this._navigateStep(prev);\n };\n\n private _clear_user_interaction = (currentstep: OrderWizardPages, prevStep: OrderWizardPages): void => {\n switch (currentstep) {\n case OrderWizardPages.CreateOrganization:\n if (prevStep === OrderWizardPages.ExistingOrganization) {\n const textFieldIds = ['domain', 'organame', 'firstname', 'lastname', 'address', 'zip', 'city', 'taxnumber'];\n textFieldIds.forEach((id) => {\n MaterialHelpers.setTextFieldValue(`${id}_container`, '');\n });\n MaterialHelpers.removeTextFieldHelperText('domain_container');\n this._nextButtonDisable(true, OrderWizardPages.CreateTenant);\n }\n break;\n case OrderWizardPages.CreateTenant:\n if (prevStep === OrderWizardPages.ExistingTenant) {\n MaterialHelpers.setTextFieldValue('domain_container', '');\n MaterialHelpers.removeTextFieldHelperText('domain_container');\n this._nextButtonDisable(true, OrderWizardPages.CreateTenant);\n }\n break;\n }\n };\n\n private _handle_createOrga_next = (e: any): void => {\n if (this._areOrgaInputFieldsValid()) {\n const next = OrderWizardPages.CreateTenant;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n } else {\n console.error('Any organization fields are invalid. Please check!');\n }\n };\n\n private _handle_createTenant_next = (e: any): void => {\n this._hideBasisApp(false);\n this._enableSubscription();\n this._nextButtonDisable(false, OrderWizardPages.AppSubscriptionSummary);\n //mark: bugfix/clc-1113\n this._tenantSelected('', `https://${FieldHandler.getFieldValue('domain')}.d-velop.cloud`);\n const next = OrderWizardPages.AppSubscriptionSummary;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n };\n\n private _handle_appSubscriptionSummary_next = (e: any): void => {\n const next = OrderWizardPages.PrepairTenant;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n this._handle_subscribe();\n if (UrlHelpers.getMetaData(\"gtmActive\") && !this._isSysAdmin) {\n this._googleTagManagerEvent();\n }\n };\n\n private _googleTagManagerEvent = () => {\n if (!UrlHelpers.getMetaData(\"gtmActive\") || this._isSysAdmin) {\n return;\n }\n\n const transactionProducts = [];\n let apps = Array.apply(null, document.querySelectorAll('.dvApp'));\n\n for (const el of apps) {\n if (!el.dataset.approved) {\n return;\n }\n transactionProducts.push({\n 'sku': el.dataset['appname'],\n 'name': el.dataset['displayname'],\n 'category': 'Allgemein',\n 'price': 0.00,\n 'quantity': 1\n });\n }\n\n if (transactionProducts.length < 1) {\n return;\n }\n\n let affiliate = UrlHelpers.getQueryParameter(window.location.href, 'affiliate') || 'cloudcenter';\n\n const transactionId = `${this._selectedTenantId}-${this._getTimestamp()}`;\n\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n const event = {\n 'event': 'orderCompleted',\n 'transactionId': transactionId, // Transaction ID. Required for purchases and refunds. //BestellID / Rechnungsnummer (bis dahin tenant id + timestamp)\n 'transactionTotal': 0.00, // Total transaction value (incl. tax and shipping)\n 'transactionTax': 0.00,\n 'transactionShipping': 0,\n 'transactionAffiliation': affiliate,\n 'transactionProducts': transactionProducts\n };\n // @ts-ignore\n window.dataLayer.push(event);\n };\n\n private _googlePageView = (target: OrderWizardPages) => {\n //mark: deactive to prevent colliding page view funnels from new wizard\n return;\n // if (!UrlHelpers.getMetaData(\"gtmActive\") || this._isSysAdmin) {\n // return;\n // }\n //\n // const mapping = this._getGoogleAnalyticsKey(target);\n // console.log(`setting page for \"${target}\" as \"${mapping.pagePath}\"`);\n // // @ts-ignore\n // window.dataLayer = window.dataLayer || [];\n // // @ts-ignore\n // window.dataLayer.push({\n // 'event': 'Pageview',\n // 'pagePath': mapping.pagePath,\n // 'pageTitle': mapping.pageTitle\n // });\n };\n\n private _getGoogleAnalyticsKey = (pageKey: OrderWizardPages): GoogleTagManagerMapping => {\n let keyMap: { [key: string]: GoogleTagManagerMapping } = {};\n keyMap[OrderWizardPages.ExistingOrganization] = {pagePath: '/center/subscription/selectOrganization', pageTitle: 'Select Organization'};\n keyMap[OrderWizardPages.CreateOrganization] = {pagePath: '/center/subscription/newOrganization', pageTitle: 'New Organization'};\n keyMap[OrderWizardPages.ExistingTenant] = {pagePath: '/center/subscription/selectTenant', pageTitle: 'Select Tenant'};\n keyMap[OrderWizardPages.CreateTenant] = {pagePath: '/center/subscription/newTenant', pageTitle: 'New Tenant'};\n keyMap[OrderWizardPages.AppSubscriptionSummary] = {pagePath: '/center/subscription/summary', pageTitle: 'Summary'};\n keyMap[OrderWizardPages.PrepairTenant] = {pagePath: '/center/subscription/finish', pageTitle: 'Finish'};\n return keyMap[pageKey] || {pagePath: '/', pageTitle: 'unknown'};\n };\n\n private _getTimestamp = (): string => {\n const d = new Date();\n const year = d.getFullYear().toString();\n const month = d.getMonth() + 1 < 10 ? \"0\" + (d.getMonth() + 1).toString() : (d.getMonth() + 1).toString();\n const day = d.getDate() < 10 ? \"0\" + d.getDate().toString() : d.getDate().toString();\n const hours = d.getHours() < 10 ? \"0\" + d.getHours().toString() : d.getHours().toString();\n const minutes = d.getMinutes() < 10 ? \"0\" + d.getMinutes().toString() : d.getMinutes().toString();\n const seconds = d.getSeconds() < 10 ? \"0\" + d.getSeconds().toString() : d.getSeconds().toString();\n const milliseconds = d.getMilliseconds() < 10 ? \"0\" + d.getMilliseconds().toString() : d.getMilliseconds().toString();\n return (year + month + day + hours + minutes + seconds + milliseconds.slice(0, 2));\n };\n\n private _navigateStep = (targetId: OrderWizardPages) => {\n const pages = Array.apply(null, document.querySelectorAll('.wizardPage'));\n pages.forEach((page) => {\n if (page.id === targetId) {\n page.classList.add('current');\n } else {\n page.classList.remove('current');\n }\n });\n\n const header = document.getElementById('orderWizardMainHeader');\n if (targetId === OrderWizardPages.AppSubscriptionSummary) {\n header.innerText = this._i18n.getTranslation('order_wizard_section_subscriptionSummary_title');\n document.getElementById('appSubscriptionSummary_tenant_domain').innerText = this._selectedTenantDomain;\n if (this._selectedTenantId) {\n const tenantElement = document.getElementById(this._selectedTenantId);\n if (tenantElement && tenantElement.hasAttribute('aria-disabled')) {\n this._nextButtonDisable(true, OrderWizardPages.AppSubscriptionSummary);\n }\n }\n } else {\n header.innerText = this._i18n.getTranslation('order_wizard_header_text');\n }\n\n if (this._previousSteps.length < 1) {\n this._hidePreviousButton(targetId);\n } else {\n this._hidePreviousButton(targetId, false);\n }\n\n this._handleScrollShadow();\n this._googlePageView(targetId)\n };\n\n private _areOrgaInputFieldsValid = (): boolean => {\n // const inputs = ['organame', 'firstname', 'lastname', 'address', 'zip', 'city', 'taxnumber'];\n const inputs = this._createOrganizationInputIds;\n let allValid = true;\n inputs.forEach((id: string) => {\n if (!this._validateMaterialInput(id)) {\n allValid = false;\n }\n });\n if (allValid) {\n this._nextButtonDisable(false)\n } else {\n this._nextButtonDisable();\n }\n return allValid;\n };\n\n private _validateMaterialInput = (inputId: string): boolean => {\n let inputValue = (document.getElementById(inputId)).value;\n // const helperTextId = `${inputId}HelperText`;\n const containerId = `${inputId}_container`;\n if (inputValue.isNullOrEmpty()) {\n MaterialHelpers.setTextFieldHelperText(containerId, this._i18n.getTranslation('order_wizard_error_field_empty_message'), true);\n return false;\n }\n if (!isOnlyText(inputValue)) {\n MaterialHelpers.setTextFieldHelperText(containerId, this._i18n.getTranslation('order_wizard_error_field_invalid_char_message'), true);\n return false;\n }\n MaterialHelpers.removeTextFieldHelperText(containerId);\n return true;\n };\n\n private _handle_domainvalidation = () => {\n if (!this._isDomainCheckRunning) {\n this._nextButtonDisable();\n let spin: string = `
    autorenew ${this._i18n.getTranslation('tenant_checkdomain_btn_save_waittitle')}
    `;\n MaterialHelpers.setTextFieldHelperTextWithHtmlContent('domain_container', 'domainHelperText', spin, false);\n this._isDomainCheckRunning = true;\n\n let domain = FieldHandler.getFieldValue('domain');\n setTimeout(() => {\n this._domainUpdatedCheck(domain);\n }, this._domainCheckTimerMS);\n }\n };\n\n private _domainUpdatedCheck = (domain: string) => {\n let domainUpdated = FieldHandler.getFieldValue('domain');\n if (domain !== domainUpdated) {\n setTimeout(() => {\n this._domainUpdatedCheck(domainUpdated);\n }, this._domainCheckTimerMS);\n } else {\n this._isDomainValid(domainUpdated);\n }\n };\n\n private _isDomainValid = (domain: string) => {\n // regex check\n if (!isDomainValid(domain)) {\n console.error('domain field contains invalid characters for domain');\n return;\n }\n\n let url = UrlHelpers.getLinkRelHref('domainCheck');\n let req = new Request(url, {\n method: 'post',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n domain: domain,\n tenantId: ''\n }),\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status === 200) {\n let result = response.json();\n result.then(value => {\n if (value.exists) {\n let domainUpdated = FieldHandler.getFieldValue('domain');\n if (domainUpdated === domain) {\n let message: string;\n if (value.message === \"Domain already exists.\") {\n message = this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist');\n } else if (value.message === \"Domain is blacklisted.\") {\n message = this._i18n.getTranslation('tenant_subdomain_error_domain_is_blacklisted');\n } else if (value.message === \"Domain contains invalid characters.\") {\n message = this._i18n.getTranslation('tenant_subdomain_error_invalidchar');\n } else {\n message = this._i18n.getTranslation('tenant_subdomain_error_domain_already_exist');\n }\n console.error(value.message);\n MaterialHelpers.setTextFieldHelperText('domain_container', message, true);\n this._nextButtonDisable();\n this._isDomainCheckRunning = false;\n } else {\n this._isDomainValid(domainUpdated);\n }\n } else {\n let domainUpdated = FieldHandler.getFieldValue('domain');\n if (domainUpdated === domain) {\n let msg = `
    done ${this._i18n.getTranslation('tenant_subdomain_successs_message')}
    `;\n MaterialHelpers.setTextFieldHelperTextWithHtmlContent('domain_container', 'domainHelperText', msg, false);\n this._nextButtonDisable(false);\n this._isDomainCheckRunning = false;\n } else {\n this._isDomainValid(domainUpdated);\n }\n }\n })\n } else {\n let domainUpdated = FieldHandler.getFieldValue('domain');\n if (domainUpdated === domain) {\n MaterialHelpers.setTextFieldHelperText('domain_container', this._i18n.getTranslation('tenant_subdomain_error_unexpected_error'), true);\n this._isDomainCheckRunning = false;\n this._nextButtonDisable();\n } else {\n this._isDomainValid(domainUpdated);\n }\n }\n })\n .catch(error => {\n let domainUpdated = FieldHandler.getFieldValue('domain');\n if (domainUpdated === domain) {\n MaterialHelpers.setTextFieldHelperText('domain_container', this._i18n.getTranslation('tenant_subdomain_error_unexpected_error'), true);\n console.error(error);\n this._nextButtonDisable();\n } else {\n this._isDomainValid(domainUpdated);\n }\n });\n };\n\n private _nextButtonDisable = (disable: boolean = true, step: OrderWizardPages = OrderWizardPages.Current) => {\n let btnNextId = `${this._btnNextPrefix}${this._currentStep}`;\n if (step !== OrderWizardPages.Current) {\n btnNextId = `${this._btnNextPrefix}${step}`;\n }\n let btnNext = document.getElementById(btnNextId);\n if (disable) {\n btnNext.setAttribute('disabled', 'disabled');\n } else {\n btnNext.removeAttribute('disabled');\n }\n };\n\n private _handle_subscribe = () => {\n this.logDebug(\"_handle_subscribe called\");\n this._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_begin'));\n this._createOrga().then((orgaId: string) => {\n this._createTenant(orgaId).then((tenantId: string) => {\n this._subscribeApps(tenantId).then(() => {\n this.logDebug(`_handle_subscribe - orgaID: ${orgaId}, tenantID: ${tenantId}`);\n this._setCookie(this._selectedOrganizationId, this._selectedTenantId);\n this._subscribeSuccess(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_success'));\n }).catch((err) => {\n if (err) {\n console.error(err);\n this._subscribeError(this._i18n.getTranslation('order_wizard_error_appCouldNotBeSubscribed'));\n }\n return;\n });\n }).catch((err) => {\n console.error(err);\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_tenant_error'));\n return;\n });\n }).catch(() => {\n this.logDebug(\"_handle_subscribe - createOrga catch block\");\n this._subscribeError(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_organization_error'));\n return;\n });\n };\n\n private _createOrga = (): Promise => {\n return new Promise((resolve, reject) => {\n if (this._selectedOrganizationId) {\n resolve(this._selectedOrganizationId);\n return;\n }\n this._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_organization'));\n let url = UrlHelpers.getLinkRelHref('organizations');\n if (url.isNullOrEmpty()) {\n console.error('Cannot find link relation for \"organizations\"');\n }\n let orgaName = FieldHandler.getFieldValue('organame');\n if (!isOnlyText(orgaName)) {\n reject('organization name invalid');\n return;\n }\n let req = new Request(url, {\n method: 'POST',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n name: orgaName\n }),\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status === 201) {\n let orgaUrl = response.headers.get('location');\n response.json().then(value => {\n let orgaId = value.replace(/\"/g, '');\n this._selectedOrganizationId = orgaId;\n console.log(`create organization success. ID: ${orgaId}`);\n this._updateOrga(orgaId, orgaName, orgaUrl)\n .then(() => {\n resolve(orgaId);\n return;\n })\n .catch((error) => {\n reject(error);\n return;\n });\n });\n } else {\n response.json().then((value: errorDto) => {\n //todo: l\u00E4uft hier in fehler \"Organization name missing\"\n console.error(`create organization failed with status ${response.status}: ${value.description}`);\n reject(value.description);\n return;\n });\n }\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return;\n });\n reject(error);\n });\n });\n };\n\n private _updateOrga = (orgaId: string, orgaName: string, orgaUrl: string): Promise => {\n let promise = new Promise((resolve, reject) => {\n let address = FieldHandler.getFieldValue('address');\n let zip = FieldHandler.getFieldValue('zip');\n let city = FieldHandler.getFieldValue('city');\n let firstName = FieldHandler.getFieldValue('firstname');\n let lastName = FieldHandler.getFieldValue('lastname');\n let taxNumber = FieldHandler.getFieldValue('taxnumber');\n let req = new Request(orgaUrl, {\n method: 'PUT',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n organization: {\n id: orgaId,\n name: orgaName,\n street: address,\n zip: zip,\n city: city,\n contactFirstName: firstName,\n contactLastName: lastName,\n taxNumber: taxNumber\n }\n })\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status === 200) {\n console.log(`update organization ${orgaId} success`);\n resolve(orgaId);\n } else {\n response.json().then((value: errorDto) => {\n console.error(`update organization information failed with status ${response.status}: ${value.description}`);\n reject(value.description);\n return\n });\n reject(response.statusText);\n }\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return\n });\n reject(error);\n });\n });\n return promise;\n };\n\n private _createTenant = (orgaId: string): Promise => {\n return new Promise((resolve, reject) => {\n if (this._selectedTenantId) {\n resolve(this._selectedTenantId);\n return;\n }\n this._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_new_tenant'));\n let url = `${UrlHelpers.getLinkRelHref('organizations')}/${orgaId}`;\n let req = new Request(url, {\n method: 'POST',\n headers: {\n 'accept': 'application/json'\n },\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.status != 201) {\n response.json().then((value: errorDto) => {\n reject(value.description);\n return;\n });\n return;\n }\n let tenantUrl = response.headers.get('location');\n response.json().then(value => {\n console.info(value);\n let tenantId = value.replace(/\"/g, '');\n this._selectedTenantId = tenantId;\n this._updateTenant(orgaId, tenantId, tenantUrl).then((tenantId: string) => {\n resolve(tenantId);\n return;\n }).catch((error) => {\n reject(error);\n return;\n });\n });\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return;\n });\n reject(error);\n });\n })\n };\n\n private _updateTenant = (orgaId: string, tenantId: string, tenantUrl: string): Promise => {\n return new Promise((resolve, reject) => {\n let domain = FieldHandler.getFieldValue('domain');\n let req = new Request(tenantUrl, {\n method: 'PUT',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n tenant: {\n id: tenantId,\n organizationId: orgaId,\n domainName: domain,\n }\n })\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (!response.ok) {\n response.json().then((value: errorDto) => {\n reject(value.description);\n return;\n });\n return;\n }\n resolve(tenantId);\n return;\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return;\n });\n reject(error);\n return;\n });\n });\n };\n\n private _subscribeApps = (tenantId: string): Promise => {\n this._subscribeStartAnimation(this._i18n.getTranslation('tenantSubscriptionsItem_subscription_animation_message_subscription_subscribing_app'));\n return new Promise((resolve, reject) => {\n let apps = Array.apply(null, document.querySelectorAll('.dvApp'));\n for (let i = 0; i < apps.length; i++) {\n let app = apps[i];\n let appName = app.dataset['appname'];\n if (appName !== 'basis') {\n this._subscribeApp(tenantId, appName)\n .then(() => {\n resolve();\n })\n .catch((err) => {\n reject(err);\n });\n }\n }\n });\n };\n\n private _subscribeApp = (tenantId: string, appName: string): Promise => {\n let promise = new Promise(((resolve, reject) => {\n let url = UrlHelpers.getLinkRelHref('subscription');\n let req = new Request(url, {\n method: 'PUT',\n headers: {\n 'accept': 'application/json',\n // @ts-ignore\n 'accept-language': navigator.language || navigator.userLanguage\n },\n body: JSON.stringify({\n action: \"subscribe\",\n tenantId: tenantId,\n appName: appName\n })\n });\n fetch(req, {credentials: \"same-origin\"})\n .then((response) => {\n if (response.ok) {\n console.log(`subscribe app ${appName} success`);\n resolve(true);\n } else if (response.status === 400) {\n response.json().then((dto) => {\n let errorDto: errorDto = dto;\n if (errorDto) {\n switch (errorDto.description.toLowerCase()) {\n case \"app to subscribe is on premise app\":\n console.error(`app ${appName} cannot subscribe in tenant ${tenantId}. Maybe tenant use d.velop platform connect and the app to subscribe is running locally.`);\n this._subscribeError(this._i18n.getTranslation('order_wizard_error_appToSubscribeIsOnPremiseApp_description'));\n reject();\n return;\n case \"one or more app dependencies are on premise apps\":\n console.warn(`app ${appName} has dependencies who are running over by d.velop platform connect`);\n this._subscribeSuccess(this._i18n.getTranslation('order_wizard_error_appToSubscribeHasOnPremiseRunningDependencies_description'));\n resolve(true);\n return;\n default:\n console.error(`subscribe app ${appName} failed with status ${response.status}: ${errorDto.description}`);\n reject(errorDto.description);\n return;\n }\n }\n console.error(`cannot parse error dto: `, dto);\n reject(dto)\n });\n } else {\n console.error(`subscribe app ${appName} failed with status ${response.status}: ${response.statusText}`);\n reject(response.statusText);\n }\n })\n .catch((error) => {\n error.json().then((value: errorDto) => {\n console.error(`create organization failed with status ${error.status}: ${value.description}`);\n reject(value.description);\n return\n });\n reject(error);\n });\n }));\n return promise;\n };\n\n private _getGettingStartedRelativeLink = (): string => {\n const appCards = document.querySelectorAll(\".wizardPage__summary-app-card\");\n const gettingStartedLinks: { [app: string]: string; } = {};\n Array.apply(null, appCards).forEach((card: HTMLDivElement) => {\n if (card.dataset.gettingstarted && card.dataset.appname) {\n gettingStartedLinks[card.dataset.appname.toLowerCase()] = card.dataset.gettingstarted;\n }\n });\n\n const keys = Object.keys(gettingStartedLinks);\n if (keys.length < 1) {\n console.log(\"[Information] no getting started link found\");\n return \"\";\n }\n\n const dvDocuments = \"dvelop-documents\";\n if (gettingStartedLinks[dvDocuments]) {\n console.log(\"[Information] found link for\", dvDocuments);\n return gettingStartedLinks[dvDocuments];\n }\n\n keys.sort();\n\n return gettingStartedLinks[keys[0]];\n };\n\n private _prepareTenantLists = () => {\n const listItems = document.querySelectorAll('.wizardPage__tenantSelection--list-item');\n Array.apply(null, listItems).forEach((li: HTMLLIElement) => {\n this._setIconColorForListItem(li);\n });\n };\n\n private _showTenantListForOrga = (orgaId: string) => {\n const lists = document.querySelectorAll('.wizardPage__tenantSelection--list');\n Array.apply(null, lists).forEach((list: HTMLUListElement) => {\n list.classList.remove('show');\n if (list.id === 'tenantSelectList_' + orgaId) {\n list.classList.add('show');\n }\n });\n };\n\n private _setIconColorForListItem = (listItem: HTMLLIElement) => {\n const tenantName = listItem.getElementsByClassName('wizardPage__tenantSelection--list-item__primary-text')[0].textContent;\n const icon = listItem.getElementsByClassName('wizardPage__tenantSelection--list-icon')[0];\n const saturation = 70;\n const lightness = 70;\n icon.style.backgroundColor = `hsl(${this._getHueByString(tenantName)} ${saturation}% ${lightness}%)`;\n };\n\n private _getHueByString = (text: string): number => {\n var charCodeSum = 0;\n for (var i = 0; i < text.length; i++) {\n charCodeSum += text.charCodeAt(i);\n }\n return charCodeSum % 255;\n };\n\n private _setSelectedTenantId(value: string) {\n const nextButton = document.getElementById('btnNext_existingTenant');\n nextButton.setAttribute('disabled', 'disabled');\n if (value || value !== \"\") {\n nextButton.removeAttribute('disabled');\n }\n this._selectedTenantId = value;\n if (this._currentTenantHasAppAlready()) {\n this._disableSubscription();\n } else {\n this._enableSubscription();\n }\n }\n\n private _subscribeStartAnimation = (message: string) => {\n if (!this._animationActive) {\n this._startAnimation();\n this._hideElement('btnGetStarted');\n this._hideElement('btnPrepairTenantFailed');\n }\n this._setSubscribeAnimationMessage(message);\n };\n\n private _subscribeSuccess = (message: string) => {\n this.logDebug(\"_subscribeSuccess called\");\n const header = document.getElementById('orderWizardMainHeader');\n header.innerText = this._i18n.getTranslation('order_wizard_header_text');\n const baseTenantUrl = this._selectedTenantDomain ? this._selectedTenantDomain : `https://${FieldHandler.getFieldValue('domain')}.d-velop.cloud`;\n const relativeLink = this._getGettingStartedRelativeLink();\n const tenantUrl = baseTenantUrl + relativeLink;\n\n setTimeout(() => {\n this._setGettingStartedButtonHandler(tenantUrl);\n this._setSubscribeAnimationMessage(message);\n this._showElement('btnGetStarted');\n this._hideElement('btnPrepairTenantFailed');\n this._animationSuccess();\n }, 5000);\n };\n\n private _setGettingStartedButtonHandler(url: string) {\n (document.getElementById('btnGetStarted')).addEventListener('click', () => {\n open(url, '_blank')\n });\n }\n\n private _checkTargetAvailability = (url: string, retries: number): Promise => {\n console.log(\"Checking target availability - remaining retries: \", retries - 1);\n let req = new Request(url, {\n method: 'GET',\n mode: \"no-cors\",\n headers: {\n \"accept\": \"text/html\",\n },\n });\n\n const waitFetch = new Promise(resolve => {\n setTimeout(() => {\n resolve()\n }, 2000);\n });\n\n return waitFetch.then(() => {\n return fetch(req).then(response => {\n this.logDebug(\"_checkTargetAvailability - fetch response code \" + response.status);\n if (response.status < 400) {\n this.logDebug(\"_checkTargetAvailability - positive response\");\n return true;\n }\n throw new Error(`unexpected response from tenant - status ${response.status}`)\n }).catch(error => {\n console.warn(`got error checking ${url} - error: ${error.toString()}`);\n if (retries < 2) {\n return false\n }\n return this._checkTargetAvailability(url, retries - 1);\n });\n })\n };\n\n private _subscribeError = (message: string) => {\n const header = document.getElementById('orderWizardMainHeader');\n header.innerText = this._i18n.getTranslation('order_wizard_error_header_for_summary_title');\n this._setSubscribeAnimationMessage(message);\n this._showElement('btnPrepairTenantFailed');\n this._hideElement('btnGetStarted');\n this._animationError();\n };\n\n private _startAnimation = () => {\n const src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/2c5098e9-52ee-44c2-ba65-19f19d9fe535';\n this._setAnimationImageSource(src, true);\n this._animationActive = true;\n };\n\n private _animationSuccess = () => {\n const src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/9e332407-d3cf-442f-a01a-9037976519ab';\n this._setAnimationImageSource(src, false);\n this._animationActive = false;\n };\n\n private _animationError = () => {\n const src = 'https://s3.eu-central-1.amazonaws.com/mediamanager.cloudcenter.service.d-velop.cloud/bd28bb14-20e4-47ae-8a7d-688b56ed5eda';\n this._setAnimationImageSource(src, false);\n this._animationActive = false;\n };\n\n private _setAnimationImageSource = (src: string, spin: boolean) => {\n const image = document.getElementById('loading-animation-icon');\n image.src = src;\n spin ? image.classList.add('orderWizard_spin') : image.classList.remove('orderWizard_spin');\n };\n\n private _setSubscribeAnimationMessage = (message: string) => {\n const h = document.getElementById('orderWizard-animation-message');\n h.innerHTML = message;\n };\n\n private _hideElement = (elementId: string) => {\n (document.getElementById(elementId)).style.display = 'none';\n };\n\n private _showElement = (elementId: string) => {\n (document.getElementById(elementId)).style.display = 'block';\n };\n\n private _handle_selectOrganization = (e: any) => {\n const orgaList = document.getElementById('existingOrganizationList');\n let selectedElement = orgaList.querySelector('.mdc-list-item--selected');\n const elementId = selectedElement.id;\n const elementDataSet = selectedElement.getAttribute('data-isAdmin');\n this._setBtnCreateTenantDisabled(!(elementDataSet === \"true\"));\n this._selectedOrganizationId = elementId;\n this._showTenantListForOrga(elementId);\n this._deselectTenant();\n // check if user is allow to administrate orga by getting selected organization from store\n this._nextButtonDisable(false);\n };\n\n private _handle_selectTenant = (e: Event) => {\n const li = this._getListItemParent(e.target);\n if (li.classList.contains('mdc-list-item--disabled')) {\n this._nextButtonDisable();\n li.classList.remove('mdc-list-item--selected');\n this._selectedTenantListItem = null;\n return;\n }\n this._nextButtonDisable(false);\n this._selectedTenantListItem = li;\n };\n\n private _getListItemParent = (htmlElement: HTMLElement): HTMLLIElement => {\n if (htmlElement.tagName == 'LI') {\n return htmlElement;\n }\n return this._getListItemParent(htmlElement.parentElement);\n };\n\n private _tenantSelected = (id: string, domain: string) => {\n this._setSelectedTenantId(id);\n this._selectedTenantDomain = domain;\n };\n\n private _deselectTenant = () => {\n this._deselectedTenant = {id: this._selectedTenantId, domain: this._selectedTenantDomain};\n const listItems = document.querySelectorAll('.wizardPage__tenantSelection--list-item');\n Array.apply(null, listItems).forEach((li: HTMLLIElement) => {\n li.classList.remove('mdc-list-item--selected');\n });\n this._tenantSelected('', '');\n };\n\n private _undoDeselectTenant = () => {\n if (!this._deselectedTenant) {\n console.log('deselectedTenant not found - returning function');\n return;\n }\n console.log('deselected tenant ', this._deselectedTenant);\n const listItems = document.querySelectorAll('.wizardPage__tenantSelection--list-item');\n if (this._deselectedTenant && this._deselectedTenant.id) {\n Array.apply(null, listItems).forEach((li: HTMLLIElement) => {\n if (li.id == this._deselectedTenant.id) {\n li.classList.add('mdc-list-item--selected');\n }\n });\n }\n this._tenantSelected(this._deselectedTenant.id, this._deselectedTenant.domain);\n this._deselectedTenant = null;\n }\n\n private _handle_createNewTenant = () => {\n this._deselectTenant();\n this._previousSteps.push(this._currentStep);\n const next = OrderWizardPages.CreateTenant;\n this._navigateStep(next);\n this._currentStep = next;\n };\n\n private _handle_createNewOrganization = () => {\n this._unselectItem_OrderList();\n this._selectedTenantId = '';\n this._selectedTenantDomain = '';\n\n this._nextButtonDisable();\n const next = OrderWizardPages.CreateOrganization;\n this._navigateStep(next);\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._nextButtonDisable();\n };\n\n private _unselectItem_OrderList = () => {\n this._selectedOrganizationId = \"\";\n let orderList = document.getElementById('existingOrganizationList');\n let selectedItem = orderList.querySelector('.mdc-list-item--selected');\n if (selectedItem) {\n selectedItem.classList.remove('mdc-list-item--selected');\n }\n };\n\n private _handle_existingOrga_next = (e: any): void => {\n const next = OrderWizardPages.ExistingTenant;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n };\n\n private _handle_existingTenant_next = () => {\n this._hideBasisApp();\n if (!this._areAnyAppsDisplayed()) {\n this._nextButtonDisable(true, OrderWizardPages.AppSubscriptionSummary);\n }\n if (!this._selectedTenantListItem) {\n console.log(\"cannot set selected tenant - no list item found\");\n return;\n }\n this._tenantSelected(this._selectedTenantListItem.id, this._selectedTenantListItem.dataset.domain);\n const next = OrderWizardPages.AppSubscriptionSummary;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n };\n\n private _hideBasisApp = (hide: boolean = true) => {\n let apps = document.getElementsByClassName('dvApp');\n let basisApp: HTMLDivElement;\n for (let i = 0; i < apps.length; i++) {\n let app = apps[i];\n if (app.dataset.appname === 'basis') {\n basisApp = app;\n break;\n }\n }\n if (basisApp) {\n if (hide) {\n basisApp.classList.add('wizardPage__element_hide');\n } else {\n basisApp.classList.remove('wizardPage__element_hide');\n }\n } else {\n console.log('basis app not found!');\n }\n };\n\n private _areAnyAppsDisplayed = (): boolean => {\n let apps = document.getElementsByClassName('dvApp');\n\n for (let i = 0; i < apps.length; i++) {\n let app = apps[i];\n if (!app.classList.contains('wizardPage__element_hide')) {\n return true;\n }\n }\n return false;\n };\n\n private _showLegalNotice = () => {\n const legalParagraph = document.getElementById(\"appSubscriptionSummaryLegalNotice\");\n const alreadySubscribedParagraph = document.getElementById(\"appSubscriptionSummaryAlreadySubscribedNotice\");\n if (legalParagraph && alreadySubscribedParagraph) {\n legalParagraph.classList.remove(\"wizardPage__element_hide\");\n alreadySubscribedParagraph.classList.add(\"wizardPage__element_hide\");\n }\n };\n\n private _showAlreadySubscribedNotice = () => {\n const legalParagraph = document.getElementById(\"appSubscriptionSummaryLegalNotice\");\n const alreadySubscribedParagraph = document.getElementById(\"appSubscriptionSummaryAlreadySubscribedNotice\");\n if (legalParagraph && alreadySubscribedParagraph) {\n legalParagraph.classList.add(\"wizardPage__element_hide\");\n alreadySubscribedParagraph.classList.remove(\"wizardPage__element_hide\");\n }\n };\n\n private _currentTenantHasAppAlready = (): boolean => {\n if (this._selectedTenantId == \"\") {\n return false\n }\n var tenantsFromMeta = UrlHelpers.getMetaData('tenants');\n if (!tenantsFromMeta) {\n return false;\n }\n let orgaTenants = JSON.parse(tenantsFromMeta);\n const tenants = orgaTenants[this._selectedOrganizationId] as Array;\n if (!tenants) {\n return false;\n }\n let r = false;\n tenants.forEach((t) => {\n if (t.id == this._selectedTenantId) {\n r = t.appIsSubscribed;\n }\n });\n return r;\n };\n\n private _disableSubscription = () => {\n const b = document.getElementById(\"btnNext_appSubscriptionSummary\");\n if (b) {\n b.disabled = true;\n this._showAlreadySubscribedNotice();\n }\n };\n\n private _enableSubscription = () => {\n const b = document.getElementById(\"btnNext_appSubscriptionSummary\");\n if (b) {\n b.disabled = false;\n this._showLegalNotice();\n }\n };\n\n private _setBtnCreateTenantDisabled(disable: boolean) {\n let btn = document.getElementById('btnCreateNewTenant');\n if (btn.dataset.hitLimit === \"true\") {\n disable = true;\n }\n btn.disabled = disable;\n }\n\n private _loadCookie = () => {\n if (this._selectedOrganizationId) {\n return;\n }\n this._selectedOrganizationId = this._getCookie('organizationId');\n if (this._selectedOrganizationId === \"\") {\n this._selectedOrganizationId = \"\";\n this._selectedTenantId = \"\";\n this._selectedTenantDomain = \"\";\n return\n }\n let orgaElement = document.getElementById(this._selectedOrganizationId);\n if (!orgaElement) {\n console.log(`organization ${this._selectedOrganizationId} not found. Clear all selected properties`);\n this._selectedOrganizationId = \"\";\n this._selectedTenantId = \"\";\n this._selectedTenantDomain = \"\";\n return;\n }\n if (orgaElement.dataset['isadmin'] !== 'true') {\n console.log(`current user has no admin permission in organization ${this._selectedOrganizationId}. Clear all selected properties`);\n this._selectedOrganizationId = \"\";\n this._selectedTenantId = \"\";\n this._selectedTenantDomain = \"\";\n return\n }\n this._setSelectedTenantId(this._getCookie('tenantId'));\n let tenantElement = document.getElementById(this._selectedTenantId);\n if (!tenantElement) {\n console.log(`tenant ${this._selectedTenantId} not found. Clear all selected properties`);\n this._selectedOrganizationId = \"\";\n this._selectedTenantId = \"\";\n this._selectedTenantDomain = \"\";\n return;\n }\n\n this._selectedTenantDomain = tenantElement.dataset['domain'];\n this._hideBasisApp();\n this._hidePreviousButton(OrderWizardPages.AppSubscriptionSummary)\n };\n\n private _setCookie = (organizationId: string, tenantId: string) => {\n let expireDate = new Date();\n expireDate.setTime(expireDate.getTime() + (365 * 24 * 60 * 60 * 1000));\n let expires = \"expires=\" + expireDate.toUTCString();\n let path = `path=${location.pathname}`;\n\n if (this._cookieExists('organizationId')) {\n this._deleteCookie('organizationId');\n }\n document.cookie = `organizationId=${organizationId};${expires};${path}`;\n\n if (this._cookieExists('tenantId')) {\n this._deleteCookie('tenantId');\n }\n document.cookie = `tenantId=${tenantId};${expires};${path}`;\n };\n\n private _deleteCookie = (name: string) => {\n let path = location.pathname;\n document.cookie = `${name};expires=Thu, 01 Jan 1970 00:00:00 UTC;path=${path}`;\n };\n\n private _getCookie = (name: string): string => {\n name = name + \"=\";\n let decodedCookie = decodeURIComponent(document.cookie);\n let cookieArray = decodedCookie.split(';');\n for (let i = 0; i < cookieArray.length; i++) {\n let cookie = cookieArray[i];\n while (cookie.charAt(0) == ' ') {\n cookie = cookie.substring(1);\n }\n if (cookie.indexOf(name) == 0) {\n return cookie.substring(name.length, cookie.length);\n\n }\n }\n return \"\"\n };\n\n private _cookieExists = (name: string): boolean => {\n let cookieVal = this._getCookie('organizationId');\n if (cookieVal != \"\") {\n return true;\n }\n return false;\n };\n\n private _hidePreviousButton = (section: OrderWizardPages, hide: boolean = true) => {\n let sectionElement = document.getElementById(section);\n let previousButton = sectionElement.getElementsByClassName('btnPagePrevious');\n if (previousButton.length > 0) {\n let prevBtn = previousButton[0];\n if (prevBtn) {\n if (hide) {\n prevBtn.classList.add('wizardPage__element_hide');\n } else {\n prevBtn.classList.remove('wizardPage__element_hide');\n }\n }\n }\n };\n\n private _changeSelectionButtonHandler = (targetPage: OrderWizardPages) => {\n if (targetPage == OrderWizardPages.CreateTenant) {\n const hide = this._previousSteps.length > 0;\n this._hidePreviousButton(OrderWizardPages.CreateTenant, hide);\n this._previousSteps.push(this._currentStep);\n this._currentStep = targetPage;\n this._navigateStep(this._currentStep);\n }\n if (targetPage === OrderWizardPages.ExistingTenant) {\n this._handle_change_tenant_click();\n return;\n }\n if (targetPage === OrderWizardPages.ExistingOrganization) {\n this._handle_change_organization_click();\n return;\n }\n };\n\n private _handle_change_tenant_click = () => {\n const orgaElement = document.getElementById(this._selectedOrganizationId);\n const elementDataSet = orgaElement.getAttribute('data-isAdmin');\n this._setBtnCreateTenantDisabled(!(elementDataSet === \"true\"));\n this._showTenantListForOrga(this._selectedOrganizationId);\n\n this._navigateStep(OrderWizardPages.ExistingTenant);\n this._hidePreviousButton(OrderWizardPages.AppSubscriptionSummary, false);\n this._nextButtonDisable(false, OrderWizardPages.AppSubscriptionSummary);\n\n const next = OrderWizardPages.ExistingTenant;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n };\n\n private _handle_change_organization_click = () => {\n this._hidePreviousButton(OrderWizardPages.AppSubscriptionSummary, false);\n this._nextButtonDisable(false, OrderWizardPages.AppSubscriptionSummary);\n\n const next = OrderWizardPages.ExistingOrganization;\n this._previousSteps.push(this._currentStep);\n this._currentStep = next;\n this._navigateStep(next);\n };\n\n private _handleScrollShadow = () => {\n const fixedFooters = Array.apply(null, document.querySelectorAll('.wizardPage__footer.fixed-on-scroll'));\n fixedFooters.forEach(footer => {\n if (this._elementFixedBottom(footer)) {\n footer.classList.add('wizardPage__footer_shadow');\n } else {\n footer.classList.remove('wizardPage__footer_shadow');\n }\n });\n }\n\n private _elementFixedBottom = (el: HTMLElement): boolean => {\n return (window.innerHeight - el.getBoundingClientRect().bottom) == 0\n };\n\n private logDebug(message: string) {\n if (this._debugEnabled) {\n console.log(\"[DEBUG]:\", message);\n }\n }\n}\n\ninterface GoogleTagManagerMapping {\n pagePath: string,\n pageTitle: string\n}\n\nenum OrderWizardPages {\n Current = '',\n ExistingOrganization = 'existingOrga',\n CreateOrganization = 'createOrga',\n ExistingTenant = 'existingTenant',\n CreateTenant = 'createTenant',\n AppSubscriptionSummary = 'appSubscriptionSummary',\n PrepairTenant = 'prepairTenant'\n}", "import UrlHelpers from \"./url\";\n\nexport class OrderWizardLandingPage {\n\n constructor() {\n\n (document.getElementById('landingPage_content_btn_startWizard')).addEventListener('click', (e: Event) => {\n window.top.location.href = (e.target).dataset['target'];\n });\n\n this._googlePageView();\n\n window.addEventListener('load', () => {\n this._showLandingPageContent();\n })\n }\n\n private _showLandingPageContent = () => {\n const content = document.getElementById('landingPage_content');\n if (!content) {\n console.log('cannot find element \\'content\\'');\n return;\n }\n content.style.display = 'block';\n };\n\n private _googlePageView = () => {\n if (!UrlHelpers.getMetaData(\"gtmActive\") || UrlHelpers.getMetaData('sysAdmin')) {\n return;\n }\n const gtmValues = {pagePath: '/center/subscription/landingPage', pageTitle: 'Landing Page'};\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push({\n 'event': 'Pageview',\n 'pagePath': gtmValues.pagePath,\n 'pageTitle': gtmValues.pageTitle\n });\n };\n}", "// import '../styles/subscriptionWizardV2.css';\nimport * as mdc from \"material-components-web\";\nimport UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\nimport {createSystemBackground, dvLogo, successFlagBackground} from \"./icons\";\nimport {TenantTerminationState} from \"./tenant\";\nimport {Escaping} from \"./escaping\";\n\n\nexport class SubscriptionWizardV2 {\n private readonly _i18n: i18n = new i18n();\n\n private readonly _isNewUser: boolean;\n private readonly _isOrganizationLimitExceeded: boolean;\n private readonly _isSysAdmin: boolean;\n private readonly _gtmActive: boolean;\n\n private readonly _isBaseAppSubscription: boolean;\n private readonly _withPreselectedOrganization: boolean;\n private readonly _orderModeActive: boolean;\n\n private _wizardPageElements: { [key: string]: HTMLDivElement } = {}\n\n private _wizardPageHistory: WizardPages[] = [];\n private _currentPage: WizardPages;\n private _entrancePage: WizardPages;\n\n //change only via setter function 'patchWizardState'\n private _wizardState: WizardState;\n\n private _mdcTextFields: { [id: string]: mdc.textField.MDCTextField } = {};\n private _mdcSelects: { [id: string]: mdc.select.MDCSelect } = {};\n private _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n private _mdcProgressBars: { [id: string]: mdc.linearProgress.MDCLinearProgress } = {};\n private _mdcSnackbars: { [id: string]: mdc.snackbar.MDCSnackbar } = {};\n private _mdcDialogs: { [id: string]: mdc.dialog.MDCDialog } = {};\n private _mdcMenus: { [id: string]: mdc.menu.MDCMenu } = {};\n private _mdcCheckboxes: { [id: string]: mdc.checkbox.MDCCheckbox } = {};\n private _mdcRadios: { [id: string]: mdc.radio.MDCRadio } = {};\n\n private _createNewOrganization: boolean;\n private _createNewTenant: boolean;\n\n private _delayTimer: number;\n\n //set only via setter func 'setSubscriptionSuccessful'\n private _subscriptionSuccessful: boolean;\n\n constructor() {\n console.debug(\"constructor start\");\n const appName = UrlHelpers.getMetaData('appName');\n if (!appName) {\n console.info(\"app name missing in query\");\n }\n const subscriptionOrder = UrlHelpers.getQueryParameter(window.location.href, 'soid');\n if (!subscriptionOrder) {\n console.info(\"subscription order id missing in query\");\n }\n\n this.collectPages();\n this.setBackgroundImages();\n\n this._isSysAdmin = !!UrlHelpers.getMetaData(\"isSysAdmin\");\n this._isNewUser = !!UrlHelpers.getMetaData(\"isNewUser\");\n this._isOrganizationLimitExceeded = !!UrlHelpers.getMetaData(\"isOrganizationLimitExceeded\");\n this._gtmActive = !!UrlHelpers.getMetaData(\"gtmActive\");\n this._orderModeActive = !!subscriptionOrder\n\n const oid = UrlHelpers.getQueryParameter(window.location.href, 'oid');\n\n this._isBaseAppSubscription = appName == 'basis';\n this._withPreselectedOrganization = !!oid && this._isBaseAppSubscription;\n\n\n this._createNewTenant = this._isNewUser;\n this._createNewOrganization = this._isNewUser;\n\n this._wizardState = this.getEmptyState();\n this._wizardState.app = appName;\n if (this._withPreselectedOrganization) {\n this._wizardState.organization = oid;\n this._createNewOrganization = false;\n }\n if (this._orderModeActive) {\n this._wizardState.order = subscriptionOrder;\n !!UrlHelpers.getMetaData(\"orderFirstname\") ? this._wizardState.customerInfo.firstname = UrlHelpers.getMetaData(\"orderFirstname\") : console.info(\"no customer firstname found in order\");\n !!UrlHelpers.getMetaData(\"orderLastname\") ? this._wizardState.customerInfo.lastname = UrlHelpers.getMetaData(\"orderLastname\") : console.info(\"no customer lastname found in order\");\n !!UrlHelpers.getMetaData(\"orderCompany\") ? this._wizardState.customerInfo.company = UrlHelpers.getMetaData(\"orderCompany\") : console.info(\"no customer company found in order\");\n Array.apply(null, document.querySelectorAll('.order-article')).forEach((el: HTMLElement) => {\n this._wizardState.orderedApps.push(el.dataset.appname);\n });\n }\n\n this.instantiateMaterialComponents();\n\n this.loadTenantList(this.getWizardDataUrl(), this.mergeSelectSystemData,\n (error) => {\n console.error(`loading wizard data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n\n this.loadOrganizationList(this.getOrganizationListUrl(), this.mergeCreateSystemData,\n (error) => {\n console.error(`loading organization data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n\n\n this.setSubscriptionSuccessful(false);\n\n this.setupCreateSystem();\n this.setupCustomerInfo();\n this.setupShoppingCart();\n this.setupSelectSystem();\n this.setupChangeDomainDialog();\n this.setupChangeCustomerInfoDialog();\n\n this.setEntrancePage();\n this._currentPage = this._entrancePage;\n this.showCurrentPage();\n\n this.renderFromState();\n\n window.addEventListener('load', () => {\n this.instantiateMaterialComponents();\n this.showWizard();\n });\n\n window.addEventListener('beforeunload', function (e) {\n e.preventDefault();\n window.localStorage.removeItem('createTenantForOrganization');\n });\n\n\n const selectSystemMoreButton = document.getElementById('subscriptionWizardV2SelectSystem_orga_selection_list_btn_more');\n if (selectSystemMoreButton) {\n selectSystemMoreButton.addEventListener('click', this.handleSelectSystemLoadMoreButton);\n }\n }\n\n private loadTenantList = (url: string, cbSuccess: (data: wizardData) => void, cbError: (e) => void) => {\n\n this.openSelectSystemListProgressbar();\n const req = new Request(url, {\n method: 'GET',\n headers: {\n 'accept': 'application/hal+json',\n },\n credentials: 'same-origin'\n });\n\n fetch(req)\n .then((response) => {\n this.closeSelectSystemListProgressbar();\n if (response.ok) {\n response.json()\n .then((data: wizardData) => {\n cbSuccess(data);\n })\n .catch(reason => {\n console.error(`load wizard data: cannot get json from response: ${reason}`);\n cbError(reason);\n })\n } else {\n response.text().then(value => {\n console.error(`load wizard data failed with status ${response.status} - ${response.statusText}: ${value}`);\n cbError(`load wizard data failed`);\n }).catch(reason => {\n console.error(`load wizard data failed with status ${response.status} - ${response.statusText}: ${reason}`);\n cbError(`load wizard data failed`);\n })\n }\n })\n .catch(reason => {\n this.closeSelectSystemListProgressbar();\n cbError(reason)\n });\n };\n\n private loadOrganizationList = (url: string, cbSuccess: (data: organizationList) => void, cbError: (e) => void) => {\n this.openCreateSystemListProgressbar();\n const req = new Request(url, {\n method: 'GET',\n headers: {\n 'accept': 'application/hal+json',\n },\n credentials: 'same-origin'\n });\n\n fetch(req)\n .then((response) => {\n this.closeCreateSystemListProgressbar();\n if (response.ok) {\n response.json()\n .then((data: organizationList) => {\n cbSuccess(data);\n })\n .catch(reason => {\n console.error(`load organization data: cannot get json from response: ${reason}`);\n cbError(reason);\n })\n } else {\n response.text().then(value => {\n console.error(`load organization data failed with status ${response.status} - ${response.statusText}: ${value}`);\n cbError(`load organization data failed`);\n }).catch(reason => {\n console.error(`load organization data failed with status ${response.status} - ${response.statusText}: ${reason}`);\n cbError(`load organization data failed`);\n })\n }\n })\n .catch(reason => {\n this.closeCreateSystemListProgressbar();\n cbError(reason)\n });\n };\n\n private mergeSelectSystemData = (data: wizardData): void => {\n if (!data) {\n console.log(\"mergeSelectSystemData: data is empty\");\n return;\n }\n\n const current = this.readSelectSystemDataFromElement();\n current._links = data._links;\n if (!data.organizations) {\n console.log(\"mergeSelectSystemData: organizations is empty\");\n this.writeSelectSystemDataToElement(current);\n return;\n }\n data.organizations.forEach((orga) => {\n if (!orga.tenants || orga.tenants.length < 1) {\n return;\n }\n const i = current.organizations.findIndex(o => o.organizationId == orga.organizationId);\n if (i == -1) {\n current.organizations.push(orga);\n return;\n }\n const currentTenants: wizardTenant[] = current.organizations[i].tenants ? current.organizations[i].tenants : [];\n orga.tenants.forEach((tenant) => {\n const ti = currentTenants.findIndex((t) => t.tenantId == tenant.tenantId);\n if (ti == -1) {\n currentTenants.push(tenant);\n return;\n }\n });\n current.organizations[i].tenants = currentTenants;\n current.organizations[i].tenants.sort(function (a, b) {\n const tenantA = a.tenantId.toLowerCase();\n const tenantB = b.tenantId.toLowerCase();\n if (tenantA < tenantB) {\n return -1;\n }\n if (tenantA > tenantB) {\n return 1;\n }\n return 0;\n });\n });\n current.organizations.sort(function (a, b) {\n const tenantA = a.organizationId.toLowerCase();\n const tenantB = b.organizationId.toLowerCase();\n if (tenantA < tenantB) {\n return -1;\n }\n if (tenantA > tenantB) {\n return 1;\n }\n return 0;\n });\n this.writeSelectSystemDataToElement(current);\n };\n\n private mergeCreateSystemData = (data: organizationList): void => {\n if (!data) {\n console.log(\"mergeCreateSystemData: data is empty\");\n return;\n }\n\n const parsedData = this.parseOrganizationToWizardData(data)\n\n const current = this.readCreateSystemDataFromElement();\n current._links = parsedData._links;\n if (!parsedData.organizations) {\n console.log(\"mergeCreateSystemData: organizations is empty\");\n this.writeCreateSystemDataToElement(current);\n return\n }\n parsedData.organizations.forEach((orga: wizardOrga) => {\n const i = current.organizations.findIndex(o => o.organizationId == orga.organizationId);\n if (i == -1) {\n current.organizations.push(orga);\n return;\n }\n });\n current.organizations.sort(function (a, b) {\n const tenantA = a.organizationId.toLowerCase();\n const tenantB = b.organizationId.toLowerCase();\n if (tenantA < tenantB) {\n return -1;\n }\n if (tenantA > tenantB) {\n return 1;\n }\n return 0;\n });\n this.writeCreateSystemDataToElement(current);\n };\n\n private parseOrganizationToWizardData = (ol: organizationList): wizardData => {\n const wizOrgs: wizardOrga[] = ol.organizations.map((v) => {\n return {\n organizationId: v.id,\n organizationName: v.name\n } as wizardOrga\n })\n return {\n _links: ol._links,\n organizations: wizOrgs\n } as wizardData\n };\n\n private setEntrancePage = (): void => {\n this._entrancePage = this._isNewUser || this._isBaseAppSubscription ? WizardPages.CustomerInfo : WizardPages.SelectSystem;\n };\n\n private setBackgroundImages = (): void => {\n const setBgImage = (e: HTMLDivElement, url: string) => {\n e.style.backgroundImage = `url('${url}')`;\n };\n const brandings = Array.apply(null, document.querySelectorAll('.dv-branding'));\n brandings.forEach((b: HTMLDivElement) => {\n setBgImage(b, dvLogo);\n });\n\n const createSystem = document.querySelector('.create-system-bg-image');\n if (createSystem) {\n setBgImage(createSystem, createSystemBackground);\n }\n const createSystemPlaceholder = document.getElementById('create-system-bg-image-placeholder');\n if (createSystemPlaceholder) {\n createSystemPlaceholder.src = createSystemBackground;\n }\n\n const success = document.querySelector('.final-bg-image');\n if (success) {\n setBgImage(success, successFlagBackground);\n }\n }\n\n private patchWizardState(value: WizardState): void {\n console.debug(\"patch state with:\", value);\n const nullOrUndefined = (value: any): boolean => {\n return value == null || value == undefined;\n }\n this._wizardState = {\n domain: !nullOrUndefined(value.domain) ? value.domain.trim() : this._wizardState.domain,\n organization: !nullOrUndefined(value.organization) && value.organization.trim() !== \"new\" ? value.organization.trim() : this._wizardState.organization,\n organizationName: !nullOrUndefined(value.organizationName) ? value.organizationName.trim() : this._wizardState.organizationName,\n tenant: !nullOrUndefined(value.tenant) ? value.tenant.trim() : this._wizardState.tenant,\n app: !nullOrUndefined(value.app) ? value.app.trim() : this._wizardState.app,\n order: !nullOrUndefined(value.order) ? value.order.trim() : this._wizardState.order,\n orderedApps: !nullOrUndefined(value.orderedApps) ? value.orderedApps : this._wizardState.orderedApps,\n customerInfo: {\n firstname: value.customerInfo && !nullOrUndefined(value.customerInfo.firstname) ? value.customerInfo.firstname.trim() : this._wizardState.customerInfo.firstname,\n lastname: value.customerInfo && !nullOrUndefined(value.customerInfo.lastname) ? value.customerInfo.lastname.trim() : this._wizardState.customerInfo.lastname,\n phone: value.customerInfo && !nullOrUndefined(value.customerInfo.phone) ? value.customerInfo.phone.trim() : this._wizardState.customerInfo.phone,\n country: value.customerInfo && !nullOrUndefined(value.customerInfo.country) ? value.customerInfo.country.trim() : this._wizardState.customerInfo.country,\n company: value.customerInfo && !nullOrUndefined(value.customerInfo.company) ? value.customerInfo.company.trim() : this._wizardState.customerInfo.company,\n employeesCount: value.customerInfo && !nullOrUndefined(value.customerInfo.employeesCount) ? value.customerInfo.employeesCount : this._wizardState.customerInfo.employeesCount\n }\n } as WizardState;\n console.debug(\"new state is:\", this._wizardState);\n this.renderFromState();\n }\n\n private renderFromState(): void {\n this.renderCreateSystem();\n this.renderSelectSystem();\n this.renderCustomerInfo();\n this.renderShoppingCart();\n this.renderFinal();\n this.renderChangeDomainDialog();\n this.renderChangeCustomerInfoDialog()\n }\n\n private showWizard = (): void => {\n console.debug(\"show wizard contents\");\n const wizardId = 'subscriptionWizardV2';\n const content = document.getElementById(wizardId);\n if (!content) {\n console.log('cannot find element with class', wizardId);\n return;\n }\n content.style.display = '';\n }\n\n private collectPages = (): void => {\n console.debug(\"collecting wizard pages\");\n const pages = Array.apply(null, document.querySelectorAll('.subscriptionWizardV2__step'));\n pages.forEach((p: HTMLDivElement) => {\n this._wizardPageElements[p.id] = p;\n })\n };\n\n private showPage = (pageId: WizardPages): void => {\n if (!this._wizardPageElements.hasOwnProperty(pageId)) {\n //todo: error toast\n console.error(`page with id '${pageId}' not found`);\n return;\n }\n\n const currentClass = \"subscriptionWizardV2__step--current\";\n const hideClass = \"subscriptionWizardV2__step--hidden\";\n\n for (const wizardPagesKey in this._wizardPageElements) {\n const page = this._wizardPageElements[wizardPagesKey];\n if (wizardPagesKey != pageId) {\n page.classList.remove(currentClass);\n page.classList.add(hideClass);\n continue;\n }\n page.classList.remove(hideClass);\n page.classList.add(currentClass);\n }\n this.dispatchGooglePageView(pageId);\n }\n\n private showCurrentPage(): void {\n this.showPage(this._currentPage);\n }\n\n private goToPage = (page: WizardPages): void => {\n this._wizardPageHistory.push(this._currentPage);\n this.renderFromState();\n this._currentPage = page;\n this.showCurrentPage();\n };\n\n private goToPreviousPage = (): void => {\n this._currentPage = this._wizardPageHistory.pop();\n this.showCurrentPage();\n }\n\n private setSubscriptionSuccessful = (success: boolean): void => {\n this._subscriptionSuccessful = success;\n this.renderFinal();\n };\n\n private instantiateMaterialComponents = (): void => {\n console.debug(\"instantiate material components\");\n this.instantiateMaterialTextFields();\n this.instantiateMaterialSelects();\n this.instantiateMaterialLists();\n this.instantiateMaterialButtons();\n this.instantiateMaterialLinearProgress();\n this.instantiateMaterialSnackbars();\n this.instantiateMaterialDialogs();\n this.instantiateMaterialMenus();\n this.instantiateMaterialCheckboxes();\n this.instantiateMaterialRadios();\n }\n\n private instantiateMaterialTextFields = (): void => {\n const textfields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null, textfields).forEach((textfield) => {\n const mdcTextfield = mdc.textField.MDCTextField.attachTo(textfield);\n //take input or textarea id if wrapping div has no id itself\n if (!textfield.id) {\n const inputs = textfield.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcTextFields[inputs[0].id] = mdcTextfield;\n return\n }\n const areas = textfield.getElementsByTagName('textarea');\n if (areas.length > 0 && areas[0].id) {\n this._mdcTextFields[areas[0].id] = mdcTextfield;\n return\n }\n return\n }\n this._mdcTextFields[textfield.id] = mdcTextfield;\n });\n };\n\n private instantiateMaterialSelects = (): void => {\n const selects = document.querySelectorAll('.mdc-select');\n Array.apply(null, selects).forEach((uList) => {\n const mdcSelect = mdc.select.MDCSelect.attachTo(uList);\n if (uList.id) {\n this._mdcSelects[uList.id] = mdcSelect;\n }\n });\n };\n\n private instantiateMaterialLists = (): void => {\n const uLists = document.querySelectorAll('.mdc-list');\n Array.apply(null, uLists).forEach((uList) => {\n const mdcList = mdc.list.MDCList.attachTo(uList);\n if (uList.id) {\n this._mdcLists[uList.id] = mdcList;\n }\n });\n };\n\n private instantiateMaterialButtons = (): void => {\n const buttons = document.querySelectorAll('.mdc-button');\n Array.apply(null, buttons).forEach((button) => {\n mdc.ripple.MDCRipple.attachTo(button);\n });\n };\n\n private instantiateMaterialLinearProgress = (): void => {\n const progressBars = document.querySelectorAll('.mdc-linear-progress');\n Array.apply(null, progressBars).forEach((pBar: HTMLElement) => {\n const mdcBar = mdc.linearProgress.MDCLinearProgress.attachTo(pBar);\n if (pBar.id) {\n this._mdcProgressBars[pBar.id] = mdcBar;\n }\n });\n };\n\n private instantiateMaterialDialogs = (): void => {\n const dialogs = document.querySelectorAll('.mdc-dialog');\n Array.apply(null, dialogs).forEach((d: HTMLElement) => {\n const mdcDialog = mdc.dialog.MDCDialog.attachTo(d);\n if (d.id) {\n this._mdcDialogs[d.id] = mdcDialog;\n }\n });\n };\n\n private instantiateMaterialMenus = (): void => {\n const menus = document.querySelectorAll('.mdc-menu');\n Array.apply(null, menus).forEach((m: HTMLElement) => {\n const mdcMenu = mdc.menu.MDCMenu.attachTo(m);\n if (m.id) {\n this._mdcMenus[m.id] = mdcMenu;\n }\n });\n };\n\n private instantiateMaterialRadios = (): void => {\n const radios = document.querySelectorAll('.mdc-radio');\n Array.apply(null, radios).forEach((r: HTMLElement) => {\n const mdcRadio = mdc.radio.MDCRadio.attachTo(r);\n if (r.id) {\n this._mdcRadios[r.id] = mdcRadio;\n return;\n }\n const inputs = r.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcRadios[inputs[0].id] = mdcRadio;\n return;\n }\n });\n };\n\n private instantiateMaterialSnackbars = (): void => {\n const snackbars = document.querySelectorAll('.mdc-snackbar');\n Array.apply(null, snackbars).forEach((snackbar) => {\n const mdcSnackbar = mdc.snackbar.MDCSnackbar.attachTo(snackbar);\n if (snackbar.id) {\n this._mdcSnackbars[snackbar.id] = mdcSnackbar;\n }\n });\n };\n\n private instantiateMaterialCheckboxes = (): void => {\n const checkboxes = document.querySelectorAll('.mdc-checkbox');\n Array.apply(null, checkboxes).forEach((checkbox: HTMLElement) => {\n const mdcCheckbox = mdc.checkbox.MDCCheckbox.attachTo(checkbox);\n const formField = checkbox.parentElement;\n if (formField) {\n const mdcFormField = mdc.formField.MDCFormField.attachTo(formField);\n mdcFormField.input = mdcCheckbox;\n }\n if (checkbox.id) {\n this._mdcCheckboxes[checkbox.id] = mdcCheckbox;\n }\n });\n };\n\n private isDomainValid = (domain: string, cbSuccess: (dto: any) => void, cbError: (error: string) => void): void => {\n console.debug(`check ${domain}`);\n let url = UrlHelpers.getLinkRelHref('domainCheck');\n let req = new Request(url, {\n method: 'post',\n headers: {\n 'accept': 'application/json'\n },\n body: JSON.stringify({\n domain: domain\n }),\n credentials: \"same-origin\"\n });\n fetch(req)\n .then((r: Response) => {\n if (r.status !== 200) {\n throw `request failed with error code ${r.status}`;\n }\n return r.json();\n })\n .then((dtoJson) => {\n cbSuccess(dtoJson);\n })\n .catch((e: string) => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n })\n };\n\n private createOrganization = (cbSuccess: (orgaId: string) => void, cbError: (error: string) => void): void => {\n console.log(\"create organization\")\n const url = UrlHelpers.getLinkRelHref('organizations');\n const orgaName = this._wizardState.organizationName ? this._wizardState.organizationName : this._i18n.getTranslation('default_organisation_name_my_systems');\n const request = new Request(url, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n },\n credentials: 'same-origin',\n body: JSON.stringify({\n name: orgaName\n })\n })\n fetch(request)\n .then(r => {\n if (r.status !== 201) {\n throw `request failed with error code ${r.status}`;\n }\n return r.json();\n })\n .then(json => {\n let orgaId = json.replace(/\"/g, '');\n if (!orgaId) {\n throw \"no orga id found\";\n }\n if (cbSuccess) {\n cbSuccess(orgaId);\n }\n })\n .catch(e => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n });\n };\n\n private createTenantForOrganization = (cbSuccess: (tenantId: string) => void, cbError: (error: string) => void): void => {\n console.log(\"create tenant in organization\");\n if (!this._wizardState.organization) {\n console.error('organization id missing');\n return;\n }\n const url = `${UrlHelpers.getLinkRelHref('organizations')}/${this._wizardState.organization}`;\n const request = new Request(url, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n },\n credentials: 'same-origin'\n })\n this.retryableFetch(request, 3)\n .then(json => {\n let tenantId = json.replace(/\"/g, '');\n if (!tenantId) {\n throw \"no tenant id found\";\n }\n if (cbSuccess) {\n cbSuccess(tenantId);\n }\n })\n .catch(e => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n });\n };\n\n private showLongerExecutionMessage = (): void => {\n const el = document.getElementById('subscriptionWizardV2Final_progressbar_message');\n el.classList.remove('hide-element');\n }\n\n private hideLongerExecutionMessage = (): void => {\n const el = document.getElementById('subscriptionWizardV2Final_progressbar_message');\n el.classList.add('hide-element');\n }\n\n private updateTenant = (cbSuccess: () => void, cbError: (error: string) => void): void => {\n console.log(\"update tenant\");\n if (!this._wizardState.tenant) {\n console.error('tenant id missing');\n return;\n }\n if (!this._wizardState.organization) {\n console.error('organization id missing');\n return;\n }\n const url = `${UrlHelpers.getLinkRelHref('tenants')}/${this._wizardState.tenant}`;\n\n const request = new Request(url, {\n method: 'PUT',\n headers: {\n 'Accept': 'application/json',\n },\n credentials: 'same-origin',\n body: JSON.stringify({\n tenant: {\n id: this._wizardState.tenant,\n organizationId: this._wizardState.organization,\n domainName: this._wizardState.domain\n },\n arguments: {\n \"dvcc:firstname\": this._wizardState.customerInfo.firstname,\n \"dvcc:lastname\": this._wizardState.customerInfo.lastname\n }\n })\n })\n fetch(request)\n .then(r => {\n if (r.status !== 200) {\n console.debug('Response body:', r.body);\n throw `request failed with error code ${r.status}`;\n }\n if (cbSuccess) {\n cbSuccess();\n }\n })\n .catch(e => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n });\n };\n\n private subscribe = (cbSuccess: () => void, cbError: (error: string) => void): void => {\n if (this._orderModeActive) {\n this.subscribeApps(this._wizardState.orderedApps ,cbSuccess, cbError);\n return;\n }\n this.subscribeApp(this._wizardState.app, cbSuccess, cbError);\n }\n\n private subscribeApps = (apps: string[], cbSuccess: () => void, cbError: (error: string) => void): void => {\n let remaining = [...apps];\n const app = remaining.pop();\n const cb = (): void => {\n if (remaining.length > 0) {\n this.subscribeApps(remaining, cbSuccess, cbError);\n return;\n }\n cbSuccess();\n }\n this.subscribeApp(app, cb, cbError);\n }\n\n private subscribeApp = (appName: string, cbSuccess: () => void, cbError: (error: string) => void): void => {\n if (!appName) {\n console.error('app name missing');\n return;\n }\n console.log(`subscribe app '${appName}'`);\n if (!this._wizardState.tenant) {\n console.error('tenant id missing');\n return;\n }\n if (this._createNewTenant && (!this._wizardState.customerInfo.firstname || !this._wizardState.customerInfo.lastname || !this._wizardState.customerInfo.company)) {\n console.error('required field on customer info missing');\n return;\n }\n const url = UrlHelpers.getLinkRelHref('subscription');\n let data = {\n action: \"subscribe\",\n tenantId: this._wizardState.tenant,\n appName: appName,\n customerInfo: this._createNewTenant ? this.customerInfoDtoFromState(this._wizardState) : null,\n subscribeMarketingCommunication: this.isMarketingSubscriptionChecked()\n }\n const request = new Request(url, {\n method: 'PUT',\n headers: {\n 'Accept': 'application/json',\n // @ts-ignore\n 'Accept-Language': navigator.language || navigator.userLanguage\n },\n credentials: 'same-origin',\n body: JSON.stringify(data)\n })\n fetch(request)\n .then(r => {\n if (r.status === 409) {\n cbError('app dependency conflict');\n return\n }\n if (r.status !== 200) {\n throw `request failed with error code ${r.status}`;\n }\n if (cbSuccess) {\n cbSuccess();\n }\n })\n .catch(e => {\n console.log(`Request to ${url} failed! Error: '${e}'`);\n if (cbError) {\n cbError(e);\n }\n });\n };\n\n //mark: createSystem\n private setupCreateSystem = (): void => {\n const domainInputHtml = document.getElementById('subscriptionWizardV2CreateSystem_domain_input');\n if (!domainInputHtml) {\n console.error('domain input missing');\n return;\n }\n domainInputHtml.addEventListener('input', this.delayedCreateSystemValidation);\n\n const newOrganizationInput = document.getElementById('subscriptionWizardV2CreateSystem_newOrganization_input');\n if (!newOrganizationInput) {\n console.error('new organization input missing');\n return;\n }\n newOrganizationInput.addEventListener('input', this.delayedCreateSystemValidation);\n\n const btnCreate = document.getElementById('subscriptionWizardV2CreateSystem_create');\n if (!btnCreate) {\n console.error(\"accept button for page 'createSystem' not found\");\n return;\n }\n btnCreate.addEventListener('click', this.acceptCreateSystem);\n\n const btnBack = document.getElementById('subscriptionWizardV2CreateSystem_back');\n if (!btnBack) {\n console.error(\"back button for page 'createSystem' not found\");\n return;\n }\n btnBack.addEventListener('click', () => {\n this.goToPreviousPage();\n });\n\n const radioNewOrga = document.getElementById('subscriptionWizardV2CreateSystem_createNewOrganization');\n if (!radioNewOrga) {\n console.error('new organization button is missing');\n }\n radioNewOrga.addEventListener('change', this.displayNewOrganizationGroup);\n\n const radioSelectOrga = document.getElementById('subscriptionWizardV2CreateSystem_chooseExistingOrganization');\n if (!radioSelectOrga) {\n console.error('new organization button is missing');\n return;\n }\n radioSelectOrga.addEventListener('change', this.displaySelectOrganizationGroup);\n\n this.setupCreateSystemOrganizationDropdownSearch();\n };\n\n private setupCreateSystemOrganizationDropdownSearch = (): void => {\n const list = document.getElementById('subscriptionWizardV2OrganizationDropdownSearch_menu_list');\n if (!list) {\n console.error('organization list missing');\n return;\n }\n\n list.parentElement.addEventListener('scroll', this.handleOrganizationMenuScroll);\n\n const attributeWizardData = 'data-wizarddata';\n const attributeSelectedOrganisation = 'data-selectedorganization';\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type == \"attributes\" && mutation.attributeName == attributeWizardData) {\n this.renderCreateSystemOrganizationDropdownSearch();\n }\n if (mutation.type == \"attributes\" && mutation.attributeName == attributeSelectedOrganisation) {\n this.delayedCreateSystemValidation();\n }\n });\n });\n observer.observe(list, {\n attributeFilter: [attributeWizardData, attributeSelectedOrganisation],\n });\n\n const inputId = 'subscriptionWizardV2OrganizationDropdownSearch_input';\n const inputHtml = document.getElementById(inputId);\n inputHtml.addEventListener('input', () => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.filterCreateSystemList();\n }, 250);\n })\n\n if (this._withPreselectedOrganization) {\n list.dataset.selectedorganization = this._wizardState.organization;\n inputHtml.disabled = true;\n }\n\n const menu = this._mdcMenus['subscriptionWizardV2OrganizationDropdownSearch_menu'];\n if (!menu) {\n console.error('search menu list missing');\n return;\n }\n inputHtml.addEventListener('focusin', (ev) => {\n console.debug('focusin event listener');\n ev.preventDefault();\n if (!menu.open) {\n inputHtml.blur();\n menu.open = true;\n setTimeout(() => {\n inputHtml.focus();\n }, 200);\n }\n });\n inputHtml.addEventListener('focusout', (ev) => {\n console.debug('focusout event listener');\n if (menu.open) {\n setTimeout(() => {\n menu.open = false;\n }, 250);\n }\n })\n\n this.clearDropdownSearchHelperText();\n this.renderCreateSystemOrganizationDropdownSearch();\n };\n\n private renderCreateSystemOrganizationDropdownSearch = (): void => {\n const data = this.readCreateSystemDataFromElement();\n if (!data) {\n console.debug(\"renderCreateSystemOrganizationDropdownSearch: data missing\");\n return;\n }\n this.clearDropdownSearchHelperText();\n if (data.organizations.length == 0) {\n console.debug('renderCreateSystemOrganizationDropdownSearch: no organizations found for rendering');\n this.setNoMatchesDropdownSearchHelperText();\n }\n const selectionListId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.debug(`renderCreateSystemOrganizationSearchMenu: cannot find ul element with id ${selectionListId}`);\n return;\n }\n const collectionUl = document.createElement('ul');\n data.organizations.forEach((orga, index) => {\n const li = this.getListItemForCreateSystemOrganizationDropdownSearchMenu(orga);\n const selectedOrgaId = ul.dataset.selectedorganization;\n if (selectedOrgaId) {\n if (selectedOrgaId == li.dataset.value) {\n li.classList.add('mdc-list-item--selected');\n li.setAttribute('aria-selected', 'true');\n }\n } else {\n if (index === 0) {\n li.classList.add('mdc-list-item--selected');\n li.setAttribute('aria-selected', 'true');\n }\n }\n\n collectionUl.appendChild(li);\n });\n ul.innerHTML = collectionUl.innerHTML;\n this.resetDropdownSearchMenuList();\n };\n\n private getListItemForCreateSystemOrganizationDropdownSearchMenu = (orga: wizardOrga): HTMLLIElement => {\n const li = document.createElement('li');\n li.classList.add('mdc-list-item');\n li.dataset.value = orga.organizationId;\n li.dataset.organisationname = orga.organizationName;\n li.setAttribute('role', 'menuitem');\n li.innerHTML = `\n ${orga.organizationName}`\n return li;\n };\n\n private resetDropdownSearchMenuList = (): void => {\n const id = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n const mdcList: mdc.list.MDCList = this._mdcLists[id];\n if (!mdcList) {\n console.log(`resetSelectSystemMdcList: cannot find mdcList with id ${id}`);\n return\n }\n\n mdcList.destroy();\n\n const newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(id));\n newMdcList.listen('MDCList:action', this.handleDropdownSearchListItemClick);\n\n this._mdcLists[id] = newMdcList;\n };\n\n private handleDropdownSearchListItemClick = (ev): void => {\n const index = ev.detail.index;\n const mdcList: mdc.list.MDCList = this._mdcLists['subscriptionWizardV2OrganizationDropdownSearch_menu_list'];\n if (!mdcList) {\n console.error('handleDropdownSearchListItemClick: mdc list not found');\n return;\n }\n const listItem = mdcList.listElements[index];\n if (!listItem) {\n console.error('handleDropdownSearchListItemClick: list item not found');\n return;\n }\n const ul = mdcList.root || mdcList._root;\n if (!ul) {\n console.error('handleDropdownSearchListItemClick: ul not found');\n return;\n }\n ul.dataset.selectedorganization = listItem.dataset.value;\n this.setSelectedOrganizationText(listItem.dataset.organisationname);\n };\n\n private filterCreateSystemList = (): void => {\n const input = this._mdcTextFields['subscriptionWizardV2OrganizationDropdownSearch_input'];\n if (!input) {\n console.debug('filterCreateSystemList: input not found');\n return;\n }\n this.clearDropdownSearchData();\n this.loadOrganizationList(this.getOrganizationListUrl(input.value), this.mergeCreateSystemData,\n (error) => {\n console.error(`loading organization data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n };\n\n private acceptCreateSystem = (): void => {\n const domainInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_domain_input'];\n const state = {\n domain: domainInput.value\n }\n if (this._createNewOrganization) {\n const organizationInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_newOrganization_input'];\n state.organizationName = organizationInput.value;\n state.organization = '';\n } else {\n const selectionListId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.debug(`acceptCreateSystem: cannot find ul element with id ${selectionListId}`);\n return;\n }\n state.organization = ul.dataset.selectedorganization;\n state.organizationName = '';\n }\n this._createNewTenant = true;\n this.patchWizardState(state);\n this.goToPage(WizardPages.ShoppingCart);\n };\n\n private renderCreateSystem = () => {\n const domainInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_domain_input'];\n if (!domainInput) {\n console.error('material instance of domain input missing');\n }\n\n domainInput.value = this._wizardState.domain;\n\n if (!this._wizardState.domain) {\n domainInput.value = this.getDomainSuggestion();\n }\n\n const btnBack = document.getElementById('subscriptionWizardV2CreateSystem_back');\n if (!btnBack) {\n console.error('back button for create system missing');\n return;\n }\n btnBack.classList.remove('element-hidden');\n\n const orgaInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_newOrganization_input'];\n if (!orgaInput) {\n console.error('material instance of new organization input missing');\n }\n\n if (this._createNewOrganization && !this._withPreselectedOrganization) {\n if (this._isNewUser) {\n this.hideAllOrganizationElements();\n } else {\n this.showAllOrganizationElements();\n }\n if (!orgaInput.value) {\n orgaInput.value = this._i18n.getTranslation('default_organisation_name_my_systems');\n }\n } else if (this._withPreselectedOrganization) {\n this.hideAllOrganizationElements();\n } else {\n this.displaySelectOrganizationGroup();\n\n }\n\n if (this._isOrganizationLimitExceeded) {\n orgaInput.disabled = true;\n orgaInput.value = '';\n }\n\n if (this._entrancePage == WizardPages.CreateSystem) {\n btnBack.classList.add('element-hidden');\n }\n this.renderOrganizationLimitInfo();\n this.renderCreateSystemButton();\n };\n\n private renderOrganizationLimitInfo = (): void => {\n const infoElementId = 'subscriptionWizardV2CreateSystem_newOrganization_limit_info';\n const limitInfo = document.getElementById(infoElementId);\n if (!limitInfo) {\n console.info(`element with id '${infoElementId}' not found`);\n return;\n }\n limitInfo.style.display = this._isOrganizationLimitExceeded && this._createNewOrganization ? '' : 'none';\n };\n\n private renderCreateSystemButton = (): void => {\n this.disableCreateSystemButton();\n const domainInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_domain_input'];\n if (!domainInput) {\n console.error(\"material instance for create system input missing\");\n return;\n }\n\n const organizationInput = this._mdcTextFields['subscriptionWizardV2CreateSystem_newOrganization_input'];\n if (!organizationInput) {\n console.error(\"material instance for new organization input missing\");\n return;\n }\n\n if (this._createNewOrganization) {\n organizationInput.valid = true;\n organizationInput.helperTextContent = '';\n if (!organizationInput.value && !organizationInput.disabled) {\n organizationInput.valid = false;\n organizationInput.helperTextContent = this._i18n.getTranslation('subscriptionWizardV2_empty_input_message');\n } else if (organizationInput.disabled) {\n organizationInput.valid = false;\n }\n }\n\n const selectionListId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.debug(`renderCreateSystemButton: cannot find ul element with id ${selectionListId}`);\n return;\n }\n\n domainInput.valid = true;\n domainInput.helperTextContent = \"\";\n if (domainInput.value) {\n if (domainInput.value.length < 3) {\n domainInput.valid = false;\n domainInput.helperTextContent = this._i18n.getTranslation('subscriptionWizardV2_domain_minlength_message');\n return;\n }\n this.isDomainValid(domainInput.value,\n (dto) => {\n if (!dto.exists) {\n if (dto.domain != domainInput.value) {\n console.info(`checked value and actual input value are unequal: checked '${dto.domain}', actual '${domainInput.value}'`);\n this.renderCreateSystemButton();\n return;\n }\n if (this._createNewOrganization && (!organizationInput.valid || organizationInput.disabled)) {\n return;\n }\n if (!this._createNewOrganization && ul.dataset.selectedorganization == '') {\n return;\n }\n this.enableCreateSystemButton();\n return;\n }\n let message = this._i18n.getTranslation('subscriptionWizardV2_domain_not_available_message');\n if (dto.message === \"base uri contains invalid characters\") {\n message = this._i18n.getTranslation('subscriptionWizardV2_domain_invalid_chars_message');\n }\n domainInput.valid = false;\n domainInput.helperTextContent = message;\n },\n (error: string) => {\n console.error(\"domain validity check failed:\", error);\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_domainValidationFailed_error_message'));\n });\n }\n };\n\n private delayedCreateSystemValidation = (): void => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.renderCreateSystemButton();\n }, 500)\n };\n\n private disableCreateSystemButton = (): void => {\n const btnCreate = document.getElementById(\"subscriptionWizardV2CreateSystem_create\");\n if (!btnCreate) {\n console.error(\"createSystemButton missing\");\n return\n }\n btnCreate.disabled = true;\n };\n\n private enableCreateSystemButton = (): void => {\n const btnCreate = document.getElementById(\"subscriptionWizardV2CreateSystem_create\");\n if (!btnCreate) {\n console.error(\"createSystemButton missing\");\n return\n }\n btnCreate.disabled = false;\n };\n\n private displayNewOrganizationGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_newOrganization_element_group');\n if (!group) {\n console.error('newOrganization group missing');\n return;\n }\n group.style.display = '';\n this._createNewOrganization = true;\n this.hideSelectOrganizationGroup();\n this.setNewOrganizationRadioSelected();\n this.renderCreateSystemButton();\n this.renderOrganizationLimitInfo();\n };\n\n private hideNewOrganizationGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_newOrganization_element_group');\n if (!group) {\n console.error('newOrganization group missing');\n return;\n }\n group.style.display = 'none';\n };\n\n private setNewOrganizationRadioSelected = (): void => {\n const radio = this._mdcRadios['subscriptionWizardV2CreateSystem_createNewOrganization'];\n if (!radio) {\n console.error('newOrganization radio missing');\n return;\n }\n radio.checked = true;\n };\n\n private displaySelectOrganizationGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_selectOrganization_element_group');\n if (!group) {\n console.error('newOrganization group missing');\n return;\n }\n group.style.display = '';\n this._createNewOrganization = false;\n this.hideNewOrganizationGroup();\n this.setSelectOrganizationRadioSelected();\n this.renderCreateSystemButton();\n this.renderOrganizationLimitInfo();\n };\n\n private hideSelectOrganizationGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_selectOrganization_element_group');\n if (!group) {\n console.error('newOrganization group missing');\n return;\n }\n group.style.display = 'none';\n };\n\n private setSelectOrganizationRadioSelected = (): void => {\n const radio = this._mdcRadios['subscriptionWizardV2CreateSystem_chooseExistingOrganization'];\n if (!radio) {\n console.error('selectOrganization radio missing');\n return;\n }\n radio.checked = true;\n };\n\n private hideAllOrganizationElements = (): void => {\n this.hideNewOrganizationGroup();\n this.hideSelectOrganizationGroup();\n this.hideOrganizationRadioButtonGroup();\n };\n\n private showAllOrganizationElements = (): void => {\n this.displayNewOrganizationGroup();\n this.displaySelectOrganizationGroup();\n this.displayOrganizationRadioButtonGroup();\n };\n\n private hideOrganizationRadioButtonGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_radioButtonGroup');\n if (!group) {\n console.debug('organization radio group not found');\n return;\n }\n group.style.visibility = 'hidden';\n };\n\n private displayOrganizationRadioButtonGroup = (): void => {\n const group = document.getElementById('subscriptionWizardV2CreateSystem_radioButtonGroup');\n if (!group) {\n console.debug('organization radio group not found');\n return;\n }\n group.style.visibility = '';\n };\n\n private handleOrganizationMenuScroll = (): void => {\n console.debug('menu scroll handler');\n if (this._currentPage != WizardPages.CreateSystem) {\n return\n }\n const loadMoreData = () => {\n const ul = document.getElementById('subscriptionWizardV2OrganizationDropdownSearch_menu_list');\n if (!ul) {\n console.debug(\"handleOrganizationMenuScroll: ul list not found\");\n return\n }\n const shouldLoadData = this.shouldLoadMoreCreateSystemData(ul.parentElement);\n if (!shouldLoadData) {\n return;\n }\n const data = this.readCreateSystemDataFromElement();\n if (!data) {\n console.log(\"handleOrganizationMenuScroll: cannot read data from element\");\n return;\n }\n const more = data._links && ('more' in data._links) ? data._links[\"more\"].href : null;\n if (!more) {\n console.debug('no \"more\" in links');\n return;\n }\n console.debug('loading more data');\n this.loadOrganizationList(more, this.mergeCreateSystemData,\n (error) => {\n console.error(`loading organization data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n }\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n loadMoreData();\n }, 100);\n };\n\n private shouldLoadMoreCreateSystemData = (el: HTMLElement): boolean => {\n const maxScrollPosition = el.scrollHeight - el.clientHeight;\n const diff = maxScrollPosition - el.scrollTop;\n const threshold = this.getCreateSystemScrollThreshold(el)\n return diff <= threshold;\n }\n\n private getCreateSystemScrollThreshold = (scrollElement: HTMLElement): number => {\n const liElements = Array.apply(null, scrollElement.getElementsByTagName('li'));\n if (liElements.length == 0) {\n console.debug('getCreateSystemScrollThreshold: no list elements found')\n return 0;\n }\n const heightMultiplier = 20;\n const lastElement = liElements[liElements.length - 1];\n return heightMultiplier * lastElement.offsetHeight;\n };\n\n private setSelectedOrganizationText = (organizationName: string): void => {\n const textField = this._mdcTextFields['subscriptionWizardV2OrganizationDropdownSearch_input'];\n if (!textField) {\n console.error('setSelectedOrganizationText: mdc text field not found');\n return;\n }\n textField.value = organizationName;\n };\n\n private setDropdownSearchHelperText = (content: string): void => {\n const textField = this._mdcTextFields['subscriptionWizardV2OrganizationDropdownSearch_input'];\n if (!textField) {\n console.error('setDropdownSearchHelperText: mdc text field not found');\n return;\n }\n textField.helperTextContent = content;\n };\n\n private setNoMatchesDropdownSearchHelperText = (): void => {\n const message = this._i18n.getTranslation('subscriptionWizardV2_createSystem_dropdownSearch_helperText_noMatches');\n this.setDropdownSearchHelperText(message);\n };\n\n private clearDropdownSearchHelperText = (): void => {\n this.setDropdownSearchHelperText('');\n };\n\n private clearDropdownSearchData = (): void => {\n const listId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n const ul = document.getElementById(listId);\n if (!ul) {\n console.error(`cannot find element with id ${listId}`);\n return\n }\n ul.dataset.wizarddata = '';\n };\n\n //mark: selectSystem\n private setupSelectSystem = (): void => {\n const acceptBtn = document.getElementById('subscriptionWizardV2SelectSystem_accept');\n if (!acceptBtn) {\n console.error('accept button missing');\n return;\n }\n acceptBtn.addEventListener('click', this.acceptSelectSystem);\n\n const btnBack = document.getElementById('subscriptionWizardV2SelectSystem_back');\n if (!btnBack) {\n console.error(\"back button for page 'selectSystem' not found\");\n return;\n }\n btnBack.addEventListener('click', this.goToPreviousPage);\n\n const btnNewSystem = document.getElementById('subscriptionWizardV2SelectSystem_createNewSystem');\n if (btnNewSystem) {\n btnNewSystem.addEventListener('click', this.goToCreateSystem)\n } else {\n console.info(\"new system button for page 'selectSystem' not found\");\n }\n\n const searchInput = document.getElementById('subscriptionWizardV2SelectSystem_search_input');\n if (!searchInput) {\n console.error('search input missing');\n return;\n }\n searchInput.addEventListener('input', ev => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.filterSelectSystemList();\n }, 250);\n });\n\n this.setupSelectSystemList();\n };\n\n private setupSelectSystemList = (): void => {\n let listId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n const list = this._mdcLists[listId];\n if (!list) {\n console.error('organization list missing');\n return;\n }\n\n //add event listener for attribute changes on element\n const observedAttributeName = 'data-wizarddata';\n const uList = list.root;\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type == \"attributes\" && mutation.attributeName == observedAttributeName) {\n this.renderSelectSystemList();\n }\n });\n });\n observer.observe(uList, {\n attributeFilter: [observedAttributeName],\n });\n\n this.resetSelectSystemMdcList(listId)\n this.renderSelectSystemList();\n };\n\n private handleSelectSystemListItemClick = (event) => {\n const index = event.detail.index\n const uList = event.target;\n\n const list = this._mdcLists['subscriptionWizardV2SelectSystem_orga_selection_list'];\n const li = list.listElements[index];\n\n uList.dataset.selectedorganization = li.parentElement.dataset.orgaid;\n uList.dataset.selectedtenant = li.dataset.tenantid;\n uList.dataset.selectedtenantdomain = li.dataset.tenantdomain;\n this.renderSelectSystemAccept();\n }\n\n private acceptSelectSystem = (): void => {\n const uList = document.getElementById('subscriptionWizardV2SelectSystem_orga_selection_list');\n if (!uList) {\n console.error('list group missing');\n return;\n }\n this.patchWizardState({\n organization: uList.dataset.selectedorganization,\n organizationName: '',\n tenant: uList.dataset.selectedtenant,\n domain: uList.dataset.selectedtenantdomain\n });\n this._createNewTenant = false;\n this._createNewOrganization = false;\n this.goToPage(WizardPages.ShoppingCart);\n };\n\n private goToCreateSystem = (): void => {\n this.patchWizardState({\n organization: '',\n organizationName: '',\n tenant: '',\n domain: ''\n });\n this.goToPage(WizardPages.CustomerInfo);\n };\n\n private openSelectSystemListProgressbar = (): void => {\n const id = 'loadListProgress';\n const progressBar = this._mdcProgressBars[id];\n progressBar.open();\n };\n\n private openCreateSystemListProgressbar = (): void => {\n const id = 'subscriptionWizardV2OrganizationDropdownSearch_menu_progress';\n const progressBar = this._mdcProgressBars[id];\n if (!progressBar) {\n console.error('openCreateSystemListProgressbar: progress bar not found');\n return;\n }\n progressBar.open();\n };\n\n private closeSelectSystemListProgressbar = (): void => {\n const id = 'loadListProgress';\n const progressBar = this._mdcProgressBars[id];\n progressBar.close();\n };\n\n private closeCreateSystemListProgressbar = (): void => {\n const id = 'subscriptionWizardV2OrganizationDropdownSearch_menu_progress';\n const progressBar = this._mdcProgressBars[id];\n if (!progressBar) {\n console.error('closeCreateSystemListProgressbar: progress bar not found');\n return;\n }\n progressBar.close();\n };\n\n private filterSelectSystemList = (): void => {\n const input = this._mdcTextFields['subscriptionWizardV2SelectSystem_search_input'];\n // clear ul wizard data\n this.clearWizardDataInElement();\n this.loadTenantList(this.getWizardDataUrl(input.value), this.mergeSelectSystemData, (error) => {\n console.error(`loading wizard data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n };\n\n private handleSelectSystemLoadMoreButton = (e: Event): void => {\n const ul = document.getElementById('subscriptionWizardV2SelectSystem_orga_selection_list');\n if (!ul) {\n console.debug(\"handleSelectSystemLoadMoreButton: ul list not found\");\n return\n }\n const data = this.readSelectSystemDataFromElement();\n if (!data) {\n console.log(\"handleSelectSystemLoadMoreButton: cannot read data from element\");\n return;\n }\n const more = !!data._links && !!data._links[\"more\"] ? data._links[\"more\"].href : null;\n if (!more) {\n return;\n }\n this.loadTenantList(more, this.mergeSelectSystemData, (error) => {\n console.error(`handleSelectSystemLoadMoreButton: loading wizard data failed ${error}`)\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_loadWizardDataFailed_error_message'), true);\n });\n };\n\n private renderSelectSystem = (): void => {\n const uList = document.getElementById('subscriptionWizardV2SelectSystem_orga_selection_list');\n if (!uList) {\n console.error('organization html list missing');\n return;\n }\n uList.dataset.selectedorganization = this._wizardState.organization;\n uList.dataset.selectedtenant = this._wizardState.tenant;\n const list = this._mdcLists['subscriptionWizardV2SelectSystem_orga_selection_list'];\n if (!list) {\n console.error('organization mdc list missing');\n return;\n }\n const listItems = list.listElements;\n for (let i = 0; i < listItems.length; i++) {\n const li = listItems[i];\n if (li.dataset.tenantid == uList.dataset.selectedtenant) {\n list.selectedIndex = i;\n }\n }\n const btnBack = document.getElementById('subscriptionWizardV2SelectSystem_back');\n if (btnBack && this._entrancePage == WizardPages.SelectSystem) {\n btnBack.classList.add('element-hidden');\n }\n this.renderSelectSystemList();\n this.renderSelectSystemAccept();\n //todo: render create new system button based on limit\n };\n\n private renderSelectSystemAccept = (): void => {\n const btn = document.getElementById('subscriptionWizardV2SelectSystem_accept');\n if (!btn) {\n console.error('accept button in select system missing');\n }\n const list = this._mdcLists['subscriptionWizardV2SelectSystem_orga_selection_list'];\n if (!list) {\n console.error('organization list missing');\n return;\n }\n const listroot = list.root;\n btn.disabled = listroot.dataset.selectedorganization === '' || listroot.dataset.selectedtenant === '' || listroot.dataset.selectedtenantdomain === ''\n\n // btn.disabled = list.selectedIndex < 0;\n };\n\n private renderSelectSystemList = () => {\n const data = this.readSelectSystemDataFromElement();\n if (!data) {\n console.log(\"renderSelectSystemList: data missing\");\n return;\n }\n const selectionListId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.log(`renderSelectSystemList: cannot find ul element with id ${selectionListId}`);\n return;\n }\n\n const collectionList = document.createElement('ul');\n\n data.organizations.forEach((organization: wizardOrga) => {\n let orgaDiv = this.getSelectSystemListItemGroup(organization);\n\n if (organization.tenants) {\n organization.tenants.forEach((tenant: wizardTenant, index: number) => {\n const tenantLi = this.getSelectSystemListItem(tenant);\n orgaDiv.appendChild(tenantLi);\n\n if (index == organization.tenants.length - 1) {\n orgaDiv.insertAdjacentHTML('beforeend', `
  • `);\n }\n });\n }\n collectionList.appendChild(orgaDiv);\n });\n\n ul.innerHTML = collectionList.innerHTML;\n\n ul.dataset.selectedorganization = '';\n ul.dataset.selectedtenant = '';\n ul.dataset.selectedtenantdomain = '';\n\n this.resetSelectSystemMdcList(selectionListId);\n\n this.renderSelectSystemListItemCountInfoText();\n\n this.renderSelectSystemListActions();\n\n this.renderSelectSystemAccept();\n };\n\n private renderSelectSystemListActions = () => {\n const hiddenClass = 'element-hidden';\n const btnId = 'subscriptionWizardV2SelectSystem_orga_selection_list_btn_more';\n const btn = document.getElementById(btnId);\n const parentDiv = btn.parentElement;\n if (this.hasSelectSystemListMoreDataToLoad()) {\n parentDiv.classList.remove(hiddenClass);\n return\n }\n parentDiv.classList.add(hiddenClass);\n };\n\n private hasSelectSystemListMoreDataToLoad = (): boolean => {\n const data = this.readSelectSystemDataFromElement();\n if (!data) {\n console.log(\"handleSelectSystemLoadMoreButton: cannot read data from element\");\n return false;\n }\n const more = !!data._links && !!data._links[\"more\"] ? data._links[\"more\"].href : null;\n if (!more) {\n return false;\n }\n return true;\n };\n\n private resetSelectSystemMdcList = (id: string) => {\n const mdcList: mdc.list.MDCList = this._mdcLists[id];\n if (!mdcList) {\n console.log(`resetSelectSystemMdcList: cannot find mdcList with id ${id}`);\n return\n }\n\n mdcList.destroy();\n\n const newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(id));\n newMdcList.listen('MDCList:action', this.handleSelectSystemListItemClick);\n\n this._mdcLists[id] = newMdcList;\n }\n\n private getSelectSystemListItemGroup = (organization: wizardOrga): HTMLDivElement => {\n const orgaDiv = document.createElement('div');\n orgaDiv.classList.add('organization-list-item-group');\n orgaDiv.setAttribute('data-orgaid', organization.organizationId);\n\n const subheader = document.createElement('h3');\n subheader.classList.add('mdc-list-group__subheader');\n subheader.innerText = organization.organizationName;\n orgaDiv.appendChild(subheader);\n return orgaDiv\n };\n\n private getSelectSystemListItem = (tenant: wizardTenant): HTMLLIElement => {\n const li = document.createElement('li');\n li.classList.add('mdc-list-item', 'subscriptionWizardV2__selectSystemList__listItem');\n\n if (tenant.tenantId === this._wizardState.tenant) {\n li.classList.add('mdc-list-item--selected');\n li.setAttribute('aria-selected', 'true');\n }\n\n const tenantIsTerminated: boolean = !(tenant.terminationState == TenantTerminationState.notTerminated);\n if (tenantIsTerminated || tenant.isAppAlreadySubscribed) {\n li.classList.add('mdc-list-item--disabled');\n }\n\n li.setAttribute('tabindex', '-1');\n li.setAttribute('data-tenantid', tenant.tenantId);\n li.setAttribute('data-tenantdomain', tenant.tenantDomain);\n\n const prefixedDomainSuffix = document.getElementById('prefixedDomainSuffix').innerText;\n\n li.insertAdjacentHTML('beforeend',\n `\n \n ${Escaping.escapeHtml(tenant.tenantDisplayName)}\n https://${tenant.tenantDomain}${prefixedDomainSuffix}\n `\n );\n\n const stateDiv = document.createElement('div');\n stateDiv.classList.add('subscriptionWizardV2__selectSystemList__listItem-subscription-state');\n if (tenantIsTerminated) {\n stateDiv.innerText = this._i18n.getTranslation('order_wizard_section_TerminatedTenant_subscribed_label');\n }\n if (tenant.isAppAlreadySubscribed) {\n stateDiv.innerText = this._i18n.getTranslation('order_wizard_section_existingTenant_app_already_subscribed_label');\n }\n\n li.appendChild(stateDiv);\n return li;\n };\n\n private getSelectSystemListItemCount = (): number => {\n const selectionListId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.log(`cannot find ul element with id ${selectionListId}`);\n return 0;\n }\n return ul.getElementsByClassName('subscriptionWizardV2__selectSystemList__listItem').length;\n };\n\n private renderSelectSystemListItemCountInfoText = (): void => {\n const elementId = 'subscriptionWizardV2SelectSystem_list_counter'\n const p = document.getElementById(elementId);\n if (!p) {\n console.log(`cannot find p element with id ${elementId}`);\n return;\n }\n const itemCount = this.getSelectSystemListItemCount();\n const wizardData = this.readSelectSystemDataFromElement();\n const i18nKey = wizardData._links && wizardData._links[\"more\"] ? 'subscriptionWizardV2_selectSystem_listCount_infoText_with_more' : 'subscriptionWizardV2_selectSystem_listCount_infoText';\n p.innerText = i18n.replaceTranslationPlaceholder(this._i18n.getTranslation(i18nKey), \"{COUNTER}\", itemCount.toString());\n };\n\n //mark: customerInfo\n private setupCustomerInfo = (): void => {\n const customerInfo = this._wizardPageElements['subscriptionWizardV2CustomerInfo'];\n if (!customerInfo) {\n console.info(\"customer info not found\");\n return;\n }\n const btnAccept = document.getElementById('subscriptionWizardV2CustomerInfo_accept');\n\n btnAccept.addEventListener('click', this.acceptCustomerInfo);\n\n const btnBack = document.getElementById('subscriptionWizardV2CustomerInfo_back');\n btnBack.addEventListener('click', () => {\n this.goToPreviousPage();\n });\n\n const mandatoryFields: HTMLInputElement[] = [\n document.getElementById('subscriptionWizardV2CustomerInfo_firstname_input'),\n document.getElementById('subscriptionWizardV2CustomerInfo_lastname_input'),\n document.getElementById('subscriptionWizardV2CustomerInfo_phone_input'),\n document.getElementById('subscriptionWizardV2CustomerInfo_country_input'),\n document.getElementById('subscriptionWizardV2CustomerInfo_company_input')\n ];\n mandatoryFields.forEach((field: HTMLInputElement) => {\n field.addEventListener('input', () => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.renderCustomerInfoButton();\n }, 250);\n })\n });\n\n const infoSelect = this._mdcSelects['subscriptionWizardV2CustomerInfo_employeesCount_select'];\n if (!infoSelect) {\n console.info(\"employees count select for customer info not found\");\n return;\n }\n //workaround for: selectedIndex updates via api on not visible selects will update the index, but not the layout of the select\n const observer = new MutationObserver(() => {\n if (customerInfo.classList.contains(\"subscriptionWizardV2__step--current\")) {\n this.renderCustomerInfoEmployeesCount();\n }\n });\n observer.observe(customerInfo, {attributes: true});\n };\n\n private acceptCustomerInfo = (): void => {\n this.patchWizardState({\n customerInfo: {\n firstname: this._mdcTextFields['subscriptionWizardV2CustomerInfo_firstname_input'].value,\n lastname: this._mdcTextFields['subscriptionWizardV2CustomerInfo_lastname_input'].value,\n phone: this._mdcTextFields['subscriptionWizardV2CustomerInfo_phone_input'].value,\n country: this._mdcTextFields['subscriptionWizardV2CustomerInfo_country_input'].value,\n company: this._mdcTextFields['subscriptionWizardV2CustomerInfo_company_input'].value,\n employeesCount: this.employeesCountValueToKey(this._mdcSelects['subscriptionWizardV2CustomerInfo_employeesCount_select'].value)\n }\n });\n this.goToPage(WizardPages.CreateSystem);\n };\n\n private renderCustomerInfo = (): void => {\n const customerInfoState = this._wizardState.customerInfo;\n this._mdcTextFields['subscriptionWizardV2CustomerInfo_firstname_input'].value = customerInfoState.firstname;\n this._mdcTextFields['subscriptionWizardV2CustomerInfo_lastname_input'].value = customerInfoState.lastname;\n this._mdcTextFields['subscriptionWizardV2CustomerInfo_phone_input'].value = customerInfoState.phone;\n this._mdcTextFields['subscriptionWizardV2CustomerInfo_country_input'].value = customerInfoState.country;\n this._mdcTextFields['subscriptionWizardV2CustomerInfo_company_input'].value = customerInfoState.company;\n\n const btnBack = document.getElementById('subscriptionWizardV2CustomerInfo_back');\n if (btnBack && this._entrancePage == WizardPages.CustomerInfo) {\n btnBack.classList.add('element-hidden');\n }\n\n this.renderCustomerInfoEmployeesCount();\n this.renderCustomerInfoButton();\n };\n\n private renderCustomerInfoEmployeesCount = (): void => {\n const select = this._mdcSelects['subscriptionWizardV2CustomerInfo_employeesCount_select'];\n select.selectedIndex = this.employeesCountKeyToIndex(this._wizardState.customerInfo.employeesCount);\n };\n\n private renderCustomerInfoButton = (): void => {\n const btnAccept = document.getElementById('subscriptionWizardV2CustomerInfo_accept');\n btnAccept.disabled = true;\n\n const mandatoryFields: mdc.textField.MDCTextField[] = this.getRequiredTextFieldsForParent('subscriptionWizardV2CustomerInfo');\n\n let disable = false;\n mandatoryFields.forEach((field: mdc.textField.MDCTextField) => {\n if (!field.valid || !field.value.trim()) {\n disable = true;\n }\n });\n btnAccept.disabled = disable;\n };\n\n //mark: shoppingCart\n private setupShoppingCart = (): void => {\n const btnAccept = document.getElementById('subscriptionWizardV2ShoppingCart_accept');\n if (!btnAccept) {\n console.error(\"accept button for page 'shoppingCart' not found\");\n return;\n }\n btnAccept.addEventListener('click', this.acceptShoppingCart);\n const btnBack = document.getElementById('subscriptionWizardV2ShoppingCart_back');\n if (!btnBack) {\n console.error(\"back button for page 'shoppingCart' not found\");\n return;\n }\n btnBack.addEventListener('click', () => {\n this.goToPreviousPage();\n })\n const btnChangeDomain = document.getElementById('subscriptionWizardV2ShoppingCart_system_btn_change');\n if (btnChangeDomain) {\n btnChangeDomain.addEventListener('click', this.openChangeDomainDialog);\n }\n const btnChangeCustomerInfo = document.getElementById('subscriptionWizardV2ShoppingCart_customerInfo_btn_change');\n if (btnChangeCustomerInfo) {\n btnChangeCustomerInfo.addEventListener('click', this.openChangeCustomerInfoDialog);\n }\n const appDocumentsGroup = document.getElementById('subscriptionWizardV2ShoppingCart_documents_group');\n if (appDocumentsGroup) {\n this.setupAppDocumentsGroup();\n }\n const basisAppDocumentsGroup = document.getElementById('subscriptionWizardV2ShoppingCart_basisdocuments_group');\n if (basisAppDocumentsGroup) {\n this.setupBasisAppDocumentsGroup();\n }\n const appPriceList = document.getElementById('subscriptionWizardV2ShoppingCart_app_priceList');\n if (appPriceList) {\n appPriceList.addEventListener('scroll', this.handlePriceListScroll);\n this.elementScrollToBottom(appPriceList);\n this.elementScrollToTop(appPriceList);\n }\n this.showSingleArticleMode();\n if (this._orderModeActive) {\n this.showOrderMode();\n }\n };\n\n private showSingleArticleMode = () => {\n const single = document.getElementById('subscriptionWizardV2ShoppingCart_articles');\n if (!single) {\n console.error(\"element 'subscriptionWizardV2ShoppingCart_articles' not found\");\n return;\n }\n const order = document.getElementById('subscriptionWizardV2ShoppingCart_orderArticles');\n if (!order) {\n console.error(\"element 'subscriptionWizardV2ShoppingCart_orderArticles' not found\");\n return;\n }\n single.classList.remove('hide-element');\n order.classList.add('hide-element');\n };\n\n private showOrderMode = () => {\n const single = document.getElementById('subscriptionWizardV2ShoppingCart_articles');\n if (!single) {\n console.error(\"element 'subscriptionWizardV2ShoppingCart_articles' not found\");\n return;\n }\n const order = document.getElementById('subscriptionWizardV2ShoppingCart_orderArticles');\n if (!order) {\n console.error(\"element 'subscriptionWizardV2ShoppingCart_orderArticles' not found\");\n return;\n }\n order.classList.remove('hide-element');\n single.classList.add('hide-element');\n };\n\n private handlePriceListScroll = (e: Event) => {\n const priceList = e.target;\n const shadowDiv = priceList.querySelector('.top-shadow-element');\n if (!shadowDiv) {\n console.debug('price list shadow element not found');\n return;\n }\n if (!this.elementScrolledTop(priceList)) {\n shadowDiv.classList.add('top-shadow-element__active');\n } else {\n shadowDiv.classList.remove('top-shadow-element__active');\n }\n this.renderPriceListScrollIndicators();\n }\n\n private setupAppDocumentsGroup = (): void => {\n const btnAppDocuments = document.getElementById('subscriptionWizardV2ShoppingCart_documents_group_btn_open');\n if (!btnAppDocuments) {\n console.error('app documents button not found');\n return;\n }\n const menu = this._mdcMenus['subscriptionWizardV2ShoppingCart_documents_group_menu'];\n if (!menu) {\n console.error('app document menu not found');\n return;\n }\n btnAppDocuments.addEventListener('click', (e: Event) => {\n e.preventDefault();\n menu.open = !menu.open;\n return false;\n });\n\n const listElements = menu.items;\n listElements.forEach((el: HTMLElement) => {\n el.addEventListener('click', () => {\n const url = el.dataset.doclink;\n window.open(url, '_blank');\n })\n })\n };\n\n private setupBasisAppDocumentsGroup = (): void => {\n const btnAppDocuments = document.getElementById('subscriptionWizardV2ShoppingCart_basisdocuments_group_btn_open');\n if (!btnAppDocuments) {\n console.debug('basis app documents button not found');\n return;\n }\n const menu = this._mdcMenus['subscriptionWizardV2ShoppingCart_basisdocuments_group_menu'];\n if (!menu) {\n console.debug('basis app documents button not found');\n return;\n }\n btnAppDocuments.addEventListener('click', (e: Event) => {\n e.preventDefault();\n menu.open = !menu.open;\n return false;\n });\n\n const listElements = menu.items;\n listElements.forEach((el: HTMLElement) => {\n el.addEventListener('click', () => {\n const url = el.dataset.doclink;\n window.open(url, '_blank');\n })\n })\n };\n\n private acceptShoppingCart = (): void => {\n this.dispatchGoogleTagManagerEvent();\n this.goToPage(WizardPages.Final);\n\n if (!this._wizardState.organization) {\n this.newOrganizationCheckout();\n return\n }\n if (!this._wizardState.tenant) {\n this.newTenantCheckout();\n return;\n }\n this.subscribeAppCheckout();\n };\n\n private newOrganizationCheckout = (): void => {\n setTimeout(() => {\n this.createOrganization((orgaId: string) => {\n this.patchWizardState({organization: orgaId});\n this.createTenantForOrganization((tenantId: string) => {\n this.patchWizardState({tenant: tenantId});\n this.updateTenant(() => {\n this.subscribe(() => {\n this.setSubscriptionSuccessful(true);\n }, this.subscriptionError);\n }, this.subscriptionError);\n }, this.subscriptionError);\n }, this.subscriptionError);\n }, 3000)\n };\n\n private newTenantCheckout = (): void => {\n setTimeout(() => {\n this.createTenantForOrganization((tenantId: string) => {\n this.patchWizardState({tenant: tenantId});\n this.updateTenant(() => {\n this.subscribe(() => {\n this.setStorageForPreselectedOrganizationUpdateEvent();\n this.setSubscriptionSuccessful(true);\n }, this.subscriptionError);\n }, this.subscriptionError);\n }, this.subscriptionError);\n }, 3000);\n }\n\n private subscribeAppCheckout = (): void => {\n setTimeout(() => {\n this.subscribe(() => {\n this.setSubscriptionSuccessful(true);\n }, this.subscriptionError);\n }, 3000);\n };\n\n private subscriptionError = (error: string): void => {\n //todo: proper error handling\n this.hideLongerExecutionMessage();\n console.error(error)\n this.goToPreviousPage();\n console.error(`subscription failed ${error}`)\n switch (error) {\n case \"app dependency conflict\":\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_subscriptionFailed_error_message_appOrDepNotApproved'), true);\n break;\n default:\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_subscriptionFailed_error_message'), true);\n }\n };\n\n private renderShoppingCart = (): void => {\n const company = document.getElementById('subscriptionWizardV2ShoppingCart_contact_company');\n if (!company) {\n console.error(\"contact field 'company' missing\");\n }\n const name = document.getElementById('subscriptionWizardV2ShoppingCart_contact_name');\n if (!name) {\n console.error(\"contact field 'name' missing\");\n }\n const country = document.getElementById('subscriptionWizardV2ShoppingCart_contact_country');\n if (!country) {\n console.error(\"contact field 'country' missing\");\n }\n const phone = document.getElementById('subscriptionWizardV2ShoppingCart_contact_phone');\n if (!phone) {\n console.error(\"contact field 'phone' missing\");\n }\n company.innerText = this._wizardState.customerInfo.company;\n name.innerText = `${this._wizardState.customerInfo.firstname} ${this._wizardState.customerInfo.lastname}`;\n country.innerText = this._wizardState.customerInfo.country;\n phone.innerText = this._wizardState.customerInfo.phone;\n\n const domain = document.getElementById('subscriptionWizardV2ShoppingCart_system_domain');\n if (!domain) {\n console.error(\"system field 'domain' missing\");\n }\n domain.innerText = this.getUrlFromDomain();\n const baseAppNote = document.getElementById('subscriptionWizardV2ShoppingCart_baseApp_note');\n if (!baseAppNote) {\n console.error(\"element base app note missing\");\n }\n const changeSystemBtn = document.getElementById('subscriptionWizardV2ShoppingCart_system_btn_change');\n if (!changeSystemBtn) {\n console.error('change system button missing');\n }\n const customerData = document.getElementById('subscriptionWizardV2ShoppingCart_customer_data');\n if (!customerData) {\n console.error('customer data field missing');\n }\n if (this._createNewTenant) {\n baseAppNote.classList.remove('element-hidden');\n changeSystemBtn.style.display = '';\n customerData.style.display = '';\n } else {\n baseAppNote.classList.add('element-hidden');\n changeSystemBtn.style.display = 'none';\n customerData.style.display = 'none';\n }\n\n this.renderPriceListScrollIndicators();\n };\n\n private renderPriceListScrollIndicators = (): void => {\n const priceList = document.getElementById('subscriptionWizardV2ShoppingCart_app_priceList');\n if (!priceList) {\n console.debug('price list element not found');\n return;\n }\n const topScrollIndicator = priceList.querySelector('.scroll-indicator.top');\n const bottomScrollIndicator = priceList.querySelector('.scroll-indicator.bottom');\n if (!topScrollIndicator || !bottomScrollIndicator) {\n console.error('scroll indicator missing');\n return;\n }\n\n let scrollable: boolean;\n this.executeElementCalculationForInvisibleCart(() => {\n scrollable = this.elementScrollable(priceList);\n });\n if (!scrollable) {\n topScrollIndicator.style.display = 'none';\n bottomScrollIndicator.style.display = 'none';\n return;\n }\n\n topScrollIndicator.style.display = '';\n bottomScrollIndicator.style.display = '';\n\n let scrolledTop: boolean;\n this.executeElementCalculationForInvisibleCart(() => {\n scrolledTop = this.elementScrolledTop(priceList);\n });\n if (scrolledTop) {\n topScrollIndicator.style.display = 'none';\n }\n let scrolledBottom: boolean;\n this.executeElementCalculationForInvisibleCart(() => {\n scrolledBottom = this.elementScrolledBottom(priceList);\n });\n if (scrolledBottom) {\n console.debug(`element is scrolled BOTTOM with scrollHeight = ${priceList.scrollHeight} and offsetHeight = ${priceList.offsetHeight}`);\n bottomScrollIndicator.style.display = 'none';\n }\n };\n\n private isMarketingSubscriptionChecked = (): boolean => {\n const marketingCheckbox = this._mdcCheckboxes['subscriptionWizardV2ShoppingCart_marketingCommunication_checkbox'];\n console.debug(\"marketingCheckbox: \", marketingCheckbox);\n if (marketingCheckbox) {\n console.debug(`marketingCheckbox value: ${marketingCheckbox.checked}`);\n }\n return marketingCheckbox ? marketingCheckbox.checked : false;\n };\n\n //workaround for elements with style \"display: 'none'\"\n //such elements have height and width set to 0, so size based calculations for rendering will fail\n private executeElementCalculationForInvisibleCart = (calculation: () => void): void => {\n const hiddenClass = 'subscriptionWizardV2__step--hidden';\n const shoppingCart = document.getElementById('subscriptionWizardV2ShoppingCart');\n if (!shoppingCart) {\n console.debug('shopping cart page not found');\n calculation();\n return;\n }\n if (!shoppingCart.classList.contains(hiddenClass)) {\n console.debug('shopping cart page is not hidden');\n calculation();\n return;\n }\n shoppingCart.classList.remove(hiddenClass);\n calculation()\n shoppingCart.classList.add(hiddenClass);\n };\n\n //mark: final\n private renderFinal = (): void => {\n const pBar = this._mdcProgressBars['subscriptionWizardV2Final_progressbar'];\n if (!pBar) {\n console.debug(\"progress bars:\", this._mdcProgressBars);\n console.error(\"progress bar in final missing\");\n return;\n }\n const btnFinal = document.getElementById('subscriptionWizardV2Final_enter_cloud');\n if (!btnFinal) {\n console.error(\"button in final missing\");\n return;\n }\n if (this._subscriptionSuccessful) {\n this.hideLongerExecutionMessage();\n pBar.close();\n btnFinal.disabled = false;\n btnFinal.addEventListener('click', () => {\n open(this.getGettingStartedUrl(), \"_blank\");\n });\n return;\n }\n pBar.open();\n btnFinal.disabled = true;\n };\n\n //mark: notification\n private showNotification = (message: string, disableCloseTimer: boolean = false): void => {\n if (!this._mdcSnackbars.hasOwnProperty('subscriptionWizardV2Notification')) {\n console.error('mdcSnackbar not found');\n return;\n }\n const defaultCloseTimeoutValue = 10000;\n const disableCloseTimeoutValue = -1;\n const mdcSnackbar = this._mdcSnackbars['subscriptionWizardV2Notification'];\n mdcSnackbar.labelText = message;\n mdcSnackbar.closeOnEscape = false;\n mdcSnackbar.timeoutMs = disableCloseTimer ? disableCloseTimeoutValue : defaultCloseTimeoutValue;\n mdcSnackbar.open();\n };\n\n //mark: changeDomain dialog\n private setupChangeDomainDialog(): void {\n const dialog = this._mdcDialogs['subscriptionWizardV2ChangeDomainDialog'];\n if (!dialog) {\n console.error('change domain dialog missing');\n return;\n }\n const input = this._mdcTextFields['subscriptionWizardV2ChangeDomainDialog_domain_input'];\n if (!input) {\n console.error('change domain input missing');\n return;\n }\n dialog.listen('MDCDialog:opening', () => {\n this.renderChangeDomainDialog();\n });\n dialog.listen('MDCDialog:closed', (e: mdc.dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action == \"accept\") {\n this.patchWizardState({domain: input.value});\n }\n });\n const htmlInput = input.root.getElementsByTagName('input')[0];\n if (!htmlInput) {\n console.error('change domain html input missing');\n return;\n }\n htmlInput.addEventListener('input', () => {\n this.disableChangeDomainAcceptButton();\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.renderChangeDomainAcceptButton();\n }, 500)\n });\n }\n\n private renderChangeDomainDialog = (): void => {\n const input = this._mdcTextFields['subscriptionWizardV2ChangeDomainDialog_domain_input'];\n if (!input) {\n console.error('change domain input missing');\n return;\n }\n input.value = this._wizardState.domain;\n this.renderChangeDomainAcceptButton();\n };\n\n private disableChangeDomainAcceptButton = (): void => {\n const btn = document.getElementById('subscriptionWizardV2ChangeDomainDialog_btn_accept');\n if (!btn) {\n console.error('change domain accept button missing');\n return;\n }\n btn.disabled = true;\n };\n\n private enableChangeDomainAcceptButton = (): void => {\n const btn = document.getElementById('subscriptionWizardV2ChangeDomainDialog_btn_accept');\n if (!btn) {\n console.error('change domain accept button missing');\n return;\n }\n btn.disabled = false;\n };\n\n private renderChangeDomainAcceptButton = (): void => {\n this.disableChangeDomainAcceptButton();\n const input = this._mdcTextFields['subscriptionWizardV2ChangeDomainDialog_domain_input'];\n if (!input) {\n console.error(\"material instance for create system input missing\");\n return;\n }\n input.valid = true;\n input.helperTextContent = \"\";\n if (input.value) {\n if (input.value.length < 3) {\n input.valid = false;\n input.helperTextContent = this._i18n.getTranslation('subscriptionWizardV2_domain_minlength_message');\n return;\n }\n this.isDomainValid(input.value,\n (dto) => {\n if (!dto.exists) {\n if (dto.domain != input.value) {\n console.info(`checked value and actual input value are unequal: checked '${dto.domain}', actual '${input.value}'`);\n this.renderChangeDomainAcceptButton();\n return;\n }\n this.enableChangeDomainAcceptButton();\n return\n }\n let message = this._i18n.getTranslation('subscriptionWizardV2_domain_not_available_message');\n if (dto.message === \"base uri contains invalid characters\") {\n message = this._i18n.getTranslation('subscriptionWizardV2_domain_invalid_chars_message');\n }\n input.valid = false;\n input.helperTextContent = message;\n },\n (error: string) => {\n console.error(\"domain validity check failed:\", error);\n this.showNotification(this._i18n.getTranslation('subscriptionWizardV2_domainValidationFailed_error_message'));\n });\n }\n }\n\n private openChangeDomainDialog = (): void => {\n const dialog = this._mdcDialogs['subscriptionWizardV2ChangeDomainDialog'];\n if (!dialog) {\n console.error('change domain dialog missing');\n return;\n }\n dialog.open();\n };\n\n //mark: changeCustomerInfo dialog\n private setupChangeCustomerInfoDialog = (): void => {\n const dialog = this._mdcDialogs['subscriptionWizardV2ChangeCustomerInfoDialog'];\n if (!dialog) {\n console.error('change customer info dialog missing');\n return;\n }\n dialog.listen('MDCDialog:opening', () => {\n this.renderChangeCustomerInfoDialog();\n });\n dialog.listen('MDCDialog:opened', () => {\n this.renderChangeCustomerInfoDialogEmployeesCount();\n });\n dialog.listen('MDCDialog:closed', (e: mdc.dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action == \"accept\") {\n this.acceptChangeCustomerInfo();\n }\n });\n\n const mandatoryFields: HTMLInputElement[] = [\n document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_firstname_input'),\n document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_lastname_input'),\n document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_phone_input'),\n document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_country_input'),\n document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_company_input')\n ];\n\n mandatoryFields.forEach((field: HTMLInputElement) => {\n field.addEventListener('input', () => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.renderChangeCustomerInfoDialogAcceptButton();\n }, 250);\n })\n });\n };\n\n private renderChangeCustomerInfoDialogAcceptButton = (): void => {\n const btnAccept = document.getElementById('subscriptionWizardV2ChangeCustomerInfoDialog_btn_accept');\n btnAccept.disabled = true;\n const mandatoryFields: mdc.textField.MDCTextField[] = this.getRequiredTextFieldsForParent('subscriptionWizardV2ChangeCustomerInfoDialog');\n let disable = false;\n mandatoryFields.forEach((field: mdc.textField.MDCTextField) => {\n if (!field.valid || !field.value.trim()) {\n disable = true;\n }\n });\n btnAccept.disabled = disable;\n };\n\n private renderChangeCustomerInfoDialog = (): void => {\n const customerInfoState = this._wizardState.customerInfo;\n this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_firstname_input'].value = customerInfoState.firstname;\n this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_lastname_input'].value = customerInfoState.lastname;\n this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_phone_input'].value = customerInfoState.phone;\n this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_country_input'].value = customerInfoState.country;\n this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_company_input'].value = customerInfoState.company;\n\n this.renderChangeCustomerInfoDialogEmployeesCount();\n this.renderChangeCustomerInfoDialogAcceptButton();\n };\n\n private renderChangeCustomerInfoDialogEmployeesCount = (): void => {\n const select = this._mdcSelects['subscriptionWizardV2ChangeCustomerInfoDialog_employeesCount_select'];\n select.selectedIndex = this.employeesCountKeyToIndex(this._wizardState.customerInfo.employeesCount);\n }\n\n private acceptChangeCustomerInfo = (): void => {\n this.patchWizardState({\n customerInfo: {\n firstname: this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_firstname_input'].value,\n lastname: this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_lastname_input'].value,\n phone: this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_phone_input'].value,\n country: this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_country_input'].value,\n company: this._mdcTextFields['subscriptionWizardV2ChangeCustomerInfoDialog_company_input'].value,\n employeesCount: this.employeesCountValueToKey(this._mdcSelects['subscriptionWizardV2ChangeCustomerInfoDialog_employeesCount_select'].value)\n }\n });\n };\n\n private openChangeCustomerInfoDialog = (): void => {\n const dialog = this._mdcDialogs['subscriptionWizardV2ChangeCustomerInfoDialog'];\n if (!dialog) {\n console.error('change domain dialog missing');\n return;\n }\n dialog.open();\n };\n\n //mark: helper\n private getEmptyState(): WizardState {\n return {\n domain: \"\",\n organization: \"\",\n organizationName: \"\",\n tenant: \"\",\n app: \"\",\n order: \"\",\n orderedApps: [],\n customerInfo: {\n firstname: \"\",\n lastname: \"\",\n phone: \"\",\n country: \"\",\n company: \"\",\n employeesCount: EmployeesCount.None\n }\n } as WizardState\n }\n\n private getUrlFromDomain = (): string => {\n const prefixedDomainSuffix = document.getElementById('prefixedDomainSuffix').innerText;\n return this._wizardState.domain ? `https://${this._wizardState.domain}${prefixedDomainSuffix}` : \"MISSING\";\n };\n\n private getGettingStartedUrl = (): string => {\n const gettingStarted = UrlHelpers.getMetaData('gettingStarted');\n return `${this.getUrlFromDomain()}${gettingStarted}`\n };\n\n private getWizardDataUrl = (search?: string): string => {\n const linkSelf = UrlHelpers.getLinkRelHref('self');\n let url = `${linkSelf}?app=${this._wizardState.app}`;\n if (search) {\n url = `${url}&search=${search}`\n }\n return url\n };\n\n private getOrganizationListUrl = (search?: string): string => {\n let uri = new URL(UrlHelpers.getLinkRelHref('organizations'));\n uri.searchParams.set('withpaging', '1');\n if (search) {\n uri.searchParams.set('search', search);\n }\n return uri.toString();\n };\n\n private readSelectSystemDataFromElement = (): wizardData => {\n const selectionListId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n return this.readDataFromElement(selectionListId);\n };\n\n private readCreateSystemDataFromElement = (): wizardData => {\n const menuListId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n return this.readDataFromElement(menuListId);\n };\n\n private readDataFromElement = (selectionListId: string): wizardData => {\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.error(`cannot find element with id ${selectionListId}`);\n return null;\n }\n const data = ul.dataset.wizarddata;\n if (!data) {\n return {\n organizations: []\n } as wizardData;\n }\n return JSON.parse(data);\n }\n\n private writeSelectSystemDataToElement = (data: wizardData): void => {\n const selectionListId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n return this.writeDataToElement(selectionListId, data);\n };\n\n private writeCreateSystemDataToElement = (data: wizardData): void => {\n const menuListId = 'subscriptionWizardV2OrganizationDropdownSearch_menu_list';\n this.writeDataToElement(menuListId, data);\n };\n\n private writeDataToElement = (selectionListId: string, data: wizardData): void => {\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.error(`cannot find element with id ${selectionListId}`);\n return\n }\n ul.dataset.wizarddata = JSON.stringify(data)\n }\n\n private clearWizardDataInElement = (): void => {\n const selectionListId = 'subscriptionWizardV2SelectSystem_orga_selection_list';\n const ul = document.getElementById(selectionListId);\n if (!ul) {\n console.error(`cannot find element with id ${selectionListId}`);\n return\n }\n ul.dataset.wizarddata = '';\n ul.dataset.selectedorganization = '';\n ul.dataset.selectedtenant = '';\n ul.dataset.selectedtenantdomain = '';\n }\n\n private customerInfoDtoFromState = (state: WizardState): CustomerInfoDto => {\n const info = state.customerInfo;\n return {\n firstname: info.firstname,\n lastname: info.lastname,\n company: info.company,\n country: info.country,\n phone: info.phone,\n employeesCount: this.employeesCountKeyToValue(info.employeesCount)\n }\n };\n\n private elementScrolledTop = (el: HTMLElement): boolean => {\n return el.scrollTop == 0;\n };\n\n private elementScrolledBottom = (el: HTMLElement): boolean => {\n return el.scrollTop === (el.scrollHeight - el.offsetHeight);\n };\n\n private elementScrollable = (el: HTMLElement): boolean => {\n return el.scrollHeight != el.offsetHeight;\n };\n\n private elementScrollToTop = (el: HTMLElement): void => {\n el.scrollTo(0, 0);\n };\n\n private elementScrollToBottom = (el: HTMLElement): void => {\n el.scrollTop = el.scrollHeight - el.offsetHeight;\n };\n\n private employeesCountKeyToValue = (ec: EmployeesCount): string => {\n switch (ec) {\n case EmployeesCount.None:\n return \"0\";\n case EmployeesCount.LessThan50:\n return \"1-49\";\n case EmployeesCount.LessThan250:\n return \"50-249\";\n case EmployeesCount.Over250:\n return \"249+\";\n }\n };\n\n private employeesCountKeyToIndex = (ec: EmployeesCount): number => {\n switch (ec) {\n case EmployeesCount.None:\n return 0;\n case EmployeesCount.LessThan50:\n return 1;\n case EmployeesCount.LessThan250:\n return 2;\n case EmployeesCount.Over250:\n return 3;\n }\n };\n\n private employeesCountValueToKey = (value: string): EmployeesCount => {\n //todo: there might be a safer way\n return value;\n };\n\n private getRequiredTextFieldsForParent = (parentId: string): mdc.textField.MDCTextField[] => {\n const mandatoryFields: mdc.textField.MDCTextField[] = [];\n const parent = document.getElementById(parentId);\n if (!parent) {\n console.debug(\"parent element not found\");\n return mandatoryFields;\n }\n const requiredFields = Array.apply(null, parent.querySelectorAll('.mdc-text-field__input[required]'));\n requiredFields.forEach((el: HTMLElement) => {\n if (!el.id) {\n console.debug(\"element has no id\");\n return;\n }\n const m = this._mdcTextFields[el.id];\n if (!m) {\n console.debug(\"no material instance found\");\n return;\n }\n mandatoryFields.push(m);\n });\n return mandatoryFields;\n };\n\n private getDomainSuggestion = (): string => {\n if (!this._wizardState.customerInfo || !this._wizardState.customerInfo.company) {\n console.debug(\"getDomainSuggestion: state attribute 'company' not found or empty:\", this._wizardState);\n return \"\";\n }\n const organization = this._wizardState.customerInfo.company;\n return this.getValidDomainString(organization);\n };\n\n private getValidDomainString = (s: string): string => {\n let validDomain = s.toLowerCase().trim();\n validDomain = this.removeCorporationSuffixes(validDomain);\n validDomain = this.replaceLanguageSpecificSpecialCharacters(validDomain);\n validDomain = this.removeSpecialCharacters(validDomain);\n validDomain = this.replaceWhiteSpace(validDomain);\n validDomain = this.removeExcessiveHyphen(validDomain);\n return validDomain;\n };\n\n private removeCorporationSuffixes = (s: string): string => {\n const suffixes = [\n \" gbr\",\n \" gmbh\",\n \" mbh\",\n \" ohg\",\n \" kg\",\n \" ag\",\n \" ug\",\n \" partg\",\n \" eg\",\n \" epg\",\n \" epc\",\n \" co\",\n \" corp\",\n \" llc\",\n \" ltd\",\n \" inc\"\n ];\n let i = 0;\n const len = suffixes.length;\n s = s.toLowerCase();\n while (i < len) {\n const reverseSuffix = suffixes[i].toLowerCase().split(\"\").reverse().join(\"\");\n const reverseString = s.split(\"\").reverse().join(\"\");\n s = reverseString.replace(reverseSuffix, \"\").split(\"\").reverse().join(\"\");\n i++;\n }\n return s.trim();\n };\n\n private removeSpecialCharacters = (s: string): string => {\n return s.replace(/[^a-zA-Z \\-]/g, \"\");\n };\n\n private replaceLanguageSpecificSpecialCharacters = (s: string): string => {\n const replacements = {\n 'ae': '\u00E4|\u00C4|\u00E6|\u00C6',\n 'oe': '\u00F6|\u00D6',\n 'ue': '\u00FC|\u00DC',\n 'a': '\u00E1|\u00E0|\u00E3|\u00E2|\u00E5|\u00C0|\u00C1|\u00C3|\u00C2|\u00C5',\n 'e': '\u00E9|\u00E8|\u00EA|\u00EB|\u00C9|\u00C8|\u00CA|\u00CB',\n 'i': '\u00ED|\u00EC|\u00EE|\u00EF|\u00CD|\u00CC|\u00CE|\u00CF',\n 'o': '\u00F3|\u00F2|\u00F4|\u00F5|\u00F8|\u00D3|\u00D2|\u00D4|\u00D5|\u00D8',\n 'u': '\u00FA|\u00F9|\u00FB|\u00DA|\u00D9|\u00DB',\n 'c': '\u00E7|\u00C7',\n 'n': '\u00F1|\u00D1'\n };\n for (const key in replacements) {\n s = s.replace(new RegExp(replacements[key], 'g'), key);\n }\n return s;\n };\n\n private replaceWhiteSpace = (s: string): string => {\n return this.replaceAll(s, \" \", \"-\");\n };\n\n private removeExcessiveHyphen = (s: string): string => {\n const len = s.length;\n let replace = false;\n const chars: string[] = [];\n for (let i = 0; i < len; i++) {\n const c = s.charAt(i);\n if (c == \"-\" && replace) {\n chars.push(\"*\");\n } else {\n chars.push(c);\n replace = c == \"-\";\n }\n }\n s = chars.join(\"\");\n s = this.replaceAll(s, \"*\", \"\");\n s = this.removeLeadingAndTrailingHyphen(s);\n return s\n };\n\n private removeLeadingAndTrailingHyphen = (s: string): string => {\n const start = s.charAt(0) == \"-\" ? 1 : 0;\n const end = s.charAt(s.length - 1) == \"-\" ? s.length - 1 : s.length;\n return s.substring(start, end);\n };\n\n private replaceAll = (s: string, sub: string, rep: string): string => {\n return s.split(sub).join(rep);\n };\n\n private setStorageForPreselectedOrganizationUpdateEvent = () => {\n if (this._withPreselectedOrganization) {\n window.localStorage.setItem('createTenantForOrganization', this._wizardState.organization);\n }\n };\n\n //mark: google analytics\n private dispatchGoogleTagManagerEvent = () => {\n if (!this._gtmActive || this._isSysAdmin || this._wizardState.app == 'basis') {\n return;\n }\n\n const affiliate = UrlHelpers.getQueryParameter(window.location.href, 'affiliate') || 'cloudcenter';\n\n const transactionProducts = this.getGTMTransactions(affiliate);\n if (transactionProducts.length < 1) {\n return;\n }\n\n const transactionId = `${this._wizardState.tenant}-${this.getTimestamp()}`;\n\n //dataLayer is no default property of window and thus will provoke an error. the property is added by code from the page head on load\n //\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n const event = {\n 'event': 'purchase',\n 'transaction_Id': transactionId, // Transaction ID. Required for purchases and refunds.\n 'value': 0.00, // Total transaction value (incl. tax and shipping)\n 'currency': \"EUR\", \n 'items': transactionProducts\n };\n // @ts-ignore\n window.dataLayer.push(event);\n };\n\n private dispatchGooglePageView = (target: WizardPages) => {\n if (!this._gtmActive || this._isSysAdmin) {\n return;\n }\n\n const mapping = this.getGoogleAnalyticsKey(target);\n console.log(`setting page for \"${target}\" as \"${mapping.pagePath}\"`);\n //dataLayer is no default property of window and thus will provoke an error. the property is added by code from the page head on load\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push({\n 'event': 'Pageview',\n 'pagePath': mapping.pagePath,\n 'pageTitle': mapping.pageTitle\n });\n };\n\n private getGTMTransactions = (affiliation: string): { [id: string]: string | number }[] => {\n const items = [];\n items.push({\n 'item_id': this._wizardState.app,\n 'item_name': this.getAppDisplayName(),\n 'item_category': 'Allgemein',\n 'affiliation': affiliation,\n 'price': 0.00,\n 'quantity': 1\n });\n if (this._createNewTenant) {\n items.push({\n 'item_id': 'basis',\n 'item_name': 'd.velop cloud Plattform Basis',\n 'item_category': 'Allgemein',\n 'affiliation': affiliation,\n 'price': 0.00,\n 'quantity': 1\n });\n }\n return items;\n };\n\n private getGoogleAnalyticsKey = (pageKey: WizardPages): GoogleTagManagerMapping => {\n let keyMap: { [key: string]: GoogleTagManagerMapping } = {};\n keyMap[WizardPages.SelectSystem] = {pagePath: '/center/subscription/selectTenant', pageTitle: 'Select Tenant'};\n keyMap[WizardPages.CustomerInfo] = {pagePath: '/center/subscription/customerInfo', pageTitle: 'Customer Info'}; //mark: new\n keyMap[WizardPages.CreateSystem] = {pagePath: '/center/subscription/newTenant', pageTitle: 'New Tenant'};\n keyMap[WizardPages.ShoppingCart] = {pagePath: '/center/subscription/summary', pageTitle: 'Summary'};\n keyMap[WizardPages.Final] = {pagePath: '/center/subscription/finish', pageTitle: 'Finish'};\n return keyMap[pageKey] || {pagePath: '/', pageTitle: 'unknown'};\n };\n\n private getTimestamp = (): string => {\n const d = new Date();\n const year = d.getFullYear().toString();\n const month = d.getMonth() + 1 < 10 ? \"0\" + (d.getMonth() + 1).toString() : (d.getMonth() + 1).toString();\n const day = d.getDate() < 10 ? \"0\" + d.getDate().toString() : d.getDate().toString();\n const hours = d.getHours() < 10 ? \"0\" + d.getHours().toString() : d.getHours().toString();\n const minutes = d.getMinutes() < 10 ? \"0\" + d.getMinutes().toString() : d.getMinutes().toString();\n const seconds = d.getSeconds() < 10 ? \"0\" + d.getSeconds().toString() : d.getSeconds().toString();\n const milliseconds = d.getMilliseconds() < 10 ? \"0\" + d.getMilliseconds().toString() : d.getMilliseconds().toString();\n return (year + month + day + hours + minutes + seconds + milliseconds.slice(0, 2));\n };\n\n private getAppDisplayName = (): string => {\n return (document.getElementById('subscriptionWizardV2ShoppingCart_app_displayName')).dataset.appname\n };\n\n private retryableFetch = (req: Request, retries: number): Promise => {\n return new Promise((resolve, reject) => {\n fetch(req)\n .then(r => {\n if (r.ok) {\n r.json().then(d => resolve(d)).catch(err => reject(err));\n } else if (r.status === 429) {\n if (retries > 0) {\n this.showLongerExecutionMessage();\n\n const retryAfterValue = r.headers.get('Retry-After');\n\n let retryAfter = parseInt(retryAfterValue);\n console.info(`too many request to create tenant. Auto retry after ${retryAfter} seconds ...`);\n\n setTimeout(() => {\n console.log(`send create tenant request again...`);\n this.retryableFetch(req, retries - 1)\n .then(d => {\n resolve(d);\n })\n .catch(err => {\n reject(err);\n });\n }, retryAfter * 1000);\n } else {\n reject(`too many retries`);\n }\n } else {\n reject(`failed with status ${r.status}`);\n }\n })\n .catch(error => {\n reject(error);\n });\n });\n };\n}\n\ninterface WizardState {\n domain: string\n organization: string\n organizationName: string\n tenant: string\n customerInfo: {\n firstname: string\n lastname: string\n phone: string\n country: string\n company: string\n employeesCount: EmployeesCount\n }\n app: string\n order: string\n orderedApps: string[]\n}\n\ninterface CustomerInfoDto {\n firstname: string\n lastname: string\n phone: string\n country: string\n company: string\n employeesCount: string\n}\n\ninterface GoogleTagManagerMapping {\n pagePath: string,\n pageTitle: string\n}\n\nenum EmployeesCount {\n None = \"none\",\n LessThan50 = \"small\",\n LessThan250 = \"medium\",\n Over250 = \"large\"\n}\n\nenum WizardPages {\n CreateSystem = 'subscriptionWizardV2CreateSystem',\n SelectSystem = 'subscriptionWizardV2SelectSystem',\n CustomerInfo = 'subscriptionWizardV2CustomerInfo',\n ShoppingCart = 'subscriptionWizardV2ShoppingCart',\n Final = 'subscriptionWizardV2Final',\n}\n\ninterface wizardData {\n _links: { [key: string]: linkRel }\n organizations: wizardOrga[]\n}\n\ninterface linkRel {\n href: string\n}\n\ninterface wizardOrga {\n organizationId: string\n organizationName: string\n userIsAdmin: boolean\n tenants: wizardTenant[]\n}\n\ninterface wizardTenant {\n tenantId: string\n tenantDisplayName: string\n tenantDomain: string\n terminationState: TenantTerminationState\n isAppAlreadySubscribed: boolean\n}\n\ninterface organizationList {\n _links: { [key: string]: linkRel }\n organizations: organizationItem[]\n}\n\ninterface organizationItem {\n id: string\n name: string\n}\n", "import UrlHelpers from \"./url\";\nimport {dvLogo, landingPageBackground} from \"./icons\";\n\nexport class SubscriptionWizardV2LandingPage {\n\n constructor() {\n\n (document.getElementById('subscriptionWizardV2LandingPage_startWizard')).addEventListener('click', (e: Event) => {\n window.top.location.href = (e.target).dataset['target'];\n });\n\n this.setBackgroundImage();\n this.googlePageView();\n\n window.addEventListener('load', () => {\n this.showLandingPageContent();\n })\n }\n\n private showLandingPageContent = () => {\n const content = document.getElementById('subscriptionWizardV2LandingPage');\n if (!content) {\n console.log('cannot find element \\'content\\'');\n return;\n }\n content.style.display = '';\n };\n\n private setBackgroundImage = (): void => {\n const setBgImage = (e: HTMLDivElement, url: string) => {\n e.style.backgroundImage = `url('${url}')`;\n };\n const branding = document.querySelector('.dv-branding');\n setBgImage(branding, dvLogo);\n const landingPage = document.querySelector('.landing-page-bg-image');\n if (landingPage) {\n setBgImage(landingPage, landingPageBackground)\n }\n const landingPagePlaceholder = document.getElementById('landing-page-bg-image-placeholder');\n if (landingPagePlaceholder) {\n landingPagePlaceholder.src = landingPageBackground;\n }\n };\n\n private googlePageView = () => {\n if (!UrlHelpers.getMetaData(\"gtmActive\") || UrlHelpers.getMetaData('sysAdmin')) {\n return;\n }\n const gtmValues = {pagePath: '/center/subscription/landingPage', pageTitle: 'Landing Page'};\n // @ts-ignore\n window.dataLayer = window.dataLayer || [];\n // @ts-ignore\n window.dataLayer.push({\n 'event': 'Pageview',\n 'pagePath': gtmValues.pagePath,\n 'pageTitle': gtmValues.pageTitle\n });\n };\n}", "import {i18n} from \"./i18n\";\nimport * as mdc from \"material-components-web\";\nimport {list} from \"material-components-web\";\nimport {TenantTerminationState} from \"./tenant\";\nimport UrlHelpers from \"./url\";\nimport {addIcon, deleteIcon, permIcon, serverIcon} from \"./icons\";\n\nexport class OrganizationV2 {\n\tprivate readonly tenantListId = 'tenantList';\n\tprivate readonly isOrgaAdmin:boolean;\n\tprivate readonly isCloudAdmin:boolean;\n\tprivate readonly organizationId:string;\n\tprivate _dapi: Dapi = (window).dapi;\n\tprivate _i18n: i18n = new i18n();\n\n\tprivate _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n\tprivate _mdcProgressBars: { [id: string]: mdc.linearProgress.MDCLinearProgress } = {};\n\tprivate _mdcDialogs: { [id: string]: mdc.dialog.MDCDialog } = {};\n\tprivate _mdcSnackbars: { [id: string]: mdc.snackbar.MDCSnackbar } = {};\n\n\tconstructor() {\n\t\tthis.isCloudAdmin = !!UrlHelpers.getMetaData(\"isCloudAdmin\");\n\t\tthis.isOrgaAdmin = this.isCloudAdmin ? this.isCloudAdmin : !!UrlHelpers.getMetaData('isAdmin');\n\n\t\tthis.organizationId = UrlHelpers.getMetaData('organizationId');\n\n\t\tthis.addDapiContextActions();\n\t\tthis.loadMaterial();\n\t\tthis.setupTenantList();\n\n\t\tthis.registerStorageListener();\n\n\t\tconst tenantListUrl: string = UrlHelpers.getLinkRelHref('tenants');\n\t\tthis.loadTenantList(tenantListUrl, this.writeDataToElement, this.displayErrorMessage);\n\n\t\tconst btnLoadMore = document.getElementById('btnLoadMoreTenants');\n\t\tbtnLoadMore.addEventListener('click', this.handleBtnLoadMoreClick);\n\t}\n\n\tprivate registerStorageListener = () => {\n\t\twindow.addEventListener('storage', (e:StorageEvent) => {\n\t\t\tconst storageKey = \"createTenantForOrganization\";\n\t\t\tif (e.key == storageKey) {\n\t\t\t\tconst value = e.newValue;\n\t\t\t\tif (value && value == this.organizationId) {\n\t\t\t\t\twindow.location.reload();\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t};\n\n\tprivate addDapiContextActions = () => {\n\t\tif (!this.isCloudAdmin && !this.isOrgaAdmin) {\n\t\t\treturn\n\t\t}\n\n\t\tconst ctxActions = new Array();\n\n\t\tctxActions.push({\n\t\t\ttitle: this._i18n.getTranslation('organization_ctxaction_editorganization_title'),\n\t\t\ticon: serverIcon, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA1C-edit-32x32.png',\n\t\t\thref: UrlHelpers.getLinkRelHref('details')\n\t\t});\n\n\t\tconst permIconUrl = permIcon;\n\t\tctxActions.push({\n\t\t\ttitle: this._i18n.getTranslation('permission_organization_title'),\n\t\t\ticon: permIconUrl, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA6A-usergroup-32x32.png',\n\t\t\thref: UrlHelpers.getLinkRelHref('permission')\n\t\t});\n\n\t\t// todo: put organization id to query parameter\n\t\tconst addIconUrl = addIcon;\n\t\tctxActions.push({\n\t\t\ttitle: this._i18n.getTranslation('organization_ctxaction_newtenant_title'),\n\t\t\ticon: addIconUrl,\n\t\t\tcallback: () => {\n\t\t\t\tconst currentLocation = window.location;\n\t\t\t\tconst subscriptionPath= '/center/subscriptionwizard';\n\t\t\t\tlet subscriptionUrl = new URL(currentLocation.toString());\n\t\t\t\tsubscriptionUrl.pathname = subscriptionPath;\n\t\t\t\tsubscriptionUrl.searchParams.append('app', 'basis');\n\t\t\t\tsubscriptionUrl.searchParams.append('oid', this.organizationId);\n\n\t\t\t\twindow.open(subscriptionUrl.toString(),'_blank');\n\t\t\t}\n\t\t});\n\n\t\tif(this.isCloudAdmin) {\n\t\t\tconst deleteIconUrl = deleteIcon;\n\t\t\tctxActions.push({\n\t\t\t\ttitle: this._i18n.getTranslation('organization_ctx_action_btn_delete_organization_label'), //'Organisation l\u00F6schen',\n\t\t\t\ticon: deleteIconUrl, //'https://s3.eu-central-1.amazonaws.com/dv-cloud-center/img/uEA14-delete-32x32.png',\n\t\t\t\tcallback: () => {\n\t\t\t\t\tthis.handleCtxActionDeleteOrga();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tthis._dapi.setContextActions(ctxActions);\n\t};\n\n\tprivate loadMaterial = () => {\n\t\tconst uLists = document.querySelectorAll('.mdc-list');\n\t\tArray.apply(null, uLists).forEach((uList) => {\n\t\t\tconst mdcList = list.MDCList.attachTo(uList);\n\t\t\tif (uList.id) {\n\t\t\t\tthis._mdcLists[uList.id] = mdcList;\n\t\t\t}\n\t\t});\n\n\t\tconst progressBars = document.querySelectorAll('.mdc-linear-progress');\n\t\tArray.apply(null, progressBars).forEach((pBar: HTMLElement) => {\n\t\t\tconst mdcBar = mdc.linearProgress.MDCLinearProgress.attachTo(pBar);\n\t\t\tif (pBar.id) {\n\t\t\t\tthis._mdcProgressBars[pBar.id] = mdcBar;\n\t\t\t}\n\t\t});\n\n\t\tconst dialogs = document.querySelectorAll('.mdc-dialog');\n\t\tArray.apply(null, dialogs).forEach((d: HTMLElement) => {\n\t\t\tconst mdcDialog = mdc.dialog.MDCDialog.attachTo(d);\n\t\t\tif (d.id) {\n\t\t\t\tif (d.id === 'modalDeleteOrganization') {\n\t\t\t\t\tmdcDialog.listen('MDCDialog:closed', this.handleDialogDeleteOrganizationClosed)\n\t\t\t\t}\n\t\t\t\tthis._mdcDialogs[d.id] = mdcDialog;\n\t\t\t}\n\t\t});\n\n\t\tconst snackbars = document.querySelectorAll('.mdc-snackbar');\n\t\tArray.apply(null, snackbars).forEach((snackbar) => {\n\t\t\tconst mdcSnackbar = mdc.snackbar.MDCSnackbar.attachTo(snackbar);\n\t\t\tif (snackbar.id) {\n\t\t\t\tthis._mdcSnackbars[snackbar.id] = mdcSnackbar;\n\t\t\t}\n\t\t});\n\t};\n\n\tprivate setupTenantList = (): void => {\n\t\tconst list = this._mdcLists[this.tenantListId];\n\t\tif (!list) {\n\t\t\tconsole.error('tenant list missing');\n\t\t\treturn;\n\t\t}\n\n\t\tconst observedAttributeName = 'data-tenants';\n\t\tconst uList = list.root;\n\t\tconst observer = new MutationObserver(mutations => {\n\t\t\tmutations.forEach(mutation => {\n\t\t\t\tif (mutation.type == \"attributes\" && mutation.attributeName == observedAttributeName) {\n\t\t\t\t\tthis.renderTenantList();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t\tobserver.observe(uList, {\n\t\t\tattributeFilter: [observedAttributeName],\n\t\t});\n\n\t\tthis.resetTenantList();\n\t\tthis.renderTenantList();\n\t};\n\n\tprivate resetTenantList = (): void => {\n\t\tconst mdcList: mdc.list.MDCList = this._mdcLists[this.tenantListId];\n\t\tif (!mdcList) {\n\t\t\tconsole.log(`resetTenantList: cannot find mdcList with id ${this.tenantListId}`);\n\t\t\treturn\n\t\t}\n\n\t\tmdcList.destroy();\n\n\t\tconst newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(this.tenantListId));\n\t\tnewMdcList.listen('MDCList:action', this.handleTenantListItemClick);\n\t};\n\n\tprivate handleTenantListItemClick = (e: CustomEvent): void => {\n\t\tconst index = e.detail.index;\n\t\tconst list = this._mdcLists[this.tenantListId];\n\t\tconst selectedItem = list.listElements[index];\n\n\t\tconst href = selectedItem.dataset.href;\n\t\tif (!href){\n\t\t\tconsole.error(\"tenant url missing in element: \", selectedItem);\n\t\t}\n\t\tthis._dapi.navigate(href);\n\t};\n\n\tprivate renderTenantList = (): void => {\n\t\tconst data = this.readDataFromElement();\n\t\tif (!data) {\n\t\t\tconsole.log('renderTenantList: data missing');\n\t\t\treturn\n\t\t}\n\n\t\tthis.renderEmptyTenantList();\n\t\tthis.renderListActions();\n\n\t\tif(!data.tenants || data.tenants.length === 0) {\n\t\t\tconsole.log('renderTenantList: tenant list empty');\n\t\t\treturn\n\t\t}\n\n\t\tconst ul = document.getElementById(this.tenantListId);\n\t\tif (!ul) {\n\t\t\tconsole.log(`renderTenantList: cannot find ul element with id ${this.tenantListId}`);\n\t\t\treturn;\n\t\t}\n\n\t\tconst collectionList = document.createElement('ul');\n\n\t\tdata.tenants.forEach((tenant, index) => {\n\t\t\tconst li = document.createElement('li');\n\t\t\tli.classList.add('mdc-list-item');\n\t\t\tli.dataset.tenantid = tenant.id;\n\t\t\tli.dataset.href = tenant._links['self'].href;\n\n\t\t\tconst ripple = document.createElement('span');\n\t\t\tripple.classList.add('mdc-list-item__ripple')\n\n\t\t\tli.appendChild(ripple);\n\n\t\t\tconst isTenantTerminated: boolean = !(tenant.termination.state == TenantTerminationState.notTerminated);\n\t\t\tconst icon = document.createElement('span');\n\t\t\ticon.classList.add('mdc-list-item__graphic', 'material-icons');\n\t\t\ticon.setAttribute('aria-hidden','true');\n\n\t\t\tif (isTenantTerminated) {\n\t\t\t\ticon.innerText = 'cloud_off';\n\t\t\t\ticon.style.color = '#ff0844';\n\t\t\t} else {\n\t\t\t\ticon.innerText = 'cloud';\n\t\t\t}\n\n\t\t\tli.appendChild(icon);\n\n\t\t\tli.insertAdjacentHTML('beforeend',\n\t\t\t\t`\n ${tenant.name}\n https://${tenant.fullQualifiedDomain}\n `);\n\n\t\t\tcollectionList.appendChild(li);\n\t\t});\n\n\t\tul.innerHTML = collectionList.innerHTML;\n\n\t\tthis.resetTenantList();\n\t};\n\n\tprivate renderEmptyTenantList = (): void => {\n\t\tconst hideElementClass = 'hide-element';\n\t\tconst id = \"emptyTenantList\";\n\t\tconst el = document.getElementById(id);\n\t\tconst data = this.readDataFromElement();\n\t\tif (!data.tenants || data.tenants.length === 0) {\n\t\t\tel.classList.remove(hideElementClass);\n\t\t} else {\n\t\t\tel.classList.add(hideElementClass);\n\t\t}\n\t};\n\n\tprivate renderListActions = (): void => {\n\t\tconst hiddenClass = 'hide-element';\n\t\tconst btnId = 'btnLoadMoreTenants';\n\t\tconst btn = document.getElementById(btnId);\n\t\tconst parentDiv = btn.parentElement;\n\t\tif (this.areMoreTenantsToLoadExist()) {\n\t\t\tparentDiv.classList.remove(hiddenClass);\n\t\t\treturn\n\t\t}\n\t\tparentDiv.classList.add(hiddenClass);\n\t};\n\n\tprivate areMoreTenantsToLoadExist = (): boolean => {\n\t\tconst data = this.readDataFromElement();\n\t\tif (!data) {\n\t\t\tconsole.log(\"areMoreTenantsToLoadExist: cannot read data from element\");\n\t\t\treturn false;\n\t\t}\n\t\tif (!data.tenants || data.tenants.length === 0) {\n\t\t\tconsole.log('areMoreTenantsToLoadExist: tenant list empty');\n\t\t\treturn false;\n\t\t}\n\t\tconst more = !!data._links && !!data._links[\"more\"] ? data._links[\"more\"].href : null;\n\t\tif (!more) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t};\n\n\tprivate readDataFromElement = (): pagedTenantListDto => {\n\t\tconst ul = document.getElementById(this.tenantListId);\n\t\tif (!ul) {\n\t\t\tconsole.error(`cannot find element with id ${this.tenantListId}`);\n\t\t\treturn null;\n\t\t}\n\t\tconst data = ul.dataset.tenants;\n\t\tif (!data) {\n\t\t\treturn {\n\t\t\t\ttenants: []\n\t\t\t} as pagedTenantListDto;\n\t\t}\n\t\treturn JSON.parse(data);\n\t};\n\n\tprivate writeDataToElement = (data: pagedTenantListDto): void => {\n\t\tconst ul = document.getElementById(this.tenantListId);\n\t\tif (!ul) {\n\t\t\tconsole.error(`cannot find element with id ${this.tenantListId}`);\n\t\t\treturn\n\t\t}\n\t\tul.dataset.tenants = JSON.stringify(data);\n\t};\n\n\tprivate mergeData = (data: pagedTenantListDto): void => {\n\t\tif (!data) {\n\t\t\tconsole.log('mergeData: data is empty');\n\t\t\treturn;\n\t\t}\n\n\t\tconst current = this.readDataFromElement();\n\t\tcurrent._links = data._links;\n\n\t\tif (!data.tenants) {\n\t\t\tconsole.log(\"mergeData: tenants is empty\");\n\t\t\tthis.writeDataToElement(current);\n\t\t\treturn;\n\t\t}\n\n\t\tdata.tenants.forEach(tenant => {\n\t\t\tcurrent.tenants.push(tenant);\n\t\t});\n\n\t\tthis.writeDataToElement(current);\n\t};\n\n\tprivate loadTenantList = (url: string, cbSuccess: (data: pagedTenantListDto) => void, cbError: (e) => void) => {\n\t\tthis.openTenantLoadProgress();\n\n\t\tconst req = new Request(url, {\n\t\t\tmethod: 'GET',\n\t\t\theaders: {'accept': 'application/hal+json'},\n\t\t\tcredentials: 'same-origin'\n\t\t});\n\n\t\tfetch(req)\n\t\t\t.then(response => {\n\t\t\t\tthis.closeTenantLoadProgress();\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tresponse.json()\n\t\t\t\t\t\t.then((data:pagedTenantListDto) => {\n\t\t\t\t\t\t\tcbSuccess(data);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(reason => {\n\t\t\t\t\t\t\tconsole.error(`load tenant data: cannot get json from response: ${reason}`);\n\t\t\t\t\t\t\tcbError(reason);\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tresponse.text()\n\t\t\t\t\t\t.then(value => {\n\t\t\t\t\t\t\tconsole.error(`load tenant data failed with status ${response.status} - ${response.statusText}: ${value}`);\n\t\t\t\t\t\t\tcbError(`load tenant data failed`);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(reason => {\n\t\t\t\t\t\t\tconsole.error(`load tenant data failed with status ${response.status} - ${response.statusText}: ${reason}`);\n\t\t\t\t\t\t\tcbError(`load tenant data failed`);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(reason => {\n\t\t\t\tthis.closeTenantLoadProgress();\n\t\t\t\tcbError(reason);\n\t\t\t});\n\t};\n\n\tprivate openTenantLoadProgress = () => {\n\t\tconst id = 'loadListProgress';\n\t\tconst progressBar = this._mdcProgressBars[id];\n\t\tprogressBar.open();\n\t};\n\n\tprivate closeTenantLoadProgress = () => {\n\t\tconst id = 'loadListProgress';\n\t\tconst progressBar = this._mdcProgressBars[id];\n\t\tprogressBar.close();\n\t};\n\n\tprivate displayErrorMessage = (message): void => {\n\t\tconst id = 'organizationNotification';\n\t\tif (!this._mdcSnackbars.hasOwnProperty(id)) {\n\t\t\tconsole.error('mdcSnackbar not found');\n\t\t\treturn;\n\t\t}\n\t\tconst defaultCloseTimeoutValue = 10000;\n\t\tconst disableCloseTimeoutValue = -1;\n\t\tconst mdcSnackbar = this._mdcSnackbars[id];\n\t\tmdcSnackbar.labelText = message;\n\t\tmdcSnackbar.closeOnEscape = false;\n\t\tmdcSnackbar.timeoutMs = disableCloseTimeoutValue; //disableCloseTimer ? disableCloseTimeoutValue : defaultCloseTimeoutValue;\n\t\tmdcSnackbar.open();\n\t};\n\n\tprivate handleBtnLoadMoreClick = (e):void => {\n\t\tconst data = this.readDataFromElement();\n\t\tif (!data) {\n\t\t\tconsole.log(\"areMoreTenantsToLoadExist: cannot read data from element\");\n\t\t\treturn\n\t\t}\n\t\tconst more = !!data._links && !!data._links[\"more\"] ? data._links[\"more\"].href : null;\n\t\tif (!more) {\n\t\t\treturn;\n\t\t}\n\t\tthis.loadTenantList(more,this.mergeData, this.displayErrorMessage);\n\t};\n\n\tprivate handleCtxActionDeleteOrga = (): void => {\n\t\tconst mdcDialog = this._mdcDialogs[\"modalDeleteOrganization\"];\n\t\tmdcDialog.open();\n\t};\n\n\tprivate handleDialogDeleteOrganizationClosed = (e:CustomEvent): void => {\n\t\tif (e.detail.action === 'delete') {\n\t\t\tthis.deleteOrganizationCall(() => {\n\t\t\t\tthis._dapi.dispatchResourceEvent({\n\t\t\t\t\tname: \"deleted\",\n\t\t\t\t\turi: window.location.pathname\n\t\t\t\t});\n\t\t\t\tthis._dapi.closeResourceIfMainResource();\n\t\t\t}, this.displayErrorMessage);\n\t\t}\n\t};\n\n\tprivate deleteOrganizationCall = (cbSuccess: () => void, cbError: (msg) => void) => {\n\t\tconst url = UrlHelpers.getLinkRelHref('self');\n\t\tconst req = new Request(url, {\n\t\t\tmethod: 'DELETE',\n\t\t\theaders: {\n\t\t\t\t'accept':'application/json'\n\t\t\t},\n\t\t\tcredentials: 'same-origin'\n\t\t});\n\n\t\tfetch(req)\n\t\t\t.then(response => {\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tcbSuccess();\n\t\t\t\t} else if (response.status === 401) {\n\t\t\t\t\tcbError(this._i18n.getTranslation('organization_modal_delete_organization_error_not_allowed_message'));\n\t\t\t\t} else if (response.status === 409) {\n\t\t\t\t\tcbError(this._i18n.getTranslation('organization_modal_delete_organization_error_tenants_exists_message'));\n\t\t\t\t} else {\n\t\t\t\t\tcbError(this._i18n.getTranslation('organization_modal_delete_organization_error_unexpected_error_message'));\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(reason => {\n\t\t\t\tconsole.error(`cannot execute delete organization call: ${reason}`);\n\t\t\t\tcbError(this._i18n.getTranslation('organization_modal_delete_organization_error_unexpected_error_message'));\n\t\t\t});\n\t};\n}\n\nexport interface pagedTenantListDto {\n\t_links: { [key: string]: linkRel }\n\ttenants: tenantItemDto[]\n}\n\nexport interface tenantItemDto {\n\t_links: { [key: string]: linkRel }\n\tid: string\n\tname: string\n\tfullQualifiedDomain: string\n\ttermination: tenantTerminationDto\n}\n\nexport interface tenantTerminationDto {\n\tstate: TenantTerminationState\n}\n\nexport interface linkRel {\n\thref: string\n}\n", "import {i18n} from \"./i18n\";\nimport * as mdc from \"material-components-web\";\nimport UrlHelpers from \"./url\";\n\nexport class TenantMove {\n private readonly _organizationListId = 'tenantMoveOrganizationList';\n private readonly _i18n: i18n;\n private readonly _dapi: Dapi;\n\n private _mdcProgressBars: { [id: string]: mdc.linearProgress.MDCLinearProgress } = {};\n private _mdcTextFields: { [id: string]: mdc.textField.MDCTextField } = {};\n private _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n private _mdcDialogs: { [id: string]: mdc.dialog.MDCDialog } = {};\n\n private _delayTimer: number;\n\n constructor() {\n this._dapi = (window).dapi;\n this._i18n = new i18n();\n\n this.loadMaterial();\n this.setup();\n\n this.loadOrganizationList(\n this.getOrganizationListUrl(),\n this.mergeData,\n e => {\n this.openErrorDialogWithMessage(this._i18n.getTranslation('tenantMove_error_alert_message_misc'));\n console.debug('got error:', e);\n }\n )\n this.clearSearchInputHelperText();\n window.addEventListener('load', () => {\n this.showPageContent();\n })\n }\n\n private showPageContent = () => {\n const content = document.getElementById('tenantMove_content');\n if (!content) {\n console.log('cannot find element \\'content\\'');\n return;\n }\n content.style.display = '';\n };\n\n private loadMaterial = (): void => {\n const textfields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null, textfields).forEach((textfield) => {\n const mdcTextfield = mdc.textField.MDCTextField.attachTo(textfield);\n //take input or textarea id if wrapping div has no id itself\n if (!textfield.id) {\n const inputs = textfield.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcTextFields[inputs[0].id] = mdcTextfield;\n return\n }\n const areas = textfield.getElementsByTagName('textarea');\n if (areas.length > 0 && areas[0].id) {\n this._mdcTextFields[areas[0].id] = mdcTextfield;\n return\n }\n return\n }\n this._mdcTextFields[textfield.id] = mdcTextfield;\n });\n\n const uLists = document.querySelectorAll('.mdc-list');\n Array.apply(null, uLists).forEach((uList) => {\n const mdcList = mdc.list.MDCList.attachTo(uList);\n if (uList.id) {\n this._mdcLists[uList.id] = mdcList;\n }\n });\n\n const progressBars = document.querySelectorAll('.mdc-linear-progress');\n Array.apply(null, progressBars).forEach((pBar: HTMLElement) => {\n const mdcBar = mdc.linearProgress.MDCLinearProgress.attachTo(pBar);\n if (pBar.id) {\n this._mdcProgressBars[pBar.id] = mdcBar;\n }\n });\n\n const dialogs = document.querySelectorAll('.mdc-dialog');\n Array.apply(null, dialogs).forEach((d: HTMLElement) => {\n const mdcDialog = mdc.dialog.MDCDialog.attachTo(d);\n if (d.id) {\n this._mdcDialogs[d.id] = mdcDialog;\n }\n });\n };\n\n private getOrganizationListUrl = (search?: string): string => {\n const linkRelHref = UrlHelpers.getLinkRelHref('organizations');\n\n if (!search) {\n return linkRelHref;\n }\n\n let uri = new URL(linkRelHref);\n uri.searchParams.set('search', search);\n return uri.toString();\n };\n\n private mergeData = (data: organizationListDto): void => {\n if (!data) {\n console.log(\"mergeData: data is empty\");\n return;\n }\n\n const current = this.readOrganizationList();\n current._links = data._links;\n if (!data.organizations) {\n console.log(\"mergeData: organizations is empty\");\n this.writeOrganizationList(current);\n return\n }\n data.organizations.forEach((orga: organizationItemDto) => {\n const i = current.organizations.findIndex(o => o.id == orga.id);\n if (i == -1) {\n current.organizations.push(orga);\n return;\n }\n });\n this.writeOrganizationList(current);\n this.renderHelperText();\n };\n\n private setup = (): void => {\n const list = document.getElementById(this._organizationListId);\n if (!list) {\n console.error('organization list missing');\n return;\n }\n\n const dataAttributeName = 'data-data';\n const selectedOrganizationAttribute = 'data-selectedorganization';\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type == 'attributes' && mutation.attributeName == dataAttributeName) {\n this.handleAttributeMutation();\n }\n if (mutation.type == 'attributes' && mutation.attributeName == selectedOrganizationAttribute) {\n this.renderMoveButton();\n }\n });\n });\n observer.observe(list, {\n attributeFilter: [dataAttributeName, selectedOrganizationAttribute]\n });\n\n this.setupMoveButton();\n this.setupMoreButton();\n this.setupTextFieldSearch();\n this.setupConfirmationDialog();\n this.closeProgressBar();\n };\n\n private setupMoveButton = (): void => {\n const acceptBtn = document.getElementById('tenantMove_accept');\n if (!acceptBtn) {\n console.error('element with id \"tenantMove_accept\" not found');\n return;\n }\n acceptBtn.addEventListener('click', () => {\n this.openConfirmationDialog();\n });\n acceptBtn.disabled = true;\n };\n\n private setupMoreButton = (): void => {\n const id = 'tenantMove_btnMore';\n const btn = document.getElementById(id);\n if (!btn) {\n console.error(`setupMoreButton: element with id '${id}' not found`);\n return;\n }\n btn.addEventListener('click', () => {\n const data = this.readOrganizationList();\n if (!data || !data._links || !data._links.hasOwnProperty('more') || !data._links['more'].href) {\n console.error(`setupMoreButton: 'more' link not found`);\n return;\n }\n this.loadOrganizationList(\n data._links['more'].href,\n this.mergeData,\n e => {\n this.openErrorDialogWithMessage(this._i18n.getTranslation('tenantMove_error_alert_message_misc'));\n console.debug('more button event: got error:', e);\n }\n )\n });\n };\n\n private setupTextFieldSearch = (): void => {\n const searchInputMdc = this._mdcTextFields['tenantMove_searchOrga'];\n if (!searchInputMdc) {\n console.error('search input material missing');\n return;\n }\n const searchInput = searchInputMdc.root || searchInputMdc._root;\n if (!searchInput) {\n console.error('search input missing');\n return;\n }\n searchInput.addEventListener('input', ev => {\n clearTimeout(this._delayTimer);\n this._delayTimer = setTimeout(() => {\n this.filterList();\n }, 250);\n });\n };\n\n private setupConfirmationDialog = (): void => {\n const id = 'tenantMove_confirmationDialog';\n const dialog = this._mdcDialogs[id];\n if (!dialog) {\n console.error(`setupConfirmationDialog: dialog '${id}' missing`);\n return;\n }\n dialog.listen('MDCDialog:closed', (e: mdc.dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action == 'confirm') {\n this.moveTenant(() => {\n this._dapi.closeResourceIfMainResource();\n }\n );\n }\n });\n };\n\n private handleAttributeMutation = (): void => {\n this.renderList();\n this.renderMoreButton();\n };\n\n private filterList = (): void => {\n const input = this._mdcTextFields['tenantMove_searchOrga'];\n if (!input) {\n console.error('search input missing');\n return;\n }\n this.clearData();\n this.loadOrganizationList(\n this.getOrganizationListUrl(input.value),\n this.mergeData,\n e => {\n this.openErrorDialogWithMessage(this._i18n.getTranslation('tenantMove_error_alert_message_misc'));\n console.debug('got error:', e);\n }\n )\n };\n\n private clearData = (): void => {\n const ul = document.getElementById(this._organizationListId);\n if (!ul) {\n console.error(`cannot find element with id ${this._organizationListId}`);\n return\n }\n ul.dataset.data = '';\n ul.dataset.selectedorganization = '';\n }\n\n private openProgressBar = () => {\n const pbar = this._mdcProgressBars['tenantMove_loading_progressbar'];\n pbar.open();\n };\n\n private closeProgressBar = () => {\n const pbar = this._mdcProgressBars['tenantMove_loading_progressbar'];\n pbar.close();\n };\n\n private loadOrganizationList = (url: string, cbSuccess: (data: organizationListDto) => void, cbError: (e) => void): void => {\n this.openProgressBar();\n const req = new Request(url, {\n method: 'GET',\n headers: {\n 'accept': 'application/hal+json'\n },\n credentials: 'same-origin'\n });\n\n fetch(req)\n .then((response => {\n this.closeProgressBar();\n if (response.ok) {\n response.json()\n .then((data: organizationListDto) => {\n cbSuccess(data);\n })\n .catch(reason => {\n console.error(`load organization list: cannot get json from response: ${reason}`);\n cbError(reason);\n });\n } else {\n response.text().then(value => {\n console.error(`load organization list failed with status ${response.status} - ${response.statusText}: ${value}`);\n cbError(`load organization list failed`);\n }).catch(reason => {\n console.error(`load organization list failed with status ${response.status} - ${response.statusText}: ${reason}`);\n cbError(`load organization list failed`);\n })\n }\n }))\n .catch(reason => {\n this.closeProgressBar();\n cbError(reason);\n });\n };\n\n private writeOrganizationList = (data: organizationListDto): void => {\n const ul = document.getElementById(this._organizationListId);\n if (!ul) {\n console.error(`cannot find element with id ${this._organizationListId}`);\n return\n }\n ul.dataset.data = JSON.stringify(data);\n };\n\n private readOrganizationList = (): organizationListDto => {\n const ul = document.getElementById(this._organizationListId);\n if (!ul) {\n console.error(`cannot find element with id ${this._organizationListId}`);\n return null;\n }\n const data = ul.dataset.data;\n if (!data) {\n return {\n organizations: []\n } as organizationListDto\n }\n return JSON.parse(data);\n };\n\n private renderMoveButton = (): void => {\n const button = document.getElementById('tenantMove_accept');\n if (!button) {\n console.error('element with id \"tenantMove_accept\" not found');\n return;\n }\n const ul = document.getElementById(this._organizationListId);\n if (!ul) {\n console.debug(`renderMoveButton: cannot find ul element with id ${this._organizationListId}`);\n return;\n }\n const orgaSelected = !!ul.dataset.selectedorganization\n button.disabled = !orgaSelected;\n };\n\n private renderList = (): void => {\n const data = this.readOrganizationList();\n if (!data) {\n console.debug(\"render: data missing\");\n return;\n }\n\n const ul = document.getElementById(this._organizationListId);\n if (!ul) {\n console.error(`render: cannot find ul element with id ${this._organizationListId}`);\n return;\n }\n\n const collectionUl = document.createElement('ul');\n data.organizations.forEach((orga, index) => {\n const li = this.getListItem(orga)\n const selectedOrgaId = ul.dataset.selectedorganization;\n if (selectedOrgaId && selectedOrgaId == li.dataset.value) {\n li.classList.add('mdc-list-item--selected');\n li.setAttribute('aria-selected', 'true');\n }\n\n collectionUl.appendChild(li);\n });\n\n ul.innerHTML = collectionUl.innerHTML;\n this.resetList();\n };\n\n private renderMoreButton = (): void => {\n const wrapperId = 'tenantMove_btnMore_wrapper';\n const wrapper = document.getElementById(wrapperId);\n if (!wrapper) {\n console.error(`renderMoreButton: element with id '${wrapperId}' not found`);\n return;\n }\n const orgaData = this.readOrganizationList();\n const showButton = orgaData && orgaData._links && orgaData._links.hasOwnProperty('more');\n wrapper.style.display = showButton ? '' : 'none';\n };\n\n private renderHelperText = (): void => {\n const data = this.readOrganizationList();\n if (!data) {\n console.debug(\"renderHelperText: data missing\");\n return;\n }\n data.organizations.length == 0 ? this.setSearchInputHelperText(this._i18n.getTranslation('tenantMove_error_no_organization_found')) : this.clearSearchInputHelperText();\n };\n\n private getListItem = (organization: organizationItemDto): HTMLElement => {\n const li = document.createElement('li');\n li.classList.add('mdc-list-item');\n li.dataset.value = organization.id;\n li.dataset.organizationname = organization.name;\n li.setAttribute('role', 'menuitem');\n li.innerHTML = `\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t${organization.name}\n\t\t\t\t\t\t\tID: ${organization.id}\n\t\t\t\t\t\t`\n return li;\n };\n\n private resetList = (): void => {\n const mdcList: mdc.list.MDCList = this._mdcLists[this._organizationListId];\n if (!mdcList) {\n console.log(`resetList: cannot find mdcList with id ${this._organizationListId}`);\n return\n }\n\n mdcList.destroy();\n\n const newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(this._organizationListId));\n newMdcList.listen('MDCList:action', this.handleListItemClick);\n\n this._mdcLists[this._organizationListId] = newMdcList;\n };\n\n private handleListItemClick = (ev): void => {\n const index = ev.detail.index;\n const mdcList: mdc.list.MDCList = this._mdcLists[this._organizationListId];\n if (!mdcList) {\n console.error('handleListItemClick: mdc list not found');\n return;\n }\n const listItem = mdcList.listElements[index];\n if (!listItem) {\n console.error('handleListItemClick: list item not found');\n return;\n }\n const ul = mdcList.root || mdcList._root;\n if (!ul) {\n console.error('handleListItemClick: ul not found');\n return;\n }\n ul.dataset.selectedorganization = listItem.dataset.value;\n };\n\n private openErrorDialogWithMessage = (message: string): void => {\n const dialog = this._mdcDialogs['tenantMove_errorDialog'];\n if (!dialog) {\n console.error('error dialog not found');\n return;\n }\n const dialogContent = document.getElementById('tenantMove_errorDialog_content');\n if (!dialogContent) {\n console.error('dialog content element not found');\n return;\n }\n dialogContent.innerText = message;\n dialog.open();\n };\n\n private openConfirmationDialog = (): void => {\n const dialog = this._mdcDialogs['tenantMove_confirmationDialog'];\n if (!dialog) {\n console.error('openConfirmationDialog: confirmation dialog not found');\n return;\n }\n const dialogContent = document.getElementById('tenantMove_confirmationDialog_content');\n if (!dialogContent) {\n console.error('openConfirmationDialog: dialog content element not found');\n return;\n }\n const selectedOrgaId = this.readSelectedOrganization();\n const o = this.getDataForOrganizationId(selectedOrgaId);\n if (!o) {\n console.error(`openConfirmationDialog: missing data for organization id '${selectedOrgaId}'`);\n return;\n }\n const anchor = document.getElementById('tenantMove_confirmationDialog_anchor');\n if (!anchor) {\n console.error('openConfirmationDialog: anchor missing');\n return;\n }\n anchor.href = `${UrlHelpers.getLinkRelHref(\"organization\")}/${o.id}`;\n anchor.innerText = o.name;\n dialog.open();\n };\n\n private setSearchInputHelperText = (content: string): void => {\n const textField = this._mdcTextFields['tenantMove_searchOrga'];\n if (!textField) {\n console.error('setSearchInputHelperText: mdc text field not found');\n return;\n }\n textField.helperTextContent = content;\n };\n\n private clearSearchInputHelperText = (): void => {\n this.setSearchInputHelperText('');\n };\n\n private getTargetOrganizationId = (): string => {\n const list = document.getElementById(this._organizationListId);\n if (!list) {\n console.error('organization list missing');\n return;\n }\n return list.dataset.selectedorganization;\n };\n\n private moveTenant = (cbSuccess: () => void): void => {\n const url = UrlHelpers.getLinkRelHref('tenant');\n const targetOrgaId = this.getTargetOrganizationId();\n if (!targetOrgaId) {\n console.error('target organization id not found');\n return;\n }\n const req = new Request(url, {\n method: 'PATCH',\n headers: {\n 'Content-Type': 'application/merge-patch+json'\n },\n credentials: 'same-origin',\n body: JSON.stringify({\n tenant: {\n organizationId: targetOrgaId\n }\n })\n });\n\n fetch(req)\n .then((response => {\n console.debug('response:', response);\n if (!response.ok) {\n this.openErrorDialogWithMessage(this.getMoveTenantErrorMessageForStatus(response.status));\n return;\n }\n cbSuccess();\n }))\n .catch(reason => {\n console.debug('move tenant failed with error:',reason)\n this.openErrorDialogWithMessage(this._i18n.getTranslation('tenantMove_error_alert_message_misc'));\n });\n };\n\n private readSelectedOrganization = (): string => {\n const mdcList: mdc.list.MDCList = this._mdcLists[this._organizationListId];\n if (!mdcList) {\n console.error('handleListItemClick: mdc list not found');\n return;\n }\n const ul = mdcList.root || mdcList._root;\n if (!ul) {\n console.error('handleListItemClick: ul not found');\n return;\n }\n return ul.dataset.selectedorganization ? ul.dataset.selectedorganization : '';\n };\n\n private getDataForOrganizationId = (id: string): organizationItemDto => {\n const data = this.readOrganizationList();\n return data.organizations.find(e => e.id == id);\n };\n\n private getMoveTenantErrorMessageForStatus = (status: number): string => {\n let key = 'tenantMove_error_alert_message_couldNotMove';\n const keyMap = {\n 404: 'tenantMove_error_alert_message_notFound',\n 403: 'tenantMove_error_alert_message_forbidden',\n 409: 'tenantMove_error_alert_message_conflict'\n }\n if (keyMap.hasOwnProperty(status)) {\n key = keyMap[status];\n }\n return this._i18n.getTranslation(key);\n }\n}\n\nexport interface organizationListDto {\n _links: { [key: string]: linkRel }\n organizations: organizationItemDto[]\n}\n\nexport interface linkRel {\n href: string\n}\n\nexport interface organizationItemDto {\n id: string\n name: string\n contact: string\n icon: string\n _links: { [key: string]: linkRel }\n}\n", "import {i18n} from \"./i18n\";\nimport * as mdc from \"material-components-web\";\nimport {select} from \"material-components-web\";\nimport UrlHelpers from \"./url\";\nimport {tenant_updated} from \"./dapiEventUris\";\n\nexport class TenantOverwrites {\n private readonly contentTypeHeaderValue = 'application/hal+json'\n private readonly tenantDataId = 'tenantData';\n private readonly appListId = 'subscribedAppsList';\n private readonly appOvListId = 'overwriteList';\n private readonly errorMessageId = 'errorMessage';\n\n private readonly _i18n: i18n;\n private readonly _dapi: Dapi;\n\n private readonly tenantUrl: string;\n private readonly appsUrl:string;\n\n private _mdcTextFields: { [id: string]: mdc.textField.MDCTextField } = {};\n private _mdcTextFieldHelpers: { [id: string]: mdc.textField.MDCTextFieldHelperText } = {};\n private _mdcSelectHelperTexts: { [id: string]: mdc.select.MDCSelectHelperText } = {};\n private _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n private _mdcSelects: { [id: string]: mdc.select.MDCSelect } = {};\n private _mdcMenus: { [id: string]: mdc.menu.MDCMenu } = {};\n private _mdcSnackbar : { [id: string]: mdc.snackbar.MDCSnackbar } = {};\n private _mdcProgressBars: { [id: string]: mdc.linearProgress.MDCLinearProgress } = {};\n\n private selectObserver: MutationObserver;\n\n constructor() {\n this._dapi = (window).dapi;\n this._i18n = new i18n();\n\n this.tenantUrl = UrlHelpers.getLinkRelHref('tenant');\n this.appsUrl = UrlHelpers.getLinkRelHref('apps');\n\n this.loadMaterial();\n\n this.closeProgress();\n\n this.setupDataObserver();\n this.setupSelectObserver();\n\n const btnAddOverwrite = document.getElementById('btnAddOverwrite');\n if (btnAddOverwrite) {\n btnAddOverwrite.addEventListener('click', this.handleBtnAddClicked);\n }\n }\n\n private loadMaterial = () => {\n const selects = document.querySelectorAll('.mdc-select');\n Array.apply(null, selects).forEach((uList) => {\n const mdcSelect = mdc.select.MDCSelect.attachTo(uList);\n mdcSelect.layoutOptions();\n if (uList.id === 'appList_select') {\n mdcSelect.listen('MDCSelect:change', this.handleSelectApp);\n }\n if (uList.id) {\n this._mdcSelects[uList.id] = mdcSelect;\n }\n });\n\n const textFields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null,textFields).forEach((textfield) => {\n const mdcTextfield = mdc.textField.MDCTextField.attachTo(textfield);\n if(!textfield.id) {\n const inputs = textfield.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcTextFields[inputs[0].id] = mdcTextfield;\n return\n }\n }\n this._mdcTextFields[textfield.id] = mdcTextfield;\n });\n\n const textFieldHelpers = document.querySelectorAll('.mdc-text-field-helper-text');\n Array.apply(null,textFieldHelpers).forEach((helper) => {\n const mdcHelper = mdc.textField.MDCTextFieldHelperText.attachTo(helper);\n if(!helper.id) {\n this._mdcTextFieldHelpers[helper.id] = mdcHelper;\n }\n });\n\n const selectHelperTexts = document.querySelectorAll('.mdc-select-helper-text');\n Array.apply(null, selectHelperTexts).forEach((s: HTMLElement) => {\n const mdcSelectHelperText = select.MDCSelectHelperText.attachTo(s);\n if (s.id) {\n this._mdcSelectHelperTexts[s.id] = mdcSelectHelperText;\n }\n });\n\n const lists = document.querySelectorAll('.mdc-list');\n Array.apply(null,lists).forEach((list) => {\n const mdcList = mdc.list.MDCList.attachTo(list);\n if (list.id) {\n this._mdcLists[list.id] = mdcList;\n }\n });\n\n const menus = document.querySelectorAll('.mdc-menu');\n Array.apply(null, menus).forEach((m: HTMLElement) => {\n const mdcMenu = mdc.menu.MDCMenu.attachTo(m);\n if (m.id) {\n this._mdcMenus[m.id] = mdcMenu;\n }\n });\n\n const buttons = document.querySelectorAll('.mdc-button');\n Array.apply(null,buttons).forEach((btn) => {\n mdc.ripple.MDCRipple.attachTo(btn);\n });\n\n const snackbars = document.querySelectorAll('.mdc-snackbar');\n Array.apply(null, snackbars).forEach((sb) => {\n const mdcSn = mdc.snackbar.MDCSnackbar.attachTo(sb);\n if (sb.id) {\n this._mdcSnackbar[sb.id] = mdcSn;\n }\n });\n\n const progressBars = document.querySelectorAll('.mdc-linear-progress');\n Array.apply(null, progressBars).forEach((pBar: HTMLElement) => {\n const mdcBar = mdc.linearProgress.MDCLinearProgress.attachTo(pBar);\n if (pBar.id) {\n this._mdcProgressBars[pBar.id] = mdcBar;\n }\n });\n };\n\n private handleSelectApp = (e: any) => {\n e.target.dataset.selectedapp = e.detail.value;\n }\n\n private setupDataObserver = (): void => {\n const dataElement = document.getElementById(this.tenantDataId);\n\n const observedAttributeName = 'data-tenant';\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type == \"attributes\" && mutation.attributeName == observedAttributeName) {\n this.renderAppList();\n this.renderAppOverwriteList();\n }\n });\n });\n observer.observe(dataElement, {\n attributeFilter: [observedAttributeName]\n });\n\n this.renderAppList();\n this.renderAppOverwriteList();\n };\n\n private setupSelectObserver = () => {\n this.renderOverwriteValueTextfield('');\n const selectElement = document.getElementById('appList_select');\n const observedAttributeName = 'data-selectedapp';\n this.selectObserver = new MutationObserver(mutations => {\n mutations.forEach(value => {\n if (value.type == \"attributes\" && value.attributeName == observedAttributeName) {\n const appName = selectElement.dataset.selectedapp;\n this.renderOverwriteValueTextfield(appName);\n this.disableBtnAdd(appName.isNullOrEmpty());\n }\n });\n });\n this.selectObserver.observe(selectElement, {\n attributes: true,\n attributeFilter: [observedAttributeName]\n });\n };\n\n private renderOverwriteValueTextfield = (appName: string) => {\n const hideClass = 'hide-element';\n\n const elementId = 'overwriteEndpoint_wrapper';\n const element = document.getElementById(elementId);\n const field: mdc.textField.MDCTextField = this._mdcTextFields[elementId];\n\n if (appName.isNullOrEmpty()) {\n if (!element.classList.contains(hideClass)) {\n element.classList.add(hideClass);\n }\n field.suffixText = '';\n return;\n }\n\n field.suffixText = '/' + appName;\n\n element.classList.remove(hideClass);\n\n field.focus();\n };\n\n private renderAppList = () => {\n const data = this.readDataFromElement();\n if (!data) {\n console.log('renderAppList: data missing');\n return\n }\n\n //this.renderEmptyTenantList();\n\n if (!data || data.subscribedApps.length === 0) {\n console.log('renderAppList: app list empty');\n return\n }\n\n const ul = document.getElementById(this.appListId);\n if(!ul) {\n console.log(`renderAppList: cannot find ul element with id '${this.appListId}'`);\n return;\n }\n\n const collectionList = document.createElement('ul');\n\n data.subscribedApps.\n filter(app => app.appName != 'billing').\n filter(app => !app.isOverwritten).\n forEach((subscribedApp:subscribedAppDto) => {\n const li = document.createElement('li');\n li.classList.add('mdc-list-item');\n li.setAttribute('role','option');\n li.dataset.appname = subscribedApp.appName;\n li.dataset.value = subscribedApp.appName;\n\n const ripple = document.createElement('span');\n ripple.classList.add('mdc-list-item__ripple')\n\n li.appendChild(ripple);\n\n li.insertAdjacentHTML('beforeend', `${subscribedApp.appName}`);\n\n collectionList.appendChild(li);\n });\n\n ul.innerHTML = collectionList.innerHTML;\n\n this.resetAppList();\n };\n\n private resetAppList = (): void => {\n if (this.selectObserver) {\n this.selectObserver.disconnect();\n }\n\n const mdcSelect: mdc.select.MDCSelect = this._mdcSelects['appList_select'];\n\n mdcSelect.layoutOptions();\n mdcSelect.handleBlur();\n\n this.setupSelectObserver();\n };\n\n private renderAppOverwriteList = () => {\n const data = this.readDataFromElement();\n if (!data) {\n console.log('renderAppList: data missing');\n return;\n }\n\n const ul = document.getElementById(this.appOvListId);\n if (!ul) {\n console.log(`renderAppList: cannot find ul element with id '${this.appListId}'`);\n return;\n }\n\n const emptyList = document.getElementById('overwriteListEmpty');\n const collectionList = document.createElement('ul');\n\n const overwritesEmpty = !data.overwrites || data.overwrites.length < 1;\n if (overwritesEmpty) {\n emptyList.classList.remove('hide-element');\n } else {\n if (!emptyList.classList.contains('hide-element')) {\n emptyList.classList.add('hide-element');\n }\n\n data.overwrites.forEach((ovApps: overwrittenAppDto) => {\n const li = document.createElement('li');\n li.classList.add('mdc-list-item');\n li.dataset.appname = ovApps.appName;\n\n const ripple = document.createElement('span');\n ripple.classList.add('mdc-list-item__ripple')\n\n li.appendChild(ripple);\n\n li.insertAdjacentHTML('beforeend',\n `\n ${ovApps.appName}\n ${ovApps.overwriteValue}\n \n \n \n`);\n\n collectionList.appendChild(li);\n });\n }\n\n ul.innerHTML = collectionList.innerHTML;\n\n this.resetAppOverwriteList();\n };\n\n private addDeleteOverwriteListener = () => {\n const deleteButtons = document.querySelectorAll('.dvcc-deleteOv');\n deleteButtons.forEach(btn => {\n btn.removeEventListener('click', this.handleDeleteOverwrite);\n btn.addEventListener('click', this.handleDeleteOverwrite);\n });\n };\n\n private handleDeleteOverwrite = (e: Event) => {\n const currentButton = e.target;\n const appName = currentButton.dataset.appname;\n\n const dto: requestDto = {\n appName: appName,\n endpoint: ''\n }\n\n this.removeOverwrite(dto,this.removeData, this.showErrorMessage);\n };\n\n private resetAppOverwriteList = (): void => {\n const mdcList: mdc.list.MDCList = this._mdcLists[this.appOvListId];\n if (!mdcList) {\n console.log(`resetTenantList: cannot find mdcList with id ${this.appListId}`);\n return\n }\n\n mdcList.destroy();\n\n this._mdcLists[this.appListId] = mdc.list.MDCList.attachTo(document.getElementById(this.appOvListId));\n this.addDeleteOverwriteListener();\n };\n\n private readDataFromElement = (): tenantDto => {\n const el = document.getElementById(this.tenantDataId);\n if(!el) {\n console.error(`cannot find element with id '${this.tenantDataId}'`);\n return;\n }\n\n const data = el.dataset.tenant;\n if(!data) {\n return null\n }\n return JSON.parse(data);\n };\n\n private writeDataToElement = (data: tenantDto): void => {\n const el = document.getElementById(this.tenantDataId);\n if(!el) {\n console.error(`cannot find element with id '${this.tenantDataId}'`);\n return;\n }\n el.dataset.tenant = JSON.stringify(data);\n };\n\n private addData = (dto: requestDto) => {\n const data = this.readDataFromElement();\n data.subscribedApps.forEach(value => {\n if (value.appName === dto.appName) value.isOverwritten = true;\n });\n\n if (!data.overwrites) {\n data.overwrites = [];\n }\n\n data.overwrites.push({appName: dto.appName, overwriteValue: dto.endpoint});\n this.writeDataToElement(data);\n\n this.closeProgress();\n\n this.clearInputs();\n this.sendTenantUpdatedEvent();\n };\n\n private removeData = (dto: requestDto) => {\n const data = this.readDataFromElement();\n\n data.subscribedApps.forEach(value => {\n if (value.appName === dto.appName) value.isOverwritten = false;\n });\n if (data.overwrites.length == 1) {\n data.overwrites = [];\n } else {\n data.overwrites.forEach((item, index) => {\n if (item.appName === dto.appName) data.overwrites.splice(index, 1);\n });\n }\n\n this.writeDataToElement(data);\n\n this.closeProgress();\n this.sendTenantUpdatedEvent();\n };\n\n private showErrorMessage = (msg: string) => {\n const sbError = this._mdcSnackbar[this.errorMessageId];\n sbError.labelText = msg;\n this.closeProgress();\n };\n\n private addChangedData = (data: requestDto, cbSuccess: (data: requestDto) => void, cbError: (e) => void) => {\n this.openProgress();\n const url = UrlHelpers.getLinkRelHref('self');\n const req = new Request(url,{\n method:'PATCH',\n headers: {\n 'content-type':this.contentTypeHeaderValue\n },\n credentials: 'same-origin',\n body: JSON.stringify(data)\n });\n\n fetch(req)\n .then(response => {\n if (response.ok){\n cbSuccess(data);\n } else {\n const msg = this._i18n.getTranslation('tenant_overwrites_msg_error_savefailed');\n response.text()\n .then(message => {\n console.error(`${msg}: ${message} (${response.status})`);\n cbError(`save changes failed: ${message} (${response.status})`);\n })\n .catch(reason => {\n console.error(`save changes failed, but cannot read body text: ${reason} (${response.status})`);\n cbError(`${msg} (${response.status})`);\n });\n }\n })\n .catch(reason => {\n console.error(`cannot save changes: ${reason}`);\n const msg = this._i18n.getTranslation('tenant_overwrites_msg_error_savefailed');\n cbError(msg);\n });\n };\n\n private removeOverwrite = (data: requestDto, cbSuccess: (data: requestDto) => void, cbError: (e) => void) => {\n this.openProgress();\n const url = UrlHelpers.getLinkRelHref('self');\n const req = new Request(url, {\n method:'PATCH',\n headers: {\n 'content-type':this.contentTypeHeaderValue\n },\n credentials: 'same-origin',\n body: JSON.stringify(data)\n });\n\n fetch(req)\n .then(response => {\n if (response.ok){\n cbSuccess(data);\n } else {\n const msg = this._i18n.getTranslation('tenant_overwrites_msg_error_deletefailed');\n response.text()\n .then(message => {\n console.error(`save changes failed: ${message} (${response.status})`);\n cbError(`${msg}: ${message} (${response.status})`);\n })\n .catch(reason => {\n console.error(`save changes failed, but cannot read body text: ${reason} (${response.status})`);\n cbError(`${msg} (${response.status}).`);\n });\n }\n })\n .catch(reason => {\n console.error(`cannot save changes: ${reason}`);\n const msg = this._i18n.getTranslation('tenant_overwrites_msg_error_deletefailed');\n cbError(msg);\n });\n }\n\n private handleBtnAddClicked = () => {\n const mdcTextField = this._mdcTextFields['overwriteEndpoint_wrapper'];\n if (!mdcTextField) {\n console.error('mdc text field overwriteEndpoint_input missing');\n return\n }\n\n const selector = document.getElementById('appList_select');\n if(!selector) {\n console.error('selector missing');\n return;\n }\n\n mdcTextField.valid = true;\n\n const hostValue = mdcTextField.value;\n if(hostValue.isNullOrEmpty()) {\n console.error('endpoint missing');\n mdcTextField.helperTextContent = this._i18n.getTranslation('tenant_overwrites_msg_error_endpoint_missing');\n return;\n }\n\n const appName = selector.dataset.selectedapp\n\n const endpoint = `https://${hostValue}`;\n if (!UrlHelpers.validateURL(endpoint)) {\n console.error('invalid endpoint! => ',endpoint);\n mdcTextField.helperTextContent = this._i18n.getTranslation('tenant_overwrites_msg_error_endpoint_invalid');\n mdcTextField.valid = false;\n return;\n }\n\n const requestDto:requestDto = {\n appName: appName,\n endpoint: endpoint,\n }\n\n this.addChangedData(requestDto,this.addData, this.showErrorMessage);\n };\n\n private clearInputs() {\n const mdcTextField = this._mdcTextFields['overwriteEndpoint_wrapper'];\n if (!mdcTextField) {\n console.error('mdc text field overwriteEndpoint_input missing');\n return\n }\n\n const selector = document.getElementById('appList_select');\n if(!selector) {\n console.error('selector missing');\n return;\n }\n\n mdcTextField.value = '';\n\n const mdcSelector = this._mdcSelects[selector.id];\n if (!mdcSelector) {\n console.error(\"mdc selector not found by id \", selector.id);\n return\n }\n\n selector.dataset.selectedapp = '';\n mdcSelector.selectedIndex = -1;\n }\n\n private disableBtnAdd = (disabled:boolean = true) => {\n const btn = document.getElementById('btnAddOverwrite');\n btn.disabled = disabled;\n };\n\n private openProgress = () => {\n const id = 'loadListProgress';\n const progressBar = this._mdcProgressBars[id];\n progressBar.open();\n };\n\n private closeProgress = () => {\n const id = 'loadListProgress';\n const progressBar = this._mdcProgressBars[id];\n progressBar.close();\n };\n\n private sendTenantUpdatedEvent = () => {\n try {\n this._dapi.dispatchResourceEvent({\n name: \"changed\",\n uri: tenant_updated\n });\n } catch (e) {\n console.debug(\"cannot send event to update tenant page: \", e);\n }\n }\n}\n\nexport interface dto {\n tenant: tenantDto\n}\n\nexport interface tenantDto {\n tenantId: string\n subscribedApps: subscribedAppDto[]\n overwrites: overwrittenAppDto[]\n}\n\nexport interface subscribedAppDto {\n appName: string\n isOverwritten: boolean\n}\n\nexport interface overwrittenAppDto {\n appName: string\n overwriteValue: string\n}\n\nexport interface requestDto {\n appName: string\n endpoint: string\n}", "import UrlHelpers from \"./url\";\nimport {i18n} from \"./i18n\";\nimport {addIcon} from \"./icons\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport {\n app_created,\n app_edit_changed_saved,\n app_edit_deleted,\n app_edit_provider_changed, product_created,\n product_edit_changed_saved, product_edit_deleted, product_edit_provider_changed,\n} from \"./dapiEventUris\";\nimport {setContextActions} from \"./contextActions\";\nimport {ErrorHandler} from \"./errorHandler\";\n\nexport class ProductList {\n private _dapi: Dapi = (window).dapi;\n private _dux = (window).dux;\n private _i18n: i18n = new i18n();\n private _providerCtx:boolean = UrlHelpers.getMetaData('providerCtx') === \"1\";\n\n constructor(){\n this._addCtxActions();\n this._createBtnCreateApp();\n this._addAppNameCounter();\n this._dapi.addResourceEventListener('changed', this._dapiEvent);\n this._dapi.addResourceEventListener('deleted', this._dapiEvent);\n if(this._dapi.isMainResource()) {\n this._dapi.publishLocation(location.href);\n }\n }\n\n private _dapiEvent = (resourceEvent: IResourceEvent):void => {\n if((resourceEvent.uri === product_edit_changed_saved && resourceEvent.name==='changed') ||\n (resourceEvent.uri === product_edit_deleted && resourceEvent.name==='deleted') ||\n (resourceEvent.uri === product_created && resourceEvent.name==='changed') ||\n (resourceEvent.uri === product_edit_provider_changed && resourceEvent.name==='changed'))\n {\n location.reload();\n }\n };\n\n private _addCtxActions = () => {\n if(this._providerCtx) {\n const ctx = new Array();\n ctx.push({\n title: this._i18n.getTranslation('product_list_ctx_actions_btn_createproduct_label'),\n icon: addIcon,\n callback: () => {\n this.createProductDialogShow();\n }\n });\n // this._dapi.setContextActions(ctx);\n setContextActions(this._dapi, this._i18n, ctx);\n }\n };\n\n private createProductDialogShow = () => {\n if(this._providerCtx) {\n this._dux.query('#modalCreateProduct').modal('toggle');\n }\n };\n\n private _createBtnCreateApp = () => {\n if(this._providerCtx) {\n const btn = document.getElementById('btnCreate');\n if (btn) {\n (btn).addEventListener('click', this.createProductClick);\n this._dux.query('#modalCreateProduct').on('hide.bs.modal', () => {\n (document.getElementById('txtProductName')).value = \"\";\n });\n }\n }\n };\n\n private _addAppNameCounter = () => {\n if (this._providerCtx) {\n const productNameInput = document.getElementById('txtProductName');\n if(productNameInput){\n this.setProductNameCounter(productNameInput);\n productNameInput.addEventListener('keyup', this.productNameCounterEvent);\n }\n }\n }\n\n private productNameCounterEvent = (e:Event) => {\n if (this._providerCtx){\n const current = e.currentTarget;\n if(current){\n this.setProductNameCounter(current);\n }\n }\n }\n\n private setProductNameCounter = (input:HTMLInputElement) => {\n const counterSpan = document.getElementById('txtProductNameCounter');\n counterSpan.innerText = input.value.length.toString();\n }\n\n private createProductClick = () => {\n if(this._providerCtx) {\n const name = FieldHandler.getFieldValue('txtProductName');\n if (!this.isProductNameValid(name)) {\n return\n }\n\n const provider = UrlHelpers.getQueryParameter(window.location.href, 'provider');\n const data = JSON.stringify({\n name: name,\n providerId: provider\n });\n const url = UrlHelpers.getLinkRelHref('self');\n const xhr = new XMLHttpRequest();\n xhr.open('POST', url);\n xhr.setRequestHeader('accept', 'application/json');\n xhr.setRequestHeader('Content-Type', 'application/json');\n xhr.onload = () => {\n if (xhr.status === 201) {\n this._dux.query('#modalCreateProduct').modal('hide');\n const targetUri = xhr.getResponseHeader('location');\n this._dapi.dispatchResourceEvent({\n name: 'changed',\n uri: product_created\n });\n this._dapi.navigate(targetUri);\n } else if (xhr.status === 409) {\n const error = ErrorHandler.parseError(xhr.responseText);\n const desc = error.description.trim().toLowerCase();\n\n // let msg = \"wrong message found: \" + desc;\n\n // todo: update error handling and translations\n // if (desc == \"an app with this name does already exist\") {\n // const inputField = document.getElementById('txtProductName');\n // const prefix = inputField.dataset[\"prefix\"];\n // msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_exists_message');\n // msg = i18n.replaceTranslationPlaceholder(msg,\"{appName}\", `${prefix}-${name}`);\n // } else if(desc == \"app name is invalid\") {\n // msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_invalid_message');\n // } else if(desc == \"app name is blacklisted\") {\n // msg = this._i18n.getTranslation('app_list_modal_createapp_error_appname_blacklisted_message');\n // }\n\n FieldHandler.setFieldError('txtProductName_',desc);\n console.warn(xhr.responseText);\n } else {\n FieldHandler.setFieldError('txtProductName_', this._i18n.getTranslation('app_list_modal_createapp_error_unknownerror_message'));\n console.error(xhr.responseText);\n }\n };\n try {\n xhr.send(data);\n } catch (exp) {\n console.error(exp);\n }\n }\n };\n\n private isProductNameValid = (name:string):boolean => {\n if (name.isNullOrEmpty()) {\n FieldHandler.setFieldError('txtProductName_', this._i18n.getTranslation('product_list_modal_createproduct_error_productname_empty_message'));\n console.error(\"no product name found!\");\n return false;\n }\n const textField = document.getElementById('txtProductName');\n const strMaxLength = textField.getAttribute('maxlength');\n const maxLength = +strMaxLength;\n if (maxLength < name.length) {\n FieldHandler.setFieldError('txtProductName_', this._i18n.getTranslation('product_list_modal_createproduct_error_appproduct_out_of_bound_message'))\n console.error(`length of product name cannot be greater than ${maxLength}. Product name length was ${name.length}`);\n return false;\n }\n return true;\n }\n}", "import {i18n} from \"./i18n\";\nimport {FieldHandler} from \"./fieldHandler\";\nimport UrlHelpers from \"./url\";\nimport * as mdc from \"material-components-web\";\nimport {checkbox, dialog, linearProgress, list, radio, ripple, select, snackbar, switchControl, textField, topAppBar} from \"material-components-web\";\nimport {MediamanagerFileInputHandler} from \"./mediamanagerFileInput\";\nimport {product_edit_changed_saved, product_edit_deleted} from \"./dapiEventUris\";\nimport {errorDto, ErrorHandler} from \"./errorHandler\";\nimport {isEndpointValid} from \"./validation\";\nimport {Escaping} from \"./escaping\";\n\nexport class ProductEdit {\n private _dapi: Dapi = (window).dapi;\n private _i18n: i18n = new i18n();\n private _delayTimer;\n private _newAddedApps: string[];\n\n //Material Objects\n private _mdcTextFields: { [id: string]: textField.MDCTextField } = {};\n private _mdcCheckboxes: { [id: string]: mdc.select.MDCCheckbox } = {};\n private _mdcSelects: { [id: string]: mdc.select.MDCSelect } = {};\n private _mdcSelectHelperTexts: { [id: string]: mdc.select.MDCSelectHelperText } = {};\n private _mdcLists: { [id: string]: mdc.list.MDCList } = {};\n private _mdcDialogs: { [id: string]: mdc.dialog.MDCDialog } = {};\n private _mdcProgressbar: { [id: string]: mdc.linearProgress.MDCLinearProgress } = {};\n\n constructor() {\n this.loadMaterial();\n\n this._loadAppList((dto => {\n console.debug('initial app list loaded');\n this._writeAppListToMeta(dto);\n this._renderDependenciesList();\n }), e => {\n this._showErrorNotification('productEdit-notification', `initial app list loading failed: ${e}`);\n });\n\n this._showOrHideNoDependencyMessage();\n\n const addProductDependencyButton = document.getElementById('btn-add-product-dependency');\n if (addProductDependencyButton) {\n addProductDependencyButton.addEventListener('click', () => {\n this._loadAppList((dto => {\n this._renderAppListIntoAppDependencyDialog(dto);\n this._writeAppListToMeta(dto);\n }), e => {\n this._showErrorNotification('productEdit-notification', e);\n });\n });\n }\n\n this._setDependenciesListObserver();\n\n if (this._dapi.isMainResource()) {\n this._dapi.publishLocation(location.href);\n }\n\n const searchField = document.getElementById('productEditModalAddProductDependency_searchField-input');\n if (searchField) {\n searchField.addEventListener('keyup', this._handleSearchWithinNewAppDependencyList);\n }\n\n const dialogAppDep = this._mdcDialogs['productEditModalAddProductDependency'];\n if (dialogAppDep) {\n dialogAppDep.listen('MDCDialog:closed', this._handleDependencyDialogClosed);\n }\n\n const saveBtn = document.getElementById('general-edit-save');\n if (saveBtn) {\n saveBtn.addEventListener('click', ev => {\n this.saveData(() => {\n this.showInfoNotification('productEdit-notification', `successfully saved`);\n },this.showErrorNotification)\n });\n }\n\n const btnSubscribeProduct = document.getElementById('btn-subscribe-product');\n if (btnSubscribeProduct) {\n btnSubscribeProduct.addEventListener('click', this._handleSubscribeBtnClick);\n }\n }\n\n private loadMaterial() {\n const topBar = document.getElementById(\"productEdit-top-bar\");\n topAppBar.MDCTopAppBar.attachTo(topBar);\n\n const buttons = document.querySelectorAll('.mdc-button');\n Array.apply(null, buttons).forEach((button) => {\n ripple.MDCRipple.attachTo(button);\n });\n\n const textfields = document.querySelectorAll('.mdc-text-field');\n Array.apply(null, textfields).forEach((textfield) => {\n const mdcTextfield = textField.MDCTextField.attachTo(textfield);\n //take input or textarea id if wrapping div has no id itself\n if (!textfield.id) {\n const inputs = textfield.getElementsByTagName('input');\n if (inputs.length > 0 && inputs[0].id) {\n this._mdcTextFields[inputs[0].id] = mdcTextfield;\n return\n }\n const areas = textfield.getElementsByTagName('textarea');\n if (areas.length > 0 && areas[0].id) {\n this._mdcTextFields[areas[0].id] = mdcTextfield;\n return\n }\n return\n }\n this._mdcTextFields[textfield.id] = mdcTextfield;\n });\n\n const cc = document.querySelectorAll('.mdc-text-field-character-counter');\n Array.apply(null, cc).forEach((c) => {\n textField.MDCTextFieldCharacterCounter.attachTo(c);\n });\n\n const dialogs = document.querySelectorAll('.mdc-dialog');\n Array.apply(null, dialogs).forEach((d) => {\n const mdcDialog = dialog.MDCDialog.attachTo(d);\n if (d.id) {\n this._mdcDialogs[d.id] = mdcDialog;\n }\n });\n\n const bars = document.querySelectorAll('.mdc-snackbar');\n Array.apply(null, bars).forEach((b) => {\n snackbar.MDCSnackbar.attachTo(b);\n });\n\n const uLists = document.querySelectorAll('.mdc-list');\n Array.apply(null, uLists).forEach((uList) => {\n if (uList.id == 'productEditModalAddProductDependency_productList') {\n return;\n }\n const mdcList = list.MDCList.attachTo(uList);\n if (uList.id) {\n this._mdcLists[uList.id] = mdcList;\n }\n });\n\n const selects = document.querySelectorAll('.mdc-select');\n Array.apply(null, selects).forEach((s: HTMLElement) => {\n const mdcSelect = select.MDCSelect.attachTo(s);\n this._mdcSelects[s.id] = mdcSelect;\n });\n\n const selectHelperTexts = document.querySelectorAll('.mdc-select-helper-text');\n Array.apply(null, selectHelperTexts).forEach((s: HTMLElement) => {\n const mdcSelectHelperText = select.MDCSelectHelperText.attachTo(s);\n if (s.id) {\n this._mdcSelectHelperTexts[s.id] = mdcSelectHelperText;\n }\n });\n\n const checkboxes = document.querySelectorAll('.mdc-checkbox');\n Array.apply(null, checkboxes).forEach((cb) => {\n const mdcCb = checkbox.MDCCheckbox.attachTo(cb);\n if (cb.id) {\n this._mdcCheckboxes[cb.id] = mdcCb;\n }\n });\n\n const progressbars = document.querySelectorAll('.mdc-linear-progress');\n Array.apply(null, progressbars).forEach((progressbar) => {\n // const element = linearProgress.MDCProgressBar.attachTo(progressbar);\n const element = new linearProgress.MDCLinearProgress(progressbar)\n if (progressbar.id) {\n this._mdcProgressbar[progressbar.id] = element;\n }\n })\n }\n\n private _handleSubscribeBtnClick = () => {\n const appName = UrlHelpers.getMetaData('productName');\n const url = `${window.location.protocol}//${window.location.host}/center/subscriptionwizard?product=${appName}`;\n window.open(url, '_blank').focus();\n };\n\n private _handleSearchWithinNewAppDependencyList = (e: Event) => {\n const searchValue = (e.currentTarget).value;\n this._searchAppDependency(searchValue);\n }\n\n private _loadAppList = (cbSuccess: (dto: appDependencyList) => void, cbError: (e: string) => void) => {\n this.startProgress('productEditModalAddProductDependency_progress');\n const url = UrlHelpers.getLinkRelHref('appListForProductDependencies');\n let req = new Request(url, {\n method: 'get',\n credentials: 'same-origin'\n });\n fetch(req)\n .then((r: Response) => {\n if (r.status !== 200) {\n throw `request failed with http status ${r.status}`;\n }\n return r.json();\n })\n .then((dto: appDependencyList) => {\n this.stopProgress('productEditModalAddProductDependency_progress');\n cbSuccess(dto);\n })\n .catch((e: string) => {\n this.stopProgress('productEditModalAddProductDependency_progress');\n cbError(e);\n });\n };\n\n private _renderAppListIntoAppDependencyDialog = (dto: appDependencyList) => {\n console.info(`load ${dto.apps.length} apps...`);\n const listId = 'productEditModalAddProductDependency_appList';\n let existingMdcList = this._mdcLists[listId];\n if (existingMdcList) {\n existingMdcList.destroy();\n }\n\n const currentAppDependecies = this._getCurrentAppDependencies();\n const ul = document.getElementById(listId);\n const mainAppName = UrlHelpers.getMetaData('productName');\n\n dto.apps.forEach((item: appDependencyItem) => {\n if (mainAppName !== item.appName && !currentAppDependecies.includes(item.appName)) {\n if (item.isApproved) {\n ul.insertAdjacentHTML('beforeend', `
  • \n \n \n ${Escaping.escapeHtml(item.displayName)}\n ${Escaping.escapeHtml(item.providerName)}\n \n
  • `);\n } else {\n ul.insertAdjacentHTML('beforeend', `
  • \n \n \n ${Escaping.escapeHtml(item.displayName)} (${this._i18n.getTranslation('product_edit_modal_addAppDep_info_appNotApproved_label')})\n ${Escaping.escapeHtml(item.providerName)}\n \n
  • `);\n }\n } else {\n console.debug(`${item.appName} already in app dependency list.`);\n }\n });\n const mdcListNew = list.MDCList.attachTo(ul);\n mdcListNew.singleSelection = true;\n mdcListNew.listen('MDCList:action', this._handleListOfNewDependenciesAction);\n this._mdcLists[listId] = mdcListNew;\n this._showDependencyDialog();\n };\n\n private _getCurrentAppDependencies = (): Array => {\n const appDepElements = document.querySelectorAll('.product-dependency');\n let currentAppDependencies = new Array();\n appDepElements.forEach((item) => {\n const depAppName = item.getAttribute('data-appname');\n if (!depAppName.isNullOrEmpty()) {\n currentAppDependencies.push(depAppName);\n }\n });\n return currentAppDependencies;\n };\n\n private _handleListOfNewDependenciesAction = (e: list.MDCListActionEventDetail) => {\n if (e.detail.index > -1) {\n const btn = document.getElementById('productEditModalAddProductDependency_add_button');\n btn.disabled = false;\n }\n };\n\n private _showDependencyDialog = () => {\n const dialogAppDepLocal = this._mdcDialogs['productEditModalAddProductDependency'];\n\n const btnAddInDialog = document.getElementById('productEditModalAddProductDependency_add_button');\n btnAddInDialog.disabled = true;\n\n this._searchAppDependency(\"\");\n\n dialogAppDepLocal.open();\n };\n\n private _searchAppDependency = (searchValue: string) => {\n let items = document.querySelectorAll('.productEditModal-NewProductDependency');\n items.forEach((item: HTMLLIElement) => {\n if (searchValue.isNullOrEmpty()) {\n item.classList.remove('hide-element');\n } else if (item.dataset.appname.toLowerCase().includes(searchValue.toLowerCase())) {\n item.classList.remove('hide-element');\n } else if (item.dataset.appdisplayname.toLowerCase().includes(searchValue.toLowerCase())) {\n item.classList.remove('hide-element');\n } else {\n item.classList.add('hide-element');\n }\n });\n }\n\n private _writeAppListToMeta = (dto: appDependencyList): void => {\n const data: string[] = []\n dto.apps.forEach(item => {\n data.push(item.appName);\n })\n const appListKey = 'appList';\n UrlHelpers.setMetaData(appListKey, JSON.stringify(data));\n };\n\n private _showErrorNotification = (id: string, message: string) => {\n let div = document.getElementById(id);\n let bar: snackbar.MDCSnackbar = new snackbar.MDCSnackbar(div);\n bar.labelText = message;\n bar.closeOnEscape = true;\n bar.open();\n };\n\n private showInfoNotification = (id: string, message: string) => {\n const div = document.getElementById(id);\n const bar : snackbar.MDCSnackbar = new snackbar.MDCSnackbar(div);\n bar.labelText = message;\n bar.closeOnEscape = true;\n bar.open();\n }\n\n private _setDependenciesListObserver = (): void => {\n const elementId = 'product_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`setDependenciesListObserver: element with id ${elementId} not found`);\n return undefined;\n }\n const observedAttributeName = 'data-dependencylist';\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (mutation.type == \"attributes\" && mutation.attributeName == observedAttributeName) {\n this._renderDependenciesList();\n }\n });\n });\n observer.observe(ul, {\n attributeFilter: [observedAttributeName],\n });\n };\n\n private _renderDependenciesList = (): void => {\n this.startProgress('appListProgress');\n const listId = 'product_dependency_list';\n console.debug('### RENDERING LIST ###');\n console.debug('get list element');\n const ul = document.getElementById(listId);\n if (!ul) {\n console.debug(`renderDependenciesList: element with id ${listId} not found`);\n return;\n }\n console.debug('get data');\n const data = this._readDependencyListFromULElement();\n if (!data) {\n console.debug('renderDependenciesList: data not found');\n return;\n }\n console.debug('data:', data)\n console.debug('get app list');\n const appList = this._readAppListFromMeta();\n if (!appList) {\n console.debug('renderDependenciesList: appList not found');\n }\n console.debug('loop dependencies');\n const disable = false; //ul.dataset.disableitems == \"1\"; //todo: static false until 01/01/2022\n const listItems: HTMLLIElement[] = [];\n for (let index in data) {\n const app = data[index];\n console.debug(`loop iteration for ${app}`);\n const addNewTag = this._isNewAddedApp(app);\n const li = this._getDependenciesListItem(app, addNewTag, disable);\n listItems.push(li);\n }\n console.debug('new list elements:', listItems);\n listItems.sort(function (a, b) {\n const appNameA = a.dataset.appname.toLowerCase();\n const appNameB = b.dataset.appname.toLowerCase();\n if (appNameA < appNameB) {\n return -1;\n }\n if (appNameA > appNameB) {\n return 1;\n }\n return 0;\n })\n ul.innerHTML = '';\n listItems.forEach((item) => {\n ul.appendChild(item)\n });\n this.resetDependenciesList();\n this._showOrHideNoDependencyMessage();\n this.stopProgress('appListProgress');\n };\n\n private _getDependenciesListItem = (appName: string, newItem: boolean, disabled: boolean): HTMLLIElement => {\n const li = document.createElement('li');\n li.id = `dep-${appName}`;\n const itemClassList: string[] = ['mdc-list-item', 'product-dependency'];\n if (disabled) {\n itemClassList.push('mdc-list-item--disabled');\n }\n li.classList.add(...itemClassList);\n li.setAttribute('data-appname', appName);\n li.title = this._i18n.getTranslation('product_edit_dependencies_dep_item_btn_authorize_title');\n\n if (newItem) {\n const newItem = `fiber_new`;\n li.insertAdjacentHTML('beforeend', newItem);\n }\n const listContent = `\n
    \n
    \n ${appName}\n
    `\n li.insertAdjacentHTML('beforeend', listContent);\n if (!disabled) {\n li.insertAdjacentHTML('beforeend', 'delete');\n }\n return li;\n };\n\n private _isNewAddedApp = (appName: string): boolean => {\n return !!appName && !!this._newAddedApps ? this._newAddedApps.indexOf(appName) >= 0 : false;\n };\n\n private _showOrHideNoDependencyMessage = () => {\n const hide = 'hide-element';\n const noDependenyDiv = document.getElementById('product-has-no-dependencies');\n const foundAppDependency = this._readDependencyListFromULElement();\n if (foundAppDependency.length > 0) {\n noDependenyDiv.classList.add(hide);\n } else {\n noDependenyDiv.classList.remove(hide);\n }\n };\n\n private _readDependencyListFromULElement = (): Array => {\n const elementId = 'product_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`readDependencyListFromULElement: element with id ${elementId} not found`);\n return undefined;\n }\n return JSON.parse(ul.dataset.dependencylist);\n };\n\n private _readAppListFromMeta = (): appList => {\n const appListKey = 'appList';\n const data = UrlHelpers.getMetaData(appListKey);\n if (!data) {\n console.debug('readAppListFromMeta: no app list data found');\n return undefined;\n }\n return (JSON.parse(data) as appList);\n };\n\n private resetDependenciesList = () => {\n const listId = 'product_dependency_list';\n const mdcList: mdc.list.MDCList = this._mdcLists[listId];\n if (!mdcList) {\n console.log(`resetDependenciesList: cannot find mdcList with id ${listId}`);\n return\n }\n\n mdcList.destroy();\n\n const newMdcList: mdc.list.MDCList = mdc.list.MDCList.attachTo(document.getElementById(listId));\n mdcList.listen('MDCList:action', this._handleRemoveDependency);\n\n this._mdcLists[listId] = newMdcList;\n }\n\n private _handleDependencyDialogClosed = (evt: dialog.MDCDialogCloseEventDetail) => {\n try {\n if (evt.detail.action == 'add') {\n this._checkSelectedAppDepIsApproved();\n } else if (evt.detail.action == 'deprequest') {\n const list = this._mdcLists['productEditModalAddProductDependency_appList'];\n const selectedIndex = list.selectedIndex;\n const item = list.listElements[selectedIndex];\n const dependency = item.dataset.appname;\n\n const dialogDiv = document.getElementById('productEditModalAddDependencyRequest');\n dialogDiv.dataset.dependency = dependency;\n\n this._openAddDependencyRequestDialog();\n }\n } catch (e) {\n console.debug(e);\n }\n\n const listId = 'productEditModalAddProductDependency_appList';\n const mdclist = this._mdcLists[listId];\n if (mdclist) {\n mdclist.destroy();\n }\n let ul = document.getElementById(listId);\n ul.innerHTML = '';\n\n const searchField = document.getElementById('productEditModalAddProductDependency_searchField-input');\n searchField.value = '';\n };\n\n private _checkSelectedAppDepIsApproved = () => {\n const list = this._mdcLists['productEditModalAddProductDependency_appList'];\n const selectedIndex = list.selectedIndex;\n const item = list.listElements[selectedIndex];\n const isApproved = (item.dataset.isapproved == \"true\");\n if (isApproved) {\n this._addSelectedDependency(item);\n } else {\n this._showAppDepNotApprovedDialog(item);\n }\n };\n\n private _addSelectedDependency = (htmlItem: HTMLLIElement) => {\n const appName = htmlItem.dataset.appname;\n\n console.info(`you have select ${appName} to add to dependencies`);\n\n this._appendNewAddedApp(appName);\n this._addDependencyToULElement(appName);\n this.saveData(()=>{},this.showErrorNotification);\n };\n\n private _appendNewAddedApp = (appName: string): void => {\n if (!appName) {\n return\n }\n this._newAddedApps = this._newAddedApps || [];\n this._newAddedApps.push(appName);\n };\n\n private _addDependencyToULElement = (appName: string): void => {\n if (!appName) {\n console.debug('addDependencyToULElement: parameter empty');\n return;\n }\n const deps = this._readDependencyListFromULElement();\n if (!deps) {\n console.error('addDependencyToULElement: cannot read data');\n return;\n }\n deps.push(appName)\n this._writeDependencyListToULElement(deps);\n };\n\n private _writeDependencyListToULElement = (d: string[]): void => {\n const elementId = 'product_dependency_list';\n const ul = document.getElementById(elementId);\n if (!ul) {\n console.debug(`readDependencyListFromULElement: element with id ${elementId} not found`);\n return;\n }\n ul.dataset.dependencylist = JSON.stringify(d);\n };\n\n private _showAppDepNotApprovedDialog = (htmlItem: HTMLLIElement) => {\n const displayName = htmlItem.dataset.appdisplayname;\n const productName = UrlHelpers.getMetaData('productName');\n\n const translationText = this._i18n.getTranslation('product_edit_modal_appNotApproved_text');\n let message = i18n.replaceTranslationPlaceholder(translationText, '{appDepName}', displayName);\n message = i18n.replaceTranslationPlaceholder(message, '{appDepName}', displayName);\n message = i18n.replaceTranslationPlaceholder(message, '{productName}', productName);\n // let message = `APP \"${displayName}\" IS NOT APPROVED. DO YOU REALY WANT TO THE APP AS A DEPENDENCY?`;\n const messageDiv = document.getElementById('productEditModalDependencyNotApproved-content');\n messageDiv.innerText = message;\n\n const dialogUnapprovedApps = this._mdcDialogs['productEditModalDependencyNotApproved'];\n\n const handler = (e: dialog.MDCDialogCloseEventDetail) => {\n const messageDiv = document.getElementById('productEditModalDependencyNotApproved-content');\n messageDiv.innerText = '';\n\n if (e.detail.action === 'ok') {\n this._addSelectedDependency(htmlItem);\n }\n\n dialogUnapprovedApps.unlisten('MDCDialog:closed', handler);\n }\n\n dialogUnapprovedApps.listen('MDCDialog:closed', handler);\n dialogUnapprovedApps.open();\n };\n\n private _openAddDependencyRequestDialog = () => {\n const id = 'productEditModalAddDependencyRequest';\n const dialog = this._mdcDialogs[id];\n if (!dialog) {\n console.info('add dependency request dialog not loaded');\n return\n }\n\n const dialogDiv = document.getElementById(id);\n\n const dependencyToAdd = dialogDiv.dataset.dependency;\n const currentApp = dialogDiv.dataset.appname;\n const providerId = dialogDiv.dataset.providerId;\n\n const data = `Appname = ${currentApp}\\nProvider ID = ${providerId}\\nDependency to add = ${dependencyToAdd}`;\n const contentData = document.getElementById('productEditModalAddDependencyRequest_data');\n contentData.innerText = data;\n\n dialog.listen('MDCDialog:closed', this._handleAddDependencyRequestDialogClosed);\n dialog.open();\n };\n\n private _handleAddDependencyRequestDialogClosed = (evt: dialog.MDCDialogCloseEventDetail) => {\n const id = 'productEditModalAddDependencyRequest';\n const dialog = this._mdcDialogs[id];\n dialog.unlisten('MDCDialog:closed', this._handleAddDependencyRequestDialogClosed);\n\n const dialogDiv = document.getElementById(id);\n\n if (evt.detail.action == 'request') {\n const dependencyToAdd = dialogDiv.dataset.dependency;\n const currentApp = dialogDiv.dataset.productname;\n const providerId = dialogDiv.dataset.providerId;\n\n const data = `Appname = ${currentApp}\\nProvider ID = ${providerId}\\nDependency to add = ${dependencyToAdd}`;\n const href = \"mailto:cloud.support@d-velop.de?subject=\" + escape(`add dependency request for product ${currentApp}`) +\n \"&body=\" + escape(`Your message (optional):\\n\\n\\n--- Please do not change any values ---\\n\\n${data}\\n\\n--- Please do not change any values ---`);\n window.open(href);\n }\n dialogDiv.dataset.dependency = \"\";\n };\n\n private saveData = (callbackSuccess: () => void, callbackError:(code: number, message: string) => void):void => {\n this.startProgress('generalProgress');\n const productName = UrlHelpers.getMetaData('productName');\n const displayName = this._mdcTextFields['displayName-input'].value;\n const subscriptionMail = this._mdcTextFields['subscriptionNotificationMail-input'].value;\n const apps = this._readDependencyListFromULElement();\n\n const dto = {\n name: productName,\n displayName: displayName,\n apps: apps,\n subscriptionNotification: subscriptionMail,\n }\n\n const self = UrlHelpers.getLinkRelHref('self');\n\n const request = new Request(self, {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(dto),\n });\n\n fetch(request, {credentials: 'same-origin'})\n .then(response => {\n if (response.ok) {\n callbackSuccess();\n this.stopProgress('generalProgress');\n } else {\n try {\n response.json().then(value => {\n callbackError(response.status, JSON.stringify(value));\n })\n } catch(error) {\n console.error(error);\n response.text().then(text => {\n console.error(\"response body: \", text);\n });\n }\n this.stopProgress('generalProgress');\n }\n })\n .catch(error => {\n console.error(error);\n callbackError(999, error);\n this.stopProgress('generalProgress');\n });\n };\n\n private showErrorNotification = (code:number, message:string) => {\n const id = \"productEdit-notification\";\n console.error(`save failed with status ${code}: ${message}`);\n let err: errorDto = ErrorHandler.parseError(message);\n if (err === null) {\n this._showErrorNotification(id, message);\n } else {\n let msg = err.description;\n this._showErrorNotification(id, msg);\n }\n };\n\n private _handleRemoveDependency = (evt: list.MDCListActionEventDetail):void => {\n const ul = evt.target;\n const currentElement = evt.target.children[evt.detail.index];\n\n const appName = currentElement.dataset.appname;\n const productName = UrlHelpers.getMetaData('productName');\n\n let message = this._i18n.getTranslation('product_edit_modal_removeAppDependency_text');\n message = i18n.replaceTranslationPlaceholder(message, '{depAppName}', appName);\n message = i18n.replaceTranslationPlaceholder(message, '{productName}', productName);\n\n const dialogContent = document.getElementById('productEditModalRemoveDependency-content');\n dialogContent.innerText = message;\n\n const dialog = this._mdcDialogs['productEditModalRemoveDependency'];\n const handler = (e: dialog.MDCDialogCloseEventDetail) => {\n if (e.detail.action === 'remove') {\n this.removeDependency(appName);\n }\n dialog.unlisten('MDCDialog:closed', handler)\n }\n\n dialog.listen('MDCDialog:closed', handler);\n dialog.open();\n };\n\n private removeDependency = (appName:string):void => {\n if (!appName) {\n console.debug('removeDependency: app is empty');\n return;\n }\n\n const dependencyList = this._readDependencyListFromULElement();\n const newDependencyList = [];\n dependencyList.forEach(depName => {\n if (depName !== appName) {\n newDependencyList.push(depName);\n }\n });\n\n this._writeDependencyListToULElement(newDependencyList);\n this.saveData(()=>{}, this.showErrorNotification);\n }\n\n private startProgress(id :string):void {\n const div = document.getElementById(id);\n div.classList.add('mdc-linear-progress--indeterminate');\n const bar = this._mdcProgressbar[id]\n bar.open();\n }\n\n private stopProgress(id:string):void {\n const div = document.getElementById(id);\n div.classList.remove('mdc-linear-progress--indeterminate');\n const bar = this._mdcProgressbar[id];\n bar.close();\n }\n}\n\nexport interface productEditProductDependency {\n appName: string\n}\n\nexport interface appDependencyList {\n apps: appDependencyItem[]\n}\n\nexport interface appDependencyItem {\n appName: string\n displayName: string\n providerName: string\n isApproved: boolean\n}\n\nexport interface appList {\n apps: string[]\n}", "/// \n/// \n/// \n/// \n/// \n// import '../styles/cloudcenter.css';\n// import '../styles/subscriptionWizardV2.css';\n// import '../styles/appview.css';\nimport {OrganizationList} from \"./organizationList\";\nimport {Tenant} from \"./tenant\";\nimport {PermissionManagement} from \"./permissionManagement\";\nimport \"./stringhelpers\";\nimport {AppEdit} from \"./appEdit\";\nimport {AppList} from \"./appList\";\nimport {OrganizationEdit} from \"./organizationEdit\";\nimport {ProviderList} from \"./providerList\";\nimport {ProviderEdit} from \"./providerEdit\";\nimport {ProviderOverview} from \"./providerOverview\";\nimport {ProviderMembership} from \"./providerMembership\";\nimport {App} from \"./app\";\nimport {ConfigTerms} from \"./configTerms\";\nimport {OrderWizard} from \"./orderWizard\";\nimport {OrderWizardLandingPage} from \"./orderWizardLandingPage\";\nimport {SubscriptionWizardV2} from \"./subscriptionWizardV2\";\nimport {SubscriptionWizardV2LandingPage} from \"./subscriptionWizardV2LandingPage\";\nimport {OrganizationV2} from \"./organizationV2\";\nimport {TenantMove} from \"./tenantMove\";\nimport {TenantOverwrites} from \"./tenantOverwrites\";\nimport {ProductList} from \"./productList\";\nimport {ProductEdit} from \"./productEdit\";\n\nexport class CloudCenter{\n private resource: Object;\n\n constructor() {\n this.resource = this.instantiateResource(document.body.getAttribute('data-resource'));\n }\n\n private instantiateResource(resourceClass: string): Object {\n switch(resourceClass) {\n case \"organizationV2\": return new OrganizationV2();\n case \"organizationList\": return new OrganizationList();\n case \"organizationEdit\": return new OrganizationEdit();\n case \"permissionManagement\": return new PermissionManagement();\n case \"tenant\": return new Tenant();\n case \"tenantOverwrites\": return new TenantOverwrites();\n case \"tenantMove\": return new TenantMove();\n case \"app\": return new App();\n case \"appEdit\": return new AppEdit();\n case \"appList\": return new AppList();\n case \"productList\": return new ProductList();\n case \"productEdit\": return new ProductEdit();\n case \"providerList\": return new ProviderList();\n case \"providerEdit\": return new ProviderEdit();\n case \"providerOverview\": return new ProviderOverview();\n case \"providerMembership\": return new ProviderMembership();\n case \"configTerms\": return new ConfigTerms();\n case \"orderWizard\": return new OrderWizard();\n case \"orderWizardLandingPage\": return new OrderWizardLandingPage();\n case \"subscriptionWizardV2\": return new SubscriptionWizardV2();\n case \"subscriptionWizardV2LandingPage\": return new SubscriptionWizardV2LandingPage();\n default:\n console.warn(`${window.location.href} contains the 'data-resource' tag '${resourceClass}' but no typescript class is mapped to this value. Perhaps you did forget to map this value?`);\n return null;\n }\n }\n}\nvar cloudCenter = new CloudCenter();"], "mappings": "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", "names": ["UrlHelpers", "rel", "linkElements", "i", "href", "a", "key", "metaElements", "val", "elements", "url_string", "scriptElements", "url", "value", "uri", "_i18n", "strLocalization", "retval", "exp", "url", "UrlHelpers", "xhr", "result", "languageKey", "storageKey", "key", "targetLanguage", "refresh", "translations", "lk", "v", "ph", "replacement", "i18n", "Language", "includes", "value", "parse", "addIcon", "uEA76_zoomin_32x32_default", "permIcon", "uEA6A_usergroup_32x32_default", "deleteIcon", "uEA14_delete_32x32_default", "serverIcon", "uEA56_server_32x32_default", "saveIcon", "uEA52_save_32x32_default", "dvLogo", "dvlogo_sw_default", "createSystemBackground", "cja_create_system_default", "successFlagBackground", "cja_success_flag_default", "landingPageBackground", "cja_login_default", "moveOrgaIcon", "outline_drive_file_move_black_24dp_default", "overwriteIcon", "assistant_direction_FILL0_wght400_GRAD0_opsz48_default", "__values", "s", "m", "i", "strings", "AUTO_INIT_ATTR", "strings", "AUTO_INIT_STATE_ATTR", "INITIALIZED_STATE", "registry", "CONSOLE_WARN", "emit", "evtType", "evtData", "shouldBubble", "evt", "mdcAutoInit", "root", "components", "nodes", "node", "nodes_1", "__values", "nodes_1_1", "ctorName", "Constructor", "component", "componentName", "warn", "registryValue", "keys", "auto_init_default", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__read", "n", "m", "i", "ar", "e", "error", "__spread", "MDCFoundation", "adapter", "MDCComponent", "root", "foundation", "args", "_i", "__spread", "MDCFoundation", "_args", "evtType", "handler", "options", "evtData", "shouldBubble", "evt", "closest", "element", "selector", "el", "matches", "nativeMatches", "estimateScrollWidth", "htmlEl", "clone", "scrollWidth", "cssClasses", "numbers", "events", "selectors", "CloseReason", "OPENING", "cssClasses", "OPEN", "CLOSING", "MDCBannerFoundation", "_super", "__extends", "adapter", "_this", "__assign", "contentHeight", "numbers", "reason", "CloseReason", "MDCFoundation", "MDCBanner", "_super", "__extends", "root", "_this", "selectors", "evt", "target", "closest", "reason", "adapter", "className", "events", "propertyName", "value", "MDCBannerFoundation", "text", "actionButtonText", "handler", "MDCComponent", "checkbox_exports", "__export", "MDCCheckbox", "MDCCheckboxFoundation", "cssClasses", "numbers", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssPropertyNameMap", "jsEventTypeMap", "isWindow", "windowObj", "getCorrectPropertyName", "cssProperty", "el", "_a", "standard", "prefixed", "isStandard", "getCorrectEventName", "eventType", "applyPassive", "globalObj", "supportsPassiveOption", "passiveSupported", "options", "handler", "err", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "numbers", "util_exports", "__export", "getNormalizedEventCoords", "supportsCssVariables", "supportsCssVariables_", "windowObj", "forceRefresh", "CSS", "supportsCssVars", "supportsFunctionPresent", "explicitlySupportsCssVars", "weAreFeatureDetectingSafari10plus", "evt", "pageOffset", "clientRect", "x", "y", "documentX", "documentY", "normalizedX", "normalizedY", "touchEvent", "mouseEvent", "ACTIVATION_EVENT_TYPES", "POINTER_DEACTIVATION_EVENT_TYPES", "activatedTargets", "MDCRippleFoundation", "_super", "__extends", "adapter", "_this", "__assign", "e", "cssClasses", "strings", "numbers", "supportsPressRipple", "_a", "ROOT_1", "UNBOUNDED_1", "ROOT_2", "UNBOUNDED_2", "evt", "unbounded", "UNBOUNDED", "evtType", "rippleStrings", "keys", "key", "activationState", "previousActivationEvent", "isSameInteraction", "hasActivatedChild", "target", "VAR_FG_TRANSLATE_START", "VAR_FG_TRANSLATE_END", "_b", "FG_DEACTIVATION", "FG_ACTIVATION", "DEACTIVATION_TIMEOUT_MS", "translateStart", "translateEnd", "_c", "startPoint", "endPoint", "activationEvent", "wasActivatedByPointer", "getNormalizedEventCoords", "hasDeactivationUXRun", "isActivated", "activationHasEnded", "state", "wasElementMadeActive", "maxDim", "getBoundedRadius", "hypotenuse", "initialSize", "VAR_FG_SIZE", "VAR_LEFT", "VAR_TOP", "VAR_FG_SCALE", "MDCFoundation", "MDCRipple", "_super", "__extends", "_this", "root", "opts", "ripple", "instance", "className", "supportsCssVariables", "target", "evtType", "handler", "applyPassive", "matches", "varName", "value", "unbounded", "MDCRippleFoundation", "MDCComponent", "cssClasses", "strings", "numbers", "MDCCheckboxFoundation", "_super", "__extends", "adapter", "_this", "__assign", "strings", "cssClasses", "numbers", "disabled", "oldState", "newState", "TRANSITION_STATE_UNCHECKED", "SELECTED", "TRANSITION_STATE_INDETERMINATE", "TRANSITION_STATE_CHECKED", "TRANSITION_STATE_INIT", "_a", "ANIM_UNCHECKED_CHECKED", "ANIM_UNCHECKED_INDETERMINATE", "ANIM_CHECKED_UNCHECKED", "ANIM_CHECKED_INDETERMINATE", "ANIM_INDETERMINATE_CHECKED", "ANIM_INDETERMINATE_UNCHECKED", "MDCFoundation", "CB_PROTO_PROPS", "MDCCheckbox", "_super", "__extends", "_this", "root", "checked", "indeterminate", "disabled", "value", "DATA_INDETERMINATE_ATTR", "strings", "getCorrectEventName", "adapter", "className", "attr", "MDCCheckboxFoundation", "__assign", "MDCRipple", "evtType", "handler", "applyPassive", "matches", "MDCRippleFoundation", "nativeCb", "cbProto", "controlState", "desc", "validDescriptor", "nativeGetter", "nativeCbDesc", "state", "NATIVE_CONTROL_SELECTOR", "el", "MDCComponent", "validDescriptor", "inputPropDesc", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "InteractionTrigger", "strings", "KEY", "normalizedKeys", "KEY_CODE", "mappedKeyCodes", "navigationKeys", "normalizeKey", "evt", "key", "mappedKey", "isNavigationEvent", "MDCChipTrailingActionFoundation", "_super", "__extends", "adapter", "__assign", "strings", "evt", "InteractionTrigger", "key", "normalizeKey", "trigger", "isNavigationEvent", "isFromActionKey", "KEY", "isFromDeleteKey", "MDCFoundation", "MDCChipTrailingAction", "_super", "__extends", "root", "rippleFactory", "el", "foundation", "MDCRipple", "rippleAdapter", "MDCRippleFoundation", "_this", "evt", "adapter", "attr", "trigger", "strings", "key", "value", "MDCChipTrailingActionFoundation", "MDCComponent", "Direction", "EventSource", "strings", "cssClasses", "navigationKeys", "jumpChipKeys", "emptyClientRect", "FocusBehavior", "MDCChipFoundation", "_super", "__extends", "adapter", "_this", "__assign", "strings", "cssClasses", "selected", "shouldNotifyClients", "shouldRemove", "shouldFocus", "getRootRect", "getCheckmarkRect", "checkmarkRect", "rootRect", "evt", "shouldHandle", "widthIsAnimating", "opacityIsAnimating", "chipWidth_1", "removedAnnouncement", "shouldHideLeadingIcon", "shouldShowLeadingIcon", "navigationKeys", "EventSource", "trailingActionIsNavigable", "focusBehavior", "key", "source", "isTrailingActionNavigable", "dir", "jumpChipKeys", "Direction", "isRTL", "isLeftKey", "isRightKey", "isDeletable", "MDCFoundation", "MDCChip", "_super", "__extends", "selected", "shouldRemove", "shouldFocus", "root", "rippleFactory", "trailingActionFactory", "_this", "el", "foundation", "MDCRipple", "MDCChipTrailingAction", "strings", "trailingActionEl", "rippleAdapter", "__assign", "MDCRippleFoundation", "evt", "adapter", "className", "target", "attr", "propertyName", "key", "source", "removedAnnouncement", "shouldIgnore", "value", "MDCChipFoundation", "shouldNotifyClients", "parent", "MDCComponent", "AnnouncerPriority", "DATA_MDC_DOM_ANNOUNCE", "announce", "message", "priority", "Announcer", "liveRegion", "clearLiveRegion", "existingLiveRegion", "el", "strings", "cssClasses", "MDCChipSetFoundation", "_super", "__extends", "adapter", "_this", "__assign", "strings", "cssClasses", "chipId", "_a", "index", "selected", "shouldIgnore", "chipIsSelected", "removedAnnouncement", "maxIndex", "nextIndex", "key", "source", "navigationKeys", "isRTL", "isLeftKey", "isRightKey", "isDownKey", "shouldIncrement", "isHome", "isEnd", "shouldJumpChips", "jumpChipKeys", "EventSource", "dir", "Direction", "shouldNotifyClients", "chipIndex", "chipCount", "i", "previouslySelectedChip", "previouslySelectedIndex", "MDCFoundation", "_a", "MDCChipFoundation", "INTERACTION_EVENT", "SELECTION_EVENT", "REMOVAL_EVENT", "NAVIGATION_EVENT", "CHIP_SELECTOR", "MDCChipSetFoundation", "idCounter", "MDCChipSet", "_super", "__extends", "root", "chipFactory", "el", "MDCChip", "_this", "chip", "evt", "chipEl", "adapter", "message", "announce", "index", "chipId", "className", "selected", "shouldNotifyClients", "chipElements", "i", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "MDCCircularProgressFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "isDeterminate", "value", "unfilledArcLength", "MDCFoundation", "MDCCircularProgress", "_super", "__extends", "MDCCircularProgressFoundation", "root", "value", "_this", "adapter", "className", "attributeName", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__generator", "body", "_", "t", "f", "y", "g", "verb", "n", "v", "op", "__values", "s", "m", "i", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__values", "s", "m", "i", "cssClasses", "strings", "animationDimensionPercentages", "MDCLinearProgressFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "strings", "entries", "entries_1", "__values", "entries_1_1", "entry", "isDeterminate", "value", "isReversed", "progressValue", "transformProp", "getCorrectPropertyName", "width", "primaryHalf", "animationDimensionPercentages", "primaryFull", "secondaryQuarter", "secondaryHalf", "secondaryFull", "MDCFoundation", "MDCLinearProgress", "_super", "__extends", "root", "value", "_this", "adapter", "className", "styleProperty", "bufferBar", "MDCLinearProgressFoundation", "primaryBar", "attributeName", "name", "callback", "ro", "MDCComponent", "cssClasses", "attributes", "dataAttributes", "selectors", "messages", "strings", "SortValue", "events", "MDCDataTableFoundation", "_super", "__extends", "adapter", "__assign", "_a", "rowIds", "rowIndex", "rowId", "isSelected", "selectedRowIds", "isHeaderChecked", "event", "selected", "eventData", "columnId", "columnIndex", "headerCell", "index", "cssClasses", "strings", "SortValue", "currentSortValue", "sortValue", "tableHeaderHeight", "height", "top", "MDCFoundation", "MDCDataTable", "_super", "__extends", "root", "checkboxFactory", "el", "MDCCheckbox", "_this", "cssClasses", "event", "selectors", "rowIds", "_b", "__values", "_c", "checkbox", "adapter", "className", "index", "attribute", "value", "data", "events", "tableContainer", "tableHeader", "styles", "progressIndicator", "rowIndex", "dataAttributes", "closest", "checkboxEl", "rowEl", "attr", "checked", "indeterminate", "columnIndex", "sortValue", "headerCell", "sortStatusLabel", "MDCDataTableFoundation", "columnId", "SortValue", "messages", "MDCLinearProgress", "MDCComponent", "dialog_exports", "__export", "MDCDialog", "MDCDialogFoundation", "cssClasses", "numbers", "strings", "util_exports", "util_exports", "__export", "areTopsMisaligned", "createFocusTrapInstance", "isScrollable", "surfaceEl", "focusTrapFactory", "initialFocusEl", "el", "els", "tops", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__values", "s", "m", "i", "FOCUS_SENTINEL_CLASS", "FocusTrap", "root", "options", "focusableEls", "sentinelEl", "el", "sentinelStart", "sentinelEnd", "initialFocusEl", "focusIndex", "isDisabledOrHidden", "isTabbableAndVisible", "isProgrammaticallyHidden", "style", "sentinel", "cssClasses", "strings", "numbers", "MDCDialogFoundation", "_super", "__extends", "adapter", "_this", "__assign", "strings", "cssClasses", "numbers", "action", "autoStack", "selector", "evt", "isScrim", "isEnter", "target", "isDefault", "isEscape", "callback", "areButtonsStacked", "MDCFoundation", "strings", "MDCDialogFoundation", "MDCDialog", "_super", "__extends", "action", "autoStack", "root", "focusTrapFactory", "el", "focusOptions", "FocusTrap", "container", "_b", "__values", "_c", "buttonEl", "MDCRipple", "_this", "createFocusTrapInstance", "LAYOUT_EVENTS", "evtType", "ripple", "adapter", "className", "areTopsMisaligned", "target", "selector", "matches", "evt", "element", "closest", "isScrollable", "button", "MDCComponent", "createFocusTrapInstance", "surfaceEl", "focusTrapFactory", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "numbers", "ELEMENTS_KEY_ALLOWED_IN", "preventDefaultEvent", "evt", "target", "tagName", "initState", "state", "initSortedIndex", "listItemCount", "getPrimaryTextByItemIndex", "sortedIndexByFirstChar", "i", "primaryText", "firstChar", "values", "first", "second", "matchItem", "opts", "nextChar", "focusItemAtIndex", "focusedItemIndex", "skipFocus", "isItemAtIndexDisabled", "clearBuffer", "numbers", "index", "matchFirstChar", "matchAllChars", "itemsMatchingFirstChar", "newIndex", "newCursorPosition", "cursorPosition", "startingItem", "nextCursorPosition", "currentItem", "matches", "isEnabled", "isTypingInProgress", "handleKeydown", "event", "isTargetListItem", "isArrowLeft", "normalizeKey", "isArrowUp", "isArrowRight", "isArrowDown", "isHome", "isEnd", "isEnter", "isSpace", "isCharacterKey", "preventDefaultEvent", "matchItemOpts", "typeaheadOnListItem", "isNumberArray", "selectedIndex", "MDCListFoundation", "_super", "__extends", "adapter", "_this", "__assign", "numbers", "initState", "strings", "cssClasses", "value", "i", "hasSelectedClass", "hasActivatedClass", "hasTypeahead", "isTypingInProgress", "useActivated", "index", "_", "listItemIndex", "event", "isRootListItem", "isArrowLeft", "normalizeKey", "isArrowUp", "isArrowRight", "isArrowDown", "isHome", "isEnd", "isEnter", "isSpace", "handleKeydownOpts", "handleKeydown", "currentIndex", "preventDefaultEvent", "target", "toggleCheckbox", "count", "nextIndex", "prevIndex", "lastIndex", "itemIndex", "isEnabled", "selectedClassName", "isAriaCurrent", "ariaAttribute", "ariaAttributeValue", "isChecked", "targetIndex", "minIndex", "listSize", "selectedIndexes", "nextChar", "startingIndex", "skipFocus", "opts", "matchItem", "initSortedIndex", "clearBuffer", "MDCFoundation", "MDCList", "_super", "__extends", "value", "cssClasses", "hasTypeahead", "isSingleSelectionList", "index", "root", "direction", "strings", "el", "item", "primaryText", "singleLineText", "_this", "checkboxListItems", "radioSelectedListItem", "preselectedItems", "listItem", "itemIndex", "isEnabled", "nextChar", "startingIndex", "adapter", "className", "element", "attr", "toggleEl", "isChecked", "event", "listItemIndex", "tabIndexValue", "listItemChildren", "MDCListFoundation", "evt", "eventTarget", "nearestParent", "closest", "matches", "target", "toggleCheckbox", "MDCComponent", "cssClasses", "strings", "MDCDismissibleDrawerFoundation", "_super", "__extends", "adapter", "_this", "__assign", "strings", "cssClasses", "evt", "keyCode", "key", "isEscape", "OPENING", "CLOSING", "OPEN", "ANIMATE", "ROOT", "isRootElement", "callback", "element", "MDCFoundation", "MDCModalDrawerFoundation", "_super", "__extends", "MDCDismissibleDrawerFoundation", "cssClasses", "MDCDismissibleDrawerFoundation", "strings", "MDCDrawer", "_super", "__extends", "root", "isOpen", "focusTrapFactory", "listFactory", "el", "FocusTrap", "MDCList", "listEl", "MDCListFoundation", "_this", "MODAL", "SCRIM_SELECTOR", "createFocusTrapInstance", "evt", "adapter", "className", "element", "previousFocus", "activeNavItemEl", "DISMISSIBLE", "MDCModalDrawerFoundation", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "MDCFloatingLabelFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "shouldShake", "LABEL_SHAKE", "shouldFloat", "_a", "LABEL_FLOAT_ABOVE", "isRequired", "LABEL_REQUIRED", "MDCFoundation", "MDCFloatingLabel", "_super", "__extends", "root", "shouldShake", "shouldFloat", "isRequired", "_this", "adapter", "className", "estimateScrollWidth", "evtType", "handler", "MDCFloatingLabelFoundation", "MDCComponent", "form_field_exports", "__export", "MDCFormField", "MDCFormFieldFoundation", "cssClasses", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "MDCFormFieldFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "strings", "MDCFoundation", "MDCFormField", "_super", "__extends", "root", "LABEL_SELECTOR", "MDCFormFieldFoundation", "_this", "adapter", "evtType", "handler", "labelEl", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "MDCIconButtonToggleFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "strings", "ariaLabelOn", "ariaLabelOff", "isOn", "ariaLabel", "MDCFoundation", "strings", "MDCIconButtonToggleFoundation", "MDCIconButtonToggle", "_super", "__extends", "_this", "root", "adapter", "className", "evtData", "attrName", "attrValue", "isOn", "ripple", "MDCRipple", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "MDCLineRippleFoundation", "_super", "__extends", "adapter", "_this", "__assign", "evt", "cssClasses", "xCoordinate", "isDeactivating", "MDCFoundation", "MDCLineRipple", "_super", "__extends", "root", "xCoordinate", "_this", "adapter", "className", "propertyName", "value", "evtType", "handler", "MDCLineRippleFoundation", "MDCComponent", "linear_progress_exports", "__export", "MDCLinearProgress", "MDCLinearProgressFoundation", "animationDimensionPercentages", "cssClasses", "strings", "list_exports", "__export", "MDCList", "MDCListFoundation", "cssClasses", "numbers", "strings", "cachedCssTransformPropertyName_", "getTransformPropertyName", "globalObj", "forceRefresh", "el", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__values", "s", "m", "i", "cssClasses", "strings", "numbers", "CornerBit", "Corner", "MDCMenuSurfaceFoundation", "_super", "__extends", "adapter", "_this", "__assign", "Corner", "cssClasses", "strings", "numbers", "_a", "ROOT", "OPEN", "corner", "CornerBit", "margin", "isHoisted", "isFixedPosition", "x", "y", "quickOpen", "skipRestoreFocus", "evt", "el", "keyCode", "key", "isEscape", "maxMenuSurfaceHeight", "verticalAlignment", "horizontalAlignment", "horizontalOffset", "verticalOffset", "_b", "anchorSize", "surfaceSize", "position", "anchorRect", "bodySize", "viewportSize", "windowScroll", "viewportDistance", "MARGIN_TO_EDGE", "isAnchoredToBottom", "availableTop", "availableBottom", "isAvailableBottom", "isRtl", "isFlipRtl", "hasRightBit", "isAnchoredToRight", "availableLeft", "availableRight", "isAvailableLeft", "isAvailableRight", "isOriginCornerAlignedToEnd", "maxHeight", "isBottomAligned", "isBottomAnchored", "isRightAligned", "avoidHorizontalOverlap", "rightOffset", "avoidVerticalOverlap", "props", "props_1", "__values", "props_1_1", "prop", "value", "isRootFocused", "childHasFocus", "bit", "num", "MDCFoundation", "MDCMenuSurface", "_super", "__extends", "root", "_this", "parentEl", "cssClasses", "event", "strings", "skipRestoreFocus", "quickOpen", "isHoisted", "element", "isFixed", "x", "y", "corner", "margin", "adapter", "className", "MDCMenuSurfaceFoundation", "el", "origin", "propertyName", "getTransformPropertyName", "position", "rootHTML", "height", "MDCComponent", "menu_exports", "__export", "Corner", "DefaultFocusState", "MDCMenu", "MDCMenuFoundation", "cssClasses", "numbers", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "numbers", "DefaultFocusState", "MDCMenuFoundation", "_super", "__extends", "adapter", "_this", "__assign", "DefaultFocusState", "cssClasses", "strings", "numbers", "evt", "key", "keyCode", "isTab", "listItem", "index", "recomputedIndex", "MDCMenuSurfaceFoundation", "focusState", "prevSelectedIndex", "isEnabled", "menuSize", "isIndexInRange", "MDCFoundation", "MDCMenu", "_super", "__extends", "root", "menuSurfaceFactory", "listFactory", "el", "MDCMenuSurface", "MDCList", "_this", "list", "strings", "evt", "MDCMenuSurfaceFoundation", "MDCListFoundation", "value", "nextChar", "startingIndex", "singleSelection", "numbers", "index", "quickOpen", "focusState", "corner", "margin", "isEnabled", "items", "item", "isFixed", "isHoisted", "x", "y", "element", "adapter", "className", "attr", "skipRestoreFocus", "evtData", "closest", "cssClasses", "selectionGroupEl", "selectedItemEl", "MDCMenuFoundation", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "strings", "numbers", "cssClasses", "MDCNotchedOutlineFoundation", "_super", "__extends", "adapter", "__assign", "strings", "cssClasses", "numbers", "notchWidth", "OUTLINE_NOTCHED", "MDCFoundation", "MDCNotchedOutline", "_super", "__extends", "root", "strings", "label", "MDCFloatingLabelFoundation", "cssClasses", "notchWidth", "_this", "adapter", "className", "width", "MDCNotchedOutlineFoundation", "MDCComponent", "radio_exports", "__export", "MDCRadio", "MDCRadioFoundation", "cssClasses", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "strings", "cssClasses", "MDCRadioFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "disabled", "DISABLED", "MDCFoundation", "MDCRadio", "_super", "__extends", "_this", "root", "checked", "disabled", "value", "adapter", "className", "MDCRadioFoundation", "__assign", "MDCRipple", "evtType", "handler", "applyPassive", "MDCRippleFoundation", "NATIVE_CONTROL_SELECTOR", "el", "MDCComponent", "ripple_exports", "__export", "MDCRipple", "MDCRippleFoundation", "cssClasses", "numbers", "strings", "util_exports", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__values", "s", "m", "i", "selectors", "events", "cssClasses", "MDCSegmentedButtonFoundation", "_super", "__extends", "adapter", "__assign", "indexOrSegmentId", "segmentDetail", "cssClasses", "detail", "index", "_b", "__values", "_c", "selectedSegment", "MDCFoundation", "booleans", "attributes", "events", "cssClasses", "emptyClientRect", "MDCSegmentedButtonSegmentFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "booleans", "_a", "attributes", "value", "MDCFoundation", "MDCSegmentedButtonSegment", "_super", "__extends", "root", "rippleFactory", "_this", "el", "foundation", "MDCRipple", "rippleAdapter", "__assign", "MDCRippleFoundation", "events", "adapter", "attrName", "value", "className", "selected", "MDCSegmentedButtonSegmentFoundation", "index", "isSingleSelect", "MDCComponent", "MDCSegmentedButton", "_super", "__extends", "root", "segmentFactory", "el", "MDCSegmentedButtonSegment", "segmentElements", "selectors", "_this", "event", "events", "isSingleSelect", "segment", "index", "selectedSegments", "adapter", "className", "indexOrSegmentId", "segmentDetail", "_segmentDetail", "detail", "MDCSegmentedButtonFoundation", "MDCComponent", "select_exports", "__export", "MDCSelect", "MDCSelectFoundation", "MDCSelectHelperText", "MDCSelectHelperTextFoundation", "MDCSelectIcon", "MDCSelectIconFoundation", "cssClasses", "strings", "numbers", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "numbers", "MDCSelectFoundation", "_super", "__extends", "adapter", "foundationMap", "_this", "__assign", "numbers", "cssClasses", "strings", "index", "closeMenu", "skipNotify", "value", "menuItemValues", "isDisabled", "content", "optionHasValue", "isFocused", "shouldFloatAndNotch", "isRequired", "selectedIndex", "focusItemIndex", "normalizedX", "event", "isEnter", "normalizeKey", "KEY", "isSpace", "arrowUp", "arrowDown", "key", "typeaheadNextIndex", "openNotch", "labelScale", "labelWidth", "label", "useDefaultValidation", "isValid", "anchorEl", "Corner", "helperTextVisible", "helperTextId", "MDCFoundation", "strings", "cssClasses", "MDCSelectHelperTextFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "content", "isValidation", "isPersistent", "selectIsValid", "isValidationMsg", "isPersistentValidationMsg", "msgShouldDisplay", "MDCFoundation", "MDCSelectHelperText", "_super", "__extends", "root", "_this", "adapter", "className", "attr", "value", "content", "MDCSelectHelperTextFoundation", "MDCComponent", "strings", "INTERACTION_EVENTS", "MDCSelectIconFoundation", "_super", "__extends", "adapter", "_this", "__assign", "evt", "strings", "evtType", "disabled", "label", "content", "isEnterKey", "MDCFoundation", "MDCSelectIcon", "_super", "__extends", "root", "_this", "adapter", "attr", "value", "content", "evtType", "handler", "MDCSelectIconFoundation", "MDCComponent", "MDCSelect", "_super", "__extends", "root", "labelFactory", "lineRippleFactory", "outlineFactory", "menuFactory", "iconFactory", "helperTextFactory", "el", "MDCFloatingLabel", "MDCLineRipple", "MDCNotchedOutline", "MDCMenu", "MDCSelectIcon", "MDCSelectHelperText", "strings", "helperTextElement", "labelElement", "lineRippleElement", "outlineElement", "leadingIcon", "cssClasses", "_this", "evt", "value", "selectedIndex", "disabled", "label", "content", "useDefaultValidation", "isValid", "isRequired", "adapter", "__assign", "MDCSelectFoundation", "MDCRipple", "evtType", "handler", "MDCRippleFoundation", "menuItem", "attr", "text", "className", "anchorEl", "anchorCorner", "wrapFocus", "index", "nextChar", "startingIndex", "normalizedX", "labelWidth", "shouldFloat", "targetClientRect", "xCoordinate", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__values", "s", "m", "i", "cssClasses", "numbers", "attributes", "events", "TickMark", "Thumb", "HAS_WINDOW", "MDCSliderFoundation", "_super", "__extends", "adapter", "_this", "__assign", "numbers", "cssClasses", "min", "attributes", "Thumb", "max", "value", "valueStart", "step", "bigStep", "event", "disabled", "_a", "skipUpdateUI", "clientX", "newValueInCurrentRange", "dragAlreadyStarted", "oldValue", "newValue", "thumb", "key", "normalizeKey", "KEY", "currentValue", "moveEventType", "upHandler", "delta", "deltaBigStep", "thumbStartRect", "thumbEndRect", "inThumbStartBounds", "inThumbEndBounds", "moveDistanceUnderThreshold", "draggedThumbToLeft", "valueToAriaValueTextFn", "numTickMarksInactiveStart", "numTickMarksActive", "numTickMarksInactiveEnd", "tickMarksInactiveStart", "TickMark", "tickMarksActive", "tickMarksInactiveEnd", "xPos", "pctComplete", "_b", "emitInputEvent", "emitChangeEvent", "numSteps", "thumbStartMovedPastThumbEnd", "thumbEndMovedPastThumbStart", "rangePx", "isRtl", "transformProp", "getCorrectPropertyName", "thumbLeftPos_1", "thumbRightPos_1", "trackAnimatesFromRight", "thumbStartPos", "thumbEndPos", "position", "transitionProp", "transitionDefault", "thumbsOverlap", "startThumbLeftEdge", "endThumbRightEdge", "startThumbRightEdge", "endThumbLeftEdge", "attributeValue", "attributeName", "MDCFoundation", "MDCSlider", "_super", "__extends", "_this", "root", "options", "adapter", "className", "thumb", "attribute", "value", "cssClasses", "propertyName", "valueIndicatorEl", "tickMarks", "tickMarksContainer", "track", "pointerId", "events", "evtType", "handler", "MDCSliderFoundation", "_a", "skipInitialUIUpdate", "valueStart", "disabled", "mapFn", "Thumb", "tickMarkContainer", "fragment", "div", "tickMarkClass", "TickMark", "tickMarkEls", "rippleSurfaces", "rippleSurfaces_1", "__values", "rippleSurfaces_1_1", "rippleSurface", "ripple", "MDCRipple", "MDCComponent", "snackbar_exports", "__export", "MDCSnackbar", "MDCSnackbarFoundation", "cssClasses", "numbers", "strings", "util_exports", "util_exports", "__export", "announce", "cssClasses", "strings", "numbers", "ARIA_LIVE_DELAY_MS", "numbers", "ARIA_LIVE_LABEL_TEXT_ATTR", "strings", "announce", "ariaEl", "labelEl", "priority", "labelText", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "OPENING", "cssClasses", "OPEN", "CLOSING", "REASON_ACTION", "strings", "REASON_DISMISS", "MDCSnackbarFoundation", "_super", "__extends", "adapter", "_this", "__assign", "numbers", "timeoutMs", "reason", "minValue", "maxValue", "indeterminateValue", "closeOnEscape", "evt", "isEscapeKey", "_evt", "callback", "MDCFoundation", "SURFACE_SELECTOR", "strings", "LABEL_SELECTOR", "ACTION_SELECTOR", "DISMISS_SELECTOR", "OPENING_EVENT", "OPENED_EVENT", "CLOSING_EVENT", "CLOSED_EVENT", "MDCSnackbar", "_super", "__extends", "root", "announcerFactory", "announce", "_this", "evt", "target", "reason", "adapter", "className", "MDCSnackbarFoundation", "timeoutMs", "closeOnEscape", "labelText", "actionButtonText", "handler", "closest", "MDCComponent", "switch_exports", "__export", "MDCSwitch", "MDCSwitchFoundation", "cssClasses", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__read", "n", "m", "i", "ar", "e", "error", "__spread", "cssClasses", "strings", "MDCSwitchFoundation", "_super", "__extends", "adapter", "__assign", "strings", "cssClasses", "checked", "disabled", "evt", "nativeControl", "MDCFoundation", "MDCSwitch", "_super", "__extends", "_this", "root", "args", "_i", "_a", "__spread", "adapter", "className", "checked", "disabled", "attr", "value", "MDCSwitchFoundation", "RIPPLE_SURFACE_SELECTOR", "rippleSurface", "__assign", "MDCRipple", "evtType", "handler", "applyPassive", "matches", "varName", "MDCRippleFoundation", "NATIVE_CONTROL_SELECTOR", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "__read", "n", "m", "i", "ar", "e", "error", "cssClasses", "strings", "MDCTabScrollerRTL", "adapter", "MDCTabScrollerRTLDefault", "_super", "__extends", "currentScrollLeft", "right", "scrollX", "edges", "clampedScrollLeft", "contentWidth", "rootWidth", "MDCTabScrollerRTL", "MDCTabScrollerRTLNegative", "_super", "__extends", "translateX", "currentScrollLeft", "scrollX", "clampedScrollLeft", "contentWidth", "rootWidth", "edges", "MDCTabScrollerRTL", "MDCTabScrollerRTLReverse", "_super", "__extends", "translateX", "currentScrollLeft", "scrollX", "clampedScrollLeft", "contentWidth", "rootWidth", "edges", "MDCTabScrollerRTL", "MDCTabScrollerFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "strings", "horizontalScrollbarHeight", "currentTranslateX", "scrollLeft", "evt", "evtTarget", "scrollXIncrement", "operation", "scrollX", "transformValue", "match", "matrixParams", "_a", "__read", "b", "c", "d", "tx", "ty", "edges", "translateX", "contentWidth", "rootWidth", "currentScrollX", "safeScrollX", "scrollDelta", "animation", "targetScrollX", "currentScrollPosition", "initialScrollLeft", "newScrollLeft", "MDCTabScrollerRTLNegative", "rootClientRect", "contentClientRect", "rightEdgeDelta", "MDCTabScrollerRTLReverse", "MDCTabScrollerRTLDefault", "MDCFoundation", "horizontalScrollbarHeight_", "computeHorizontalScrollbarHeight", "documentObj", "shouldCacheResult", "el", "cssClasses", "horizontalScrollbarHeight", "MDCTabScroller", "_super", "__extends", "root", "MDCTabScrollerFoundation", "_this", "evt", "applyPassive", "adapter", "evtTarget", "selector", "matches", "className", "prop", "value", "propName", "scrollX", "computeHorizontalScrollbarHeight", "scrollXIncrement", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "MDCTabIndicatorFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "MDCFoundation", "MDCFadingTabIndicatorFoundation", "_super", "__extends", "MDCTabIndicatorFoundation", "MDCSlidingTabIndicatorFoundation", "_super", "__extends", "previousIndicatorClientRect", "MDCTabIndicatorFoundation", "currentClientRect", "widthDelta", "xPosition", "MDCTabIndicator", "_super", "__extends", "root", "MDCTabIndicatorFoundation", "_this", "adapter", "className", "prop", "value", "MDCFadingTabIndicatorFoundation", "MDCSlidingTabIndicatorFoundation", "previousIndicatorClientRect", "MDCComponent", "cssClasses", "strings", "MDCTabFoundation", "_super", "__extends", "adapter", "_this", "__assign", "cssClasses", "strings", "focusOnActivate", "previousIndicatorClientRect", "rootWidth", "rootLeft", "contentWidth", "contentLeft", "MDCFoundation", "MDCTab", "_super", "__extends", "root", "rippleFactory", "tabIndicatorFactory", "el", "foundation", "MDCRipple", "MDCTabIndicator", "rippleSurface", "MDCTabFoundation", "rippleAdapter", "__assign", "className", "varName", "value", "rippleFoundation", "MDCRippleFoundation", "tabIndicatorElement", "_this", "adapter", "attr", "previousIndicatorClientRect", "focusOnActivate", "computeIndicatorClientRect", "MDCComponent", "strings", "numbers", "ACCEPTABLE_KEYS", "strings", "KEYCODE_MAP", "numbers", "MDCTabBarFoundation", "_super", "__extends", "adapter", "_this", "__assign", "useAutomaticActivation", "index", "previousActiveIndex", "previousClientRect", "evt", "key", "focusedTabIndex", "origin", "isRTL", "maxIndex", "shouldGoToEnd", "shouldDecrement", "shouldIncrement", "nextIndex", "scrollPosition", "barWidth", "nextTabDimensions", "relativeContentLeft", "relativeContentRight", "leftIncrement", "rightIncrement", "scrollContentWidth", "tabDimensions", "relativeRootLeft", "relativeRootRight", "relativeRootDelta", "leftEdgeIsCloser", "rightEdgeIsCloser", "rootLeft", "rootRight", "rootDelta", "scrollIncrement", "scrollWidth", "MDCFoundation", "strings", "MDCTabBarFoundation", "tabIdCounter", "MDCTabBar", "_super", "__extends", "root", "focusOnActivate", "tab", "useAutomaticActivation", "tabFactory", "tabScrollerFactory", "el", "MDCTab", "MDCTabScroller", "_this", "evt", "MDCTabFoundation", "i", "adapter", "scrollX", "scrollXIncrement", "index", "clientRect", "tabElements", "activeElement", "id", "tabScrollerElement", "MDCComponent", "textfield_exports", "__export", "ALWAYS_FLOAT_TYPES", "MDCTextField", "MDCTextFieldCharacterCounter", "MDCTextFieldCharacterCounterFoundation", "MDCTextFieldFoundation", "MDCTextFieldHelperText", "MDCTextFieldHelperTextFoundation", "MDCTextFieldIcon", "MDCTextFieldIconFoundation", "VALIDATION_ATTR_WHITELIST", "cssClasses", "strings", "numbers", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "strings", "MDCTextFieldCharacterCounterFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "currentLength", "maxLength", "MDCFoundation", "MDCTextFieldCharacterCounter", "_super", "__extends", "root", "_this", "adapter", "content", "MDCTextFieldCharacterCounterFoundation", "MDCComponent", "strings", "cssClasses", "numbers", "VALIDATION_ATTR_WHITELIST", "ALWAYS_FLOAT_TYPES", "POINTERDOWN_EVENTS", "INTERACTION_EVENTS", "MDCTextFieldFoundation", "_super", "__extends", "adapter", "foundationMap", "_this", "__assign", "evt", "attributesList", "cssClasses", "strings", "numbers", "type", "ALWAYS_FLOAT_TYPES", "evtType", "nativeInput", "attributeName", "VALIDATION_ATTR_WHITELIST", "openNotch", "labelWidth", "touches", "targetEvent", "targetClientRect", "normalizedX", "isValid", "value", "shouldShake", "shouldValidate", "useNativeValidation", "disabled", "content", "label", "currentLength", "maxLength", "INVALID", "helperTextValidation", "helperTextVisible", "helperTextId", "isFocused", "FOCUSED", "isDisabled", "_a", "DISABLED", "isFloating", "LABEL_FLOATING", "MDCFoundation", "cssClasses", "strings", "MDCTextFieldHelperTextFoundation", "_super", "__extends", "adapter", "__assign", "cssClasses", "strings", "content", "isPersistent", "isValidation", "inputIsValid", "helperTextIsPersistent", "helperTextIsValidationMsg", "validationMsgNeedsDisplay", "MDCFoundation", "MDCTextFieldHelperText", "_super", "__extends", "root", "_this", "adapter", "className", "attr", "value", "content", "MDCTextFieldHelperTextFoundation", "MDCComponent", "strings", "cssClasses", "INTERACTION_EVENTS", "MDCTextFieldIconFoundation", "_super", "__extends", "adapter", "_this", "__assign", "evt", "strings", "cssClasses", "evtType", "disabled", "label", "content", "isEnterKey", "MDCFoundation", "MDCTextFieldIcon", "_super", "__extends", "root", "_this", "adapter", "attr", "value", "content", "evtType", "handler", "MDCTextFieldIconFoundation", "MDCComponent", "MDCTextField", "_super", "__extends", "root", "rippleFactory", "lineRippleFactory", "helperTextFactory", "characterCounterFactory", "iconFactory", "labelFactory", "outlineFactory", "el", "foundation", "MDCRipple", "MDCLineRipple", "MDCTextFieldHelperText", "MDCTextFieldCharacterCounter", "MDCTextFieldIcon", "MDCFloatingLabel", "MDCNotchedOutline", "strings", "labelElement", "lineRippleElement", "outlineElement", "helperTextStrings", "MDCTextFieldHelperTextFoundation", "nextElementSibling", "hasHelperLine", "cssClasses", "helperTextEl", "characterCounterStrings", "MDCTextFieldCharacterCounterFoundation", "characterCounterEl", "leadingIconEl", "trailingIconEl", "value", "disabled", "valid", "required", "pattern", "minLength", "maxLength", "min", "max", "step", "content", "label", "useNativeValidation", "prefixText", "suffixText", "openNotch", "adapter", "__assign", "MDCTextFieldFoundation", "_this", "className", "evtType", "handler", "getAttributesList", "mutationsList", "mutation", "attributeName", "observer", "config", "attr", "applyPassive", "shouldFloat", "shouldShake", "isRequired", "normalizedX", "labelWidth", "isTextArea", "isOutlined", "matches", "MDCRippleFoundation", "MDCComponent", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "CssClasses", "numbers", "events", "XPosition", "YPosition", "AnchorBoundaryType", "SHOWN", "CssClasses", "SHOWING", "SHOWING_TRANSITION", "HIDE", "HIDE_TRANSITION", "MULTILINE_TOOLTIP", "MDCTooltipFoundation", "_super", "__extends", "adapter", "_this", "__assign", "numbers", "XPosition", "YPosition", "evt", "key", "normalizeKey", "KEY", "showTooltipOptions", "_a", "top", "left", "isHidingTooltip", "position", "xPos", "yPos", "type", "AnchorBoundaryType", "hideFromScreenreader", "tooltipSize", "anchorRect", "tooltipWidth", "startPos", "endPos", "centerPos", "positionOptions", "posWithinThreshold", "posWithinViewport", "leftPos", "viewportWidth", "tooltipHeight", "belowYPos", "aboveYPos", "yPositionOptions", "aboveAnchorPos", "belowAnchorPos", "viewportHeight", "MDCFoundation", "MDCTooltip", "_super", "__extends", "root", "_this", "tooltipId", "position", "type", "adapter", "attr", "value", "className", "propertyName", "evt", "handler", "events", "MDCTooltipFoundation", "MDCComponent", "top_app_bar_exports", "__export", "MDCFixedTopAppBarFoundation", "MDCShortTopAppBarFoundation", "MDCTopAppBar", "MDCTopAppBarBaseFoundation", "MDCTopAppBarFoundation", "cssClasses", "numbers", "strings", "extendStatics", "d", "b", "p", "__extends", "__", "__assign", "s", "i", "n", "cssClasses", "numbers", "strings", "MDCTopAppBarBaseFoundation", "_super", "__extends", "adapter", "__assign", "strings", "cssClasses", "numbers", "MDCFoundation", "INITIAL_VALUE", "MDCTopAppBarFoundation", "_super", "__extends", "adapter", "_this", "currentScrollPosition", "diff", "numbers", "offscreenBoundaryTop", "hasAnyPixelsOffscreen", "hasAnyPixelsOnscreen", "partiallyShowing", "offset", "currentHeight", "MDCTopAppBarBaseFoundation", "MDCFixedTopAppBarFoundation", "_super", "__extends", "_this", "currentScroll", "cssClasses", "MDCTopAppBarFoundation", "MDCShortTopAppBarFoundation", "_super", "__extends", "adapter", "_this", "cssClasses", "value", "currentScroll", "MDCTopAppBarBaseFoundation", "MDCTopAppBar", "_super", "__extends", "root", "rippleFactory", "el", "MDCRipple", "strings", "icons", "icon", "ripple", "isFixed", "cssClasses", "isShort", "iconRipple", "target", "_this", "adapter", "className", "property", "value", "win", "foundation", "MDCShortTopAppBarFoundation", "MDCFixedTopAppBarFoundation", "MDCTopAppBarFoundation", "MDCComponent", "auto_init_default", "MDCBanner", "MDCCheckbox", "MDCChip", "MDCChipSet", "MDCCircularProgress", "MDCDataTable", "MDCDialog", "MDCDrawer", "MDCFloatingLabel", "MDCFormField", "MDCIconButtonToggle", "MDCLineRipple", "MDCLinearProgress", "MDCList", "MDCMenu", "MDCMenuSurface", "MDCNotchedOutline", "MDCRadio", "MDCRipple", "MDCSegmentedButton", "MDCSelect", "MDCSlider", "MDCSnackbar", "MDCSwitch", "MDCTabBar", "MDCTextField", "MDCTooltip", "MDCTopAppBar", "_FieldHandler", "id", "msg", "fieldGroup", "fbEl", "helpEl", "fieldEl", "input", "val", "isMaterial", "textfield_exports", "span", "a", "element", "anchor", "logo", "seperator", "split", "retVal", "i", "FieldHandler", "setContextActions", "dapi", "i18n", "options", "ctx", "provider_membership_add", "provider_membership_rem", "provider_edit_saved", "provider_edit_delete", "provider_created", "app_created", "app_edit_changed_saved", "app_edit_provider_changed", "app_edit_deleted", "product_created", "product_edit_changed_saved", "product_edit_provider_changed", "product_edit_deleted", "organization_created", "tenant_deleted", "tenant_created", "tenant_updated", "MaterialHelpers", "id", "text", "isError", "dom", "textField", "textfield_exports", "helperTextId", "helper", "fn", "funcType", "e", "value", "isEmailValid", "mail", "isRequired", "isUrlValid", "url", "isOnlyText", "s", "isDomainValid", "domain", "re", "isEndpointValid", "endpoint", "OrganizationList", "i18n", "textfields", "textfield", "textfield_exports", "dialogs", "d", "dialog_exports", "ctx", "addIcon", "setContextActions", "div", "dialog", "e", "fields", "field", "MaterialHelpers", "value", "organization_created", "error", "inputs", "allValid", "id", "inputId", "inputValue", "isOnlyText", "resolve", "reject", "url", "UrlHelpers", "orgaName", "FieldHandler", "req", "response", "orgaUrl", "orgaId", "resouceEvent", "tenant_created", "tenant_updated", "tenant_deleted", "resourceEvent", "createOrgaBtn", "btnEmptyList", "_Notification", "title", "message", "Notification", "ErrorHandler", "responseText", "dto", "category", "dux", "title", "alert", "body", "Tenant", "i18n", "a", "url", "UrlHelpers", "resouceEvent", "tenant_updated", "tenant_deleted", "unsubscribeButtons", "i", "btn", "e", "appName", "tenantId", "dependants", "dependencies", "msg", "v", "title", "dto", "xhr", "Notification", "errorDto", "ErrorHandler", "data", "error", "json", "request", "selfUrl", "sysAdmin", "tenantAdmin", "subdomain", "FieldHandler", "btnSave", "subdomainField", "subdomainMessageField", "subdomainIconField", "ctx", "permIcon", "overwriteIcon", "furtherActions", "action", "moveOrgaIcon", "deleteIcon", "setContextActions", "exp", "btnSaveOriginalValue", "validSubdomain", "btnSendOriginalValue", "result", "value", "element", "btnSend", "formgrp", "btnWithdrawTermination", "btnTerminateTenant", "PermissionManagement", "i18n", "removeBtns", "i", "FieldHandler", "data", "url", "UrlHelpers", "xhr", "title", "msg", "Notification", "ErrorHandler", "e", "current", "user", "role", "currentMail", "currentRole", "dto", "retVal", "error", "resourceEvent", "err", "setContextActions", "v", "MediamanagerFileInputHandler", "input", "callback", "file", "baseurl", "UrlHelpers", "location", "links", "cb", "url", "r", "json", "Escaping", "s", "c", "AppEdit", "i18n", "appName", "UrlHelpers", "url", "btn", "approvalStateIsApproved", "allRequirementsExist", "dialog", "e", "checkbox", "cbSuccess", "cbError", "currentApprovalState", "data", "req", "r", "text", "message", "mdcCheckbox", "warningElement", "topBar", "top_app_bar_exports", "buttons", "button", "ripple_exports", "textfields", "textfield", "mdcTextfield", "textfield_exports", "inputs", "areas", "cc", "c", "dialogs", "d", "mdcDialog", "dialog_exports", "bars", "b", "snackbar_exports", "progressbars", "progress", "linear_progress_exports", "swList", "sw", "switch_exports", "uLists", "uList", "mdcList", "list_exports", "selects", "s", "mdcSelect", "select_exports", "selectHelperTexts", "mdcSelectHelperText", "checkboxes", "cb", "mdcCb", "checkbox_exports", "radioButtons", "rb", "mdcRb", "radio_exports", "languageSelectorWarningIconId", "languageSelector", "languageItems", "languageWarningExist", "item", "i", "anchor", "child", "warning", "iconElement", "icon", "id", "div", "bar", "anchorId", "btnEditPricingSave", "source", "logoUrl", "FieldHandler", "urlInput", "y", "smooth", "md", "appData", "mailToHref", "showWarning", "modalId", "noMailtoData", "warningSection", "xhr", "app_edit_deleted", "isModal", "callbackSuccess", "callbackError", "response", "value", "error", "action", "collapsibles", "buttonId", "key", "tf", "target", "attKey", "targetIds", "t", "selectedLanguageKey", "detailsData", "errorstatus", "errormessage", "err", "ErrorHandler", "msg", "viewPropData", "app_edit_changed_saved", "pricingPropData", "requestData", "listElement", "link", "deleteButton", "copyUrlButton", "targetParent", "select", "title", "upload", "language", "btnEvent", "type", "docTypeMiscellaneous", "name", "parent", "path", "uri", "dummy", "errMsg", "inputId", "callback", "fileInput", "MediamanagerFileInputHandler", "input", "trimmed", "isSubscribable", "endpoint", "mdcInputs", "notificationCheckbox", "notificationTextfield", "isEndpointValid", "currentLanguage", "displayname", "minlength", "valid", "copyElementId", "range", "isInvisible", "selection", "btnCopyNewSecret", "btnGenerate", "progressdiv", "progressbar", "txtSecret", "selectedType", "hideTitle", "titleInput", "templateString", "templateJson", "docKeysToTemplateKeys", "preselectedIndex", "searchValue", "dialogAppDepLocal", "btnAddInDialog", "evt", "list", "selectedIndex", "dependency", "dialogDiv", "listId", "mdclist", "ul", "searchField", "appEditModalAddDependencyRequest", "dependencyToAdd", "currentApp", "providerId", "contentData", "href", "dto", "existingMdcList", "currentAppDependecies", "mainAppName", "Escaping", "mdcListNew", "htmlItem", "displayName", "translationText", "messageDiv", "dialogUnapprovedApps", "handler", "appDepElements", "currentAppDependencies", "depAppName", "dialogContent", "hide", "noDependenyDiv", "disabled", "dialogRoot", "permission", "isSilentDep", "index", "DependencyAccessPermissionValues", "app", "header", "auth", "none", "read", "readWrite", "isSilentDependency", "elementId", "accessPermission", "deps", "observedAttributeName", "mutations", "mutation", "appList", "disable", "listItems", "appsKey", "addNewTag", "li", "a", "appNameA", "appNameB", "newItem", "itemClassList", "dependencyPermissionText", "dependencyAutoSubscribeText", "listContent", "newMdcList", "scrollPageId", "scrollPos", "btnDeleteApp", "btnCopySecret", "btnGenerateSecret", "btnSubscribeApp", "copyDocumentUrlButtons", "deleteButtons", "editDocumentButtons", "keyToIndex", "addDocumentButton", "addAppDependencyButton", "legalDocumentListItems", "legalDocumentTitle", "subscriptionNotificationMailCheckbox", "dialogAppDep", "approvalChip", "isCloudAdmin", "contentElement", "p", "dialogTitle", "contentText", "content", "checkboxLabelElement", "labelValue", "btnSaveLabel", "necessaryData", "reqFieldsMissing", "mediaElements", "currentElement", "bgImgUrl", "visible", "wrapper", "DependencyAccessPermissionValues", "includes", "value", "parse", "AppList", "i18n", "UrlHelpers", "resourceEvent", "app_edit_changed_saved", "app_edit_deleted", "app_created", "app_edit_provider_changed", "ctx", "addIcon", "setContextActions", "btn", "appNameInput", "e", "current", "input", "counterSpan", "name", "FieldHandler", "provider", "data", "url", "xhr", "targetUri", "desc", "ErrorHandler", "msg", "prefix", "exp", "maxLength", "OrganizationEdit", "i18n", "orgaImageInputId", "orgaIconInput", "MediamanagerFileInputHandler", "source", "FieldHandler", "evt", "actionContext", "saveIcon", "permIconUrl", "permIcon", "UrlHelpers", "deleteIconUrl", "deleteIcon", "setContextActions", "data", "url", "xhr", "Notification", "error", "ErrorHandler", "isUnexpectedError", "fieldErrors", "i", "errSplit", "fieldName", "errorMessageType", "inputId", "errorMessage", "retval", "doClose", "uri", "ProviderList", "i18n", "resourceEvent", "provider_edit_delete", "provider_edit_saved", "provider_created", "ctx", "UrlHelpers", "addIcon", "setContextActions", "name", "FieldHandler", "prefix", "url", "xhr", "dto", "Notification", "ErrorHandler", "json", "createModalDialog", "inputProviderName", "inputProviderPrefix", "ProviderEdit", "i18n", "UrlHelpers", "logoId", "logoInput", "MediamanagerFileInputHandler", "source", "FieldHandler", "evt", "currentState", "e", "targetUrl", "dialog", "ctx", "saveIcon", "deleteIcon", "modal", "setContextActions", "translationLanguage", "url", "copyFrom", "xhr", "msg", "help", "currentLanguage", "Notification", "data", "provider_edit_saved", "errorDto", "ErrorHandler", "useEmptyCheck", "errorMsg", "errorExist", "providerId", "prefix", "language", "field_name", "label", "field_description", "field_street", "field_zip", "field_city", "field_country", "field_homepage", "isUrlValid", "field_impressum", "field_mail", "isEmailValid", "field_support_mail", "field_support_phone", "field_logo", "title", "alert", "body", "key", "provider_edit_delete", "parentUrl", "exp", "ProviderOverview", "i18n", "resourceEvent", "provider_edit_delete", "parentUrl", "UrlHelpers", "app_created", "app_edit_deleted", "app_edit_changed_saved", "app_edit_provider_changed", "provider_membership_add", "provider_edit_saved", "provider_membership_rem", "setContextActions", "ProviderMembership", "i18n", "resourceEvent", "provider_membership_add", "provider_membership_rem", "id", "btnAdd", "memberinput", "elements", "i", "e", "current", "member", "dto", "FieldHandler", "url", "UrlHelpers", "xhr", "Notification", "setContextActions", "App", "i18n", "e", "wizardUrl", "UrlHelpers", "isResourceVisible", "tenantSelector", "btnSubscribe", "btnCancel", "chkProviderAllowed", "element", "selectedTenant", "FieldHandler", "createTenantDiv", "createOrganizationDiv", "selectedOption", "orgaId", "orgaUrl", "orgaListUrl", "subscriptionUrl", "appName", "xhr", "data", "errorMessage", "url", "domain", "checkUrl", "req", "response", "value", "message", "targetUri", "tenantId", "error", "dto", "inputId", "targetUrl", "btn", "newElement", "resolve", "h", "button", "c", "src", "spin", "image", "disable", "ConfigTerms", "i18n", "uLists", "list", "list_exports", "listItems", "li", "uploadButtons", "button", "deleteButtons", "url", "method", "data", "headers", "wantStatus", "cbSuccess", "cbError", "r", "e", "mmInput", "targetParent", "source", "key", "value", "input", "cb", "MediamanagerFileInputHandler", "clone", "id", "message", "div", "bar", "snackbar_exports", "target", "attIdent", "UrlHelpers", "OrderWizard", "i18n", "FieldHandler", "orgaListItems", "tenantListItems", "tenant", "id", "e", "target", "allOrgaInputsValid", "url", "retries", "language", "req", "response", "html", "rejected", "error", "btnPrevious", "btn", "btnMenu", "menuId", "menuElement", "menu", "menu_exports", "prev", "currentstep", "prevStep", "MaterialHelpers", "next", "UrlHelpers", "transactionProducts", "apps", "el", "affiliate", "transactionId", "event", "pageKey", "keyMap", "d", "year", "month", "day", "hours", "minutes", "seconds", "milliseconds", "targetId", "page", "header", "tenantElement", "inputs", "allValid", "inputId", "inputValue", "containerId", "isOnlyText", "spin", "domain", "domainUpdated", "isDomainValid", "value", "message", "msg", "disable", "step", "btnNextId", "btnNext", "orgaId", "tenantId", "err", "resolve", "reject", "orgaName", "orgaUrl", "address", "zip", "city", "firstName", "lastName", "taxNumber", "tenantUrl", "appName", "dto", "errorDto", "appCards", "gettingStartedLinks", "card", "keys", "dvDocuments", "listItems", "li", "lists", "list", "listItem", "tenantName", "icon", "saturation", "lightness", "text", "charCodeSum", "i", "baseTenantUrl", "relativeLink", "src", "image", "h", "elementId", "selectedElement", "elementDataSet", "htmlElement", "selectedItem", "hide", "basisApp", "app", "legalParagraph", "alreadySubscribedParagraph", "tenantsFromMeta", "tenants", "t", "b", "orgaElement", "organizationId", "expireDate", "expires", "path", "name", "cookieArray", "cookie", "section", "previousButton", "prevBtn", "targetPage", "footer", "btnCreateTenant", "infoButton", "modalTargetId", "modalTarget", "dialog_exports", "auto_init_default", "list_exports", "tenantLists", "tenantList", "mdcList", "nextButton", "OrderWizardLandingPage", "content", "UrlHelpers", "gtmValues", "e", "SubscriptionWizardV2", "i18n", "url", "cbSuccess", "cbError", "req", "response", "data", "reason", "value", "current", "orga", "i", "o", "currentTenants", "tenant", "t", "b", "tenantA", "tenantB", "a", "parsedData", "ol", "wizOrgs", "v", "setBgImage", "e", "dvLogo", "createSystem", "createSystemBackground", "createSystemPlaceholder", "success", "successFlagBackground", "wizardId", "content", "p", "pageId", "currentClass", "hideClass", "wizardPagesKey", "page", "textfields", "textfield", "mdcTextfield", "textfield_exports", "inputs", "areas", "selects", "uList", "mdcSelect", "select_exports", "uLists", "mdcList", "list_exports", "buttons", "button", "ripple_exports", "progressBars", "pBar", "mdcBar", "linear_progress_exports", "dialogs", "d", "mdcDialog", "dialog_exports", "menus", "m", "mdcMenu", "menu_exports", "radios", "r", "mdcRadio", "radio_exports", "snackbars", "snackbar", "mdcSnackbar", "snackbar_exports", "checkboxes", "checkbox", "mdcCheckbox", "checkbox_exports", "formField", "mdcFormField", "form_field_exports", "domain", "UrlHelpers", "dtoJson", "orgaName", "request", "json", "orgaId", "tenantId", "apps", "remaining", "app", "cb", "appName", "domainInputHtml", "newOrganizationInput", "btnCreate", "btnBack", "radioNewOrga", "radioSelectOrga", "list", "attributeWizardData", "attributeSelectedOrganisation", "mutations", "mutation", "inputHtml", "menu", "ev", "selectionListId", "ul", "collectionUl", "index", "li", "selectedOrgaId", "id", "newMdcList", "listItem", "input", "error", "state", "organizationInput", "domainInput", "orgaInput", "infoElementId", "limitInfo", "dto", "message", "group", "radio", "loadMoreData", "more", "el", "diff", "threshold", "scrollElement", "liElements", "heightMultiplier", "lastElement", "organizationName", "textField", "listId", "acceptBtn", "btnNewSystem", "searchInput", "observedAttributeName", "event", "progressBar", "listItems", "btn", "listroot", "collectionList", "organization", "orgaDiv", "tenantLi", "hiddenClass", "parentDiv", "subheader", "tenantIsTerminated", "prefixedDomainSuffix", "Escaping", "stateDiv", "elementId", "itemCount", "wizardData", "i18nKey", "customerInfo", "field", "customerInfoState", "select", "btnAccept", "mandatoryFields", "disable", "btnChangeDomain", "btnChangeCustomerInfo", "appPriceList", "single", "order", "priceList", "shadowDiv", "btnAppDocuments", "company", "name", "country", "phone", "baseAppNote", "changeSystemBtn", "customerData", "topScrollIndicator", "bottomScrollIndicator", "scrollable", "scrolledTop", "scrolledBottom", "marketingCheckbox", "calculation", "shoppingCart", "btnFinal", "disableCloseTimer", "defaultCloseTimeoutValue", "disableCloseTimeoutValue", "dialog", "gettingStarted", "search", "linkSelf", "uri", "info", "ec", "parentId", "parent", "s", "validDomain", "suffixes", "len", "reverseSuffix", "replacements", "key", "replace", "chars", "c", "start", "end", "sub", "rep", "affiliate", "transactionProducts", "transactionId", "target", "mapping", "affiliation", "items", "pageKey", "keyMap", "year", "month", "day", "hours", "minutes", "seconds", "milliseconds", "retries", "resolve", "reject", "err", "retryAfterValue", "retryAfter", "subscriptionOrder", "oid", "selectSystemMoreButton", "nullOrUndefined", "htmlInput", "SubscriptionWizardV2LandingPage", "content", "setBgImage", "e", "url", "branding", "dvLogo", "landingPage", "landingPageBackground", "landingPagePlaceholder", "UrlHelpers", "gtmValues", "OrganizationV2", "i18n", "e", "value", "ctxActions", "serverIcon", "UrlHelpers", "permIconUrl", "permIcon", "addIconUrl", "addIcon", "currentLocation", "subscriptionPath", "subscriptionUrl", "deleteIconUrl", "deleteIcon", "uLists", "uList", "mdcList", "list_exports", "progressBars", "pBar", "mdcBar", "linear_progress_exports", "dialogs", "d", "mdcDialog", "dialog_exports", "snackbars", "snackbar", "mdcSnackbar", "snackbar_exports", "list", "observedAttributeName", "mutations", "mutation", "index", "selectedItem", "href", "data", "ul", "collectionList", "tenant", "li", "ripple", "isTenantTerminated", "icon", "hideElementClass", "el", "hiddenClass", "parentDiv", "current", "url", "cbSuccess", "cbError", "req", "response", "reason", "message", "id", "defaultCloseTimeoutValue", "disableCloseTimeoutValue", "more", "tenantListUrl", "TenantMove", "content", "textfields", "textfield", "mdcTextfield", "textfield_exports", "inputs", "areas", "uLists", "uList", "mdcList", "list_exports", "progressBars", "pBar", "mdcBar", "linear_progress_exports", "dialogs", "d", "mdcDialog", "dialog_exports", "search", "linkRelHref", "UrlHelpers", "uri", "data", "current", "orga", "o", "list", "dataAttributeName", "selectedOrganizationAttribute", "mutations", "mutation", "acceptBtn", "id", "btn", "e", "searchInputMdc", "searchInput", "ev", "dialog", "input", "ul", "url", "cbSuccess", "cbError", "req", "response", "reason", "value", "button", "orgaSelected", "collectionUl", "index", "li", "selectedOrgaId", "wrapperId", "wrapper", "orgaData", "showButton", "organization", "newMdcList", "listItem", "message", "dialogContent", "anchor", "textField", "targetOrgaId", "status", "key", "keyMap", "i18n", "TenantOverwrites", "selects", "uList", "mdcSelect", "select_exports", "textFields", "textfield", "mdcTextfield", "textfield_exports", "inputs", "textFieldHelpers", "helper", "mdcHelper", "selectHelperTexts", "s", "mdcSelectHelperText", "lists", "list", "mdcList", "list_exports", "menus", "m", "mdcMenu", "menu_exports", "buttons", "btn", "ripple_exports", "snackbars", "sb", "mdcSn", "snackbar_exports", "progressBars", "pBar", "mdcBar", "linear_progress_exports", "e", "dataElement", "observedAttributeName", "mutations", "mutation", "selectElement", "value", "appName", "hideClass", "elementId", "element", "field", "data", "ul", "collectionList", "app", "subscribedApp", "li", "ripple", "emptyList", "ovApps", "dto", "el", "item", "index", "msg", "sbError", "cbSuccess", "cbError", "url", "UrlHelpers", "req", "response", "message", "reason", "mdcTextField", "selector", "hostValue", "endpoint", "requestDto", "disabled", "tenant_updated", "i18n", "btnAddOverwrite", "mdcSelector", "ProductList", "i18n", "UrlHelpers", "resourceEvent", "product_edit_changed_saved", "product_edit_deleted", "product_created", "product_edit_provider_changed", "ctx", "addIcon", "setContextActions", "btn", "productNameInput", "e", "current", "input", "counterSpan", "name", "FieldHandler", "provider", "data", "url", "xhr", "targetUri", "desc", "ErrorHandler", "exp", "maxLength", "ProductEdit", "i18n", "appName", "UrlHelpers", "url", "e", "searchValue", "cbSuccess", "cbError", "req", "r", "dto", "listId", "existingMdcList", "currentAppDependecies", "ul", "mainAppName", "item", "Escaping", "mdcListNew", "list_exports", "appDepElements", "currentAppDependencies", "depAppName", "btn", "dialogAppDepLocal", "btnAddInDialog", "data", "id", "message", "div", "bar", "snackbar_exports", "elementId", "observedAttributeName", "mutations", "mutation", "disable", "listItems", "index", "app", "addNewTag", "li", "a", "b", "appNameA", "appNameB", "newItem", "disabled", "itemClassList", "listContent", "hide", "noDependenyDiv", "mdcList", "newMdcList", "evt", "list", "selectedIndex", "dependency", "dialogDiv", "mdclist", "searchField", "htmlItem", "deps", "d", "displayName", "productName", "translationText", "messageDiv", "dialogUnapprovedApps", "handler", "dialog", "dependencyToAdd", "currentApp", "providerId", "contentData", "href", "callbackSuccess", "callbackError", "subscriptionMail", "apps", "self", "request", "response", "value", "error", "text", "code", "err", "ErrorHandler", "msg", "dialogContent", "dependencyList", "newDependencyList", "depName", "addProductDependencyButton", "dialogAppDep", "saveBtn", "ev", "btnSubscribeProduct", "topBar", "top_app_bar_exports", "buttons", "button", "ripple_exports", "textfields", "textfield", "mdcTextfield", "textfield_exports", "inputs", "areas", "cc", "c", "dialogs", "mdcDialog", "dialog_exports", "bars", "uLists", "uList", "selects", "s", "mdcSelect", "select_exports", "selectHelperTexts", "mdcSelectHelperText", "checkboxes", "cb", "mdcCb", "checkbox_exports", "progressbars", "progressbar", "element", "linear_progress_exports", "CloudCenter", "resourceClass", "OrganizationV2", "OrganizationList", "OrganizationEdit", "PermissionManagement", "Tenant", "TenantOverwrites", "TenantMove", "App", "AppEdit", "AppList", "ProductList", "ProductEdit", "ProviderList", "ProviderEdit", "ProviderOverview", "ProviderMembership", "ConfigTerms", "OrderWizard", "OrderWizardLandingPage", "SubscriptionWizardV2", "SubscriptionWizardV2LandingPage", "cloudCenter"] }