@iobroker/adapter-react-v5 4.0.12 → 4.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (140) hide show
  1. package/AdminConnection.js.map +1 -1
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.d.ts +1 -0
  4. package/Components/ColorPicker.js +12 -9
  5. package/Components/ColorPicker.js.map +1 -1
  6. package/Components/ComplexCron.js +24 -22
  7. package/Components/ComplexCron.js.map +1 -1
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js.map +1 -1
  10. package/Components/FileViewer.js.map +1 -1
  11. package/Components/Icon.js.map +1 -1
  12. package/Components/IconPicker.js.map +1 -1
  13. package/Components/IconSelector.js.map +1 -1
  14. package/Components/Image.js.map +1 -1
  15. package/Components/JsonConfigComponent/ChipInput.js +8 -10
  16. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  17. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  18. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  19. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  21. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigCheckLicense.js.map +1 -1
  23. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  25. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  27. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  29. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  31. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  33. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  35. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  37. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  39. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  41. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  43. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  45. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  47. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  49. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  51. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  53. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  55. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  57. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  59. package/Components/JsonConfigComponent/ConfigUUID.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  61. package/Components/JsonConfigComponent/index.js.map +1 -1
  62. package/Components/JsonConfigComponent/wrapper/Components/ColorPicker.js.map +1 -1
  63. package/Components/JsonConfigComponent/wrapper/Components/Icon.js.map +1 -1
  64. package/Components/JsonConfigComponent/wrapper/Components/TextWithIcon.js.map +1 -1
  65. package/Components/JsonConfigComponent/wrapper/Components/UploadImage.js.map +1 -1
  66. package/Components/JsonConfigComponent/wrapper/Components/Utils.js.map +1 -1
  67. package/Components/JsonConfigComponent/wrapper/Dialogs/Confirm.js.map +1 -1
  68. package/Components/JsonConfigComponent/wrapper/Dialogs/Cron.js.map +1 -1
  69. package/Components/JsonConfigComponent/wrapper/Dialogs/Error.js.map +1 -1
  70. package/Components/JsonConfigComponent/wrapper/Dialogs/Message.js.map +1 -1
  71. package/Components/JsonConfigComponent/wrapper/Dialogs/SelectFile.js.map +1 -1
  72. package/Components/JsonConfigComponent/wrapper/Dialogs/SelectID.js.map +1 -1
  73. package/Components/JsonConfigComponent/wrapper/i18n.js.map +1 -1
  74. package/Components/JsonConfigComponent/wrapper/icons/IconCopy.js.map +1 -1
  75. package/Components/Loader.js.map +1 -1
  76. package/Components/Loaders/PT.js.map +1 -1
  77. package/Components/Loaders/Vendor.js.map +1 -1
  78. package/Components/Logo.js.map +1 -1
  79. package/Components/MDUtils.js.map +1 -1
  80. package/Components/ObjectBrowser.js +26 -21
  81. package/Components/ObjectBrowser.js.map +1 -1
  82. package/Components/Router.js.map +1 -1
  83. package/Components/SaveCloseButtons.js.map +1 -1
  84. package/Components/Schedule.js.map +1 -1
  85. package/Components/SelectWithIcon.js.map +1 -1
  86. package/Components/SimpleCron/cron2text.js.map +1 -1
  87. package/Components/SimpleCron/cronText.js.map +1 -1
  88. package/Components/SimpleCron/index.js +38 -32
  89. package/Components/SimpleCron/index.js.map +1 -1
  90. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  91. package/Components/TabContainer.js.map +1 -1
  92. package/Components/TabContent.js.map +1 -1
  93. package/Components/TabHeader.js.map +1 -1
  94. package/Components/TableResize.js.map +1 -1
  95. package/Components/TextWithIcon.js.map +1 -1
  96. package/Components/ToggleThemeMenu.js +5 -5
  97. package/Components/ToggleThemeMenu.js.map +1 -1
  98. package/Components/TreeTable.js.map +1 -1
  99. package/Components/UploadImage.js.map +1 -1
  100. package/Components/Utils.js.map +1 -1
  101. package/Components/copy-to-clipboard.js.map +1 -1
  102. package/Components/withWidth.js.map +1 -1
  103. package/Connection.js.map +1 -1
  104. package/Dialogs/ComplexCron.js +1 -1
  105. package/Dialogs/ComplexCron.js.map +1 -1
  106. package/Dialogs/Confirm.js.map +1 -1
  107. package/Dialogs/Cron.js +6 -6
  108. package/Dialogs/Cron.js.map +1 -1
  109. package/Dialogs/Error.js.map +1 -1
  110. package/Dialogs/Message.js.map +1 -1
  111. package/Dialogs/SelectFile.js.map +1 -1
  112. package/Dialogs/SelectID.js.map +1 -1
  113. package/Dialogs/SimpleCron.js +2 -2
  114. package/Dialogs/SimpleCron.js.map +1 -1
  115. package/Dialogs/TextInput.js.map +1 -1
  116. package/GenericApp.d.ts +11 -0
  117. package/GenericApp.js +109 -42
  118. package/GenericApp.js.map +1 -1
  119. package/Prompt.js.map +1 -1
  120. package/README.md +6 -0
  121. package/Theme.js.map +1 -1
  122. package/_Connection.js.map +1 -1
  123. package/i18n.js.map +1 -1
  124. package/icons/IconAdapter.js.map +1 -1
  125. package/icons/IconAlias.js.map +1 -1
  126. package/icons/IconChannel.js.map +1 -1
  127. package/icons/IconClearFilter.js.map +1 -1
  128. package/icons/IconClosed.js.map +1 -1
  129. package/icons/IconCopy.js.map +1 -1
  130. package/icons/IconDevice.js.map +1 -1
  131. package/icons/IconDocument.js.map +1 -1
  132. package/icons/IconDocumentReadOnly.js.map +1 -1
  133. package/icons/IconExpert.js.map +1 -1
  134. package/icons/IconFx.js.map +1 -1
  135. package/icons/IconInstance.js.map +1 -1
  136. package/icons/IconLogout.js.map +1 -1
  137. package/icons/IconNoIcon.js.map +1 -1
  138. package/icons/IconOpen.js.map +1 -1
  139. package/icons/IconState.js.map +1 -1
  140. package/package.json +1 -1
package/GenericApp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"GenericApp.js","names":["cssStyle","window","localStorage","getItem","setItem","GenericApp","props","settings","ConnectionClass","Connection","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","isWeb","io","location","port","SocketClient","e","id","obj","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","theme","createTheme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","debug","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","printPrompt","query","search","replace","args","trim","split","filter","t","forEach","b","parts","length","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","_localStorage","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","confirmClose","translations","require","Object","keys","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","socketUrl","startsWith","protocol","hostname","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","objects","scripts","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","instanceObj","waitPromise","sentryEnabled","diag","version","disableDataReporting","host","sentryStarted","Sentry","init","dsn","release","integrations","SentryIntegrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","warn","onError","err","error","showError","addEventListener","onResize","onReceiveMessage","removeEventListener","palette","mode","sessionStorage","value","result","i","String","fromCharCode","charCodeAt","selectTab","index","attr","encrypt","decrypt","includes","push","_socket","emit","doc","rows","item","webExtendable","map","reject","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","isClose","oldObj","_oldObj","a","hasOwnProperty","onPrepareSave","setObject","globalThis","parent","postMessage","onClose","vertical","horizontal","classes","close","native","isChanged","newNative","getIsChanged","onSave","isYes","attrs","shift","Error","_updateNativeValue","cb","text","renderError","renderToast","renderSaveCloseButtons","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","key","$iframeDialog","propTypes","PropTypes","string","func","object","array","bool"],"sources":["GenericApp.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport { Connection, PROGRESS } from '@iobroker/socket-client';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport DialogError from './Dialogs/Error';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconClose from '@mui/icons-material/Close';\n\nimport printPrompt from './Prompt';\nimport theme from './Theme';\nimport Loader from './Components/Loader';\nimport Router from './Components/Router';\nimport Utils from './Components/Utils';\nimport SaveCloseButtons from './Components/SaveCloseButtons';\nimport ConfirmDialog from './Dialogs/Confirm';\nimport I18n from './i18n';\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\nif (!window.localStorage) {\n window.localStorage = {\n getItem: () => null,\n setItem: () => null,\n };\n}\n\n/**\n * @extends {Router<import('./types').GenericAppProps, import('./types').GenericAppState>}\n */\nclass GenericApp extends Router {\n /**\n * @param {import('./types').GenericAppProps} props\n * @param {import('./types').GenericAppSettings | undefined} settings\n */\n constructor(props, settings) {\n const ConnectionClass = props.Connection || settings.Connection || Connection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!ConnectionClass.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch (e) {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n let query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n let args = {};\n query.trim().split('&').filter(t => t.trim()).forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance = args.instance !== undefined ? parseInt(args.instance, 10) || 0 : (parseInt(window.location.search.slice(1), 10) || 0);\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName = settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab = location.tab || (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : ((props && props.bottomButtons) === false ? false : true),\n width: GenericApp.getWidth(),\n confirmClose: false,\n };\n\n // init translations\n const translations = {\n 'en': require('./i18n/en.json'),\n 'de': require('./i18n/de.json'),\n 'ru': require('./i18n/ru.json'),\n 'pt': require('./i18n/pt.json'),\n 'nl': require('./i18n/nl.json'),\n 'fr': require('./i18n/fr.json'),\n 'it': require('./i18n/it.json'),\n 'es': require('./i18n/es.json'),\n 'pl': require('./i18n/pl.json'),\n 'uk': require('./i18n/uk.json'),\n 'zh-cn': require('./i18n/zh-cn.json'),\n };\n\n // merge together\n if (settings && settings.translations) {\n Object.keys(settings.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], settings.translations[lang]));\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], props.translations[lang]));\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: progress => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (objects, scripts) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket.subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret = (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || {};\n return this.socket.getObject(this.instanceId);\n })\n .then(instanceObj => {\n let waitPromise;\n\n const sentryEnabled =\n this._systemConfig.diag !== 'none' &&\n instanceObj &&\n instanceObj.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [\n new SentryIntegrations.Dedupe()\n ]\n });\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid')\n .then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n Sentry.configureScope(scope =>\n scope.setUser({id: uuidObj.native.uuid}));\n }\n });\n }\n\n waitPromise = waitPromise || Promise.resolve();\n\n waitPromise\n .then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState({ native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() }, () =>\n this.onConnectionReady && this.onConnectionReady());\n } else {\n console.warn('Cannot load instance settings');\n this.setState({ native: {}, loaded: true, expertMode: this.getExpertMode()},\n () => this.onConnectionReady && this.onConnectionReady());\n }\n });\n });\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n }\n });\n }\n\n onSystemConfigChanged = (id, obj) => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== obj?.common.language) {\n this.socket.systemLang = obj?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig.expertMode !== !!obj?.common?.expertMode) {\n this._systemConfig = obj?.common || {};\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig = obj?.common || {};\n }\n }\n }\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount() {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount() {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = message => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName()\n Utils.setThemeName(Utils.getThemeName());\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') { // if not \"echart ready\" message\n console.debug(`Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`);\n }\n }\n };\n\n /**\n * @private\n */\n onResize = () => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n * @returns {import('./types').Width}\n */\n static getWidth() {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key]);\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n * @param {string} name Theme name\n * @returns {import('./types').Theme}\n */\n createTheme(name = '') {\n return theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme name\n */\n getThemeName(theme) {\n return theme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme type\n */\n getThemeType(theme) {\n return theme.palette.mode;\n }\n\n /**\n * Changes the current theme\n */\n toggleTheme() {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n const newThemeName = themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark'));\n\n Utils.setThemeName(newThemeName);\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n }\n\n /**\n * Gets the system configuration.\n * @returns {Promise<ioBroker.OtherObject>}\n */\n getSystemConfig() {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n * @returns {boolean}\n */\n getExpertMode() {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n onConnectionReady() {\n }\n\n /**\n * Encrypts a string.\n * @param {string} value\n * @returns {string}\n */\n encrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n * @param {string} value\n * @returns {string}\n */\n decrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged() {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n * @param {string} tab\n * @param {number} [index]\n */\n selectTab(tab, index) {\n (window._localStorage || window.localStorage).setItem(this.adapterName + '-adapter', tab);\n this.setState({ selectedTab: tab, selectedTabNum: index })\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n */\n onPrepareSave(settings) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n * @param {string[]} encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings, encryptedNative) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative && encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n * @returns {Promise<any[]>}\n */\n getExtendableInstances() {\n return new Promise(resolve => {\n this.socket._socket.emit('getObjectView', 'system', 'instance', null, (err, doc) => {\n if (err) {\n resolve([]);\n } else {\n resolve(doc.rows\n .filter(item => item.value.common.webExtendable)\n .map(item => item.value)\n );\n }\n });\n });\n }\n\n /**\n * Gets the IP addresses of the given host.\n * @param {string} host\n */\n getIpAddresses(host) {\n return new Promise((resolve, reject) => {\n this.socket._socket.emit('getHostByIp', host || this.common.host, (ip, _host) => {\n const IPs4 = [{ name: `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`, address: '0.0.0.0', family: 'ipv4' }];\n const IPs6 = [{ name: '[IPv6] ::', address: '::', family: 'ipv6' }];\n if (_host) {\n host = _host;\n if (host.native.hardware && host.native.hardware.networkInterfaces) {\n Object.keys(host.native.hardware.networkInterfaces).forEach(eth =>\n host.native.hardware.networkInterfaces[eth].forEach(inter => {\n if (inter.family !== 'IPv6') {\n IPs4.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv4' });\n } else {\n IPs6.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv6' });\n }\n }));\n }\n IPs6.forEach(ip => IPs4.push(ip));\n }\n resolve(IPs4);\n });\n });\n }\n\n /**\n * Saves the settings to the server.\n * @param {boolean} isClose True if the user is closing the dialog.\n */\n onSave(isClose) {\n let oldObj;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket.getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = _oldObj || {};\n\n for (const a in this.state.native) {\n if (this.state.native.hasOwnProperty(a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else\n if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n oldObj.common[b] = null;\n } else\n if (this.state.common[b] !== undefined) {\n oldObj.common[b] = JSON.parse(JSON.stringify(this.state.common[b]));\n } else {\n delete oldObj.common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n } else {\n return Promise.reject('Invalid configuration');\n }\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch (e) {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => {\n console.error(`Cannot save configuration: ${e}`);\n });\n }\n\n /**\n * Renders the toast.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderToast() {\n if (!this.state.toast) {\n return null;\n }\n\n return <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n open={!0}\n autoHideDuration={6000}\n onClose={() => this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={<span id=\"message-id\">{this.state.toast}</span>}\n action={[\n <IconButton\n key=\"close\"\n aria-label=\"Close\"\n color=\"inherit\"\n className={this.props.classes.close}\n onClick={() => this.setState({ toast: '' })}\n size=\"large\">\n <IconClose />\n </IconButton>,\n ]}\n />;\n }\n\n /**\n * Closes the dialog.\n * @private\n */\n static onClose() {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch (e) {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderError() {\n if (!this.state.errorText) {\n return null;\n } else {\n return <DialogError text={this.state.errorText} onClose={() => this.setState({ errorText: '' })}/>;\n }\n }\n\n /**\n * Checks if the configuration has changed.\n * @param {Record<string, any>} [native] the new state\n */\n getIsChanged(native) {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n * @param {Record<string, any>} newNative The new configuration object.\n */\n onLoadConfig(newNative) {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) })\n }\n }\n\n /**\n * Sets the configuration error.\n * @param {string} errorText\n */\n setConfigurationError(errorText) {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n * @returns {JSX.Element | undefined} The JSX element.\n */\n renderSaveCloseButtons() {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return <>\n {this.state.bottomButtons ? <SaveCloseButtons\n theme={this.state.theme}\n newReact={this.newReact}\n noTextOnButtons={this.state.width === 'xs' || this.state.width === 'sm' || this.state.width === 'md'}\n changed={this.state.changed}\n onSave={isClose => this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n /> : null}\n {this.state.confirmClose ? <ConfirmDialog\n title={I18n.t('ra_Please confirm')}\n text={I18n.t('ra_Some data are not stored. Discard?')}\n ok={I18n.t('ra_Discard')}\n cancel={I18n.t('ra_Cancel')}\n onClose={isYes =>\n this.setState({ confirmClose: false }, () =>\n isYes && GenericApp.onClose())}\n /> : null}\n </>;\n }\n\n /**\n * @private\n * @param {Record<string, any>} obj\n * @param {any} attrs\n * @param {any} value\n * @returns {boolean | undefined}\n */\n _updateNativeValue(obj, attrs, value) {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr = attrs.shift();\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n } else if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n } else {\n return false;\n }\n\n } else {\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n }\n\n /**\n * Update the native value\n * @param {string} attr The attribute name with dots as delimiter.\n * @param {any} value The new value.\n * @param {(() => void)} [cb] Callback which will be called upon completion.\n */\n updateNativeValue(attr, value, cb) {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch (e) {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n * @param {string | JSX.Element} text\n */\n showError(text) {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n * @param {string} toast\n */\n showToast(toast) {\n this.setState({ toast });\n }\n\n /**\n * Renders this component.\n * @returns {JSX.Element} The JSX element.\n */\n render() {\n if (!this.state.loaded) {\n return <Loader theme={this.state.themeType}/>;\n }\n\n return <div className=\"App\">\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n </div>;\n }\n}\n\nGenericApp.propTypes = {\n adapterName: PropTypes.string, // (optional) name of adapter\n onThemeChange: PropTypes.func, // (optional) called by theme change\n socket: PropTypes.object, // (optional) socket information (host, port)\n encryptedFields: PropTypes.array, // (optional) list of native attributes, that must be encrypted\n bottomButtons: PropTypes.bool, // If the bottom buttons (Save/Close) must be shown\n Connection: PropTypes.object, // If the bottom buttons (Save/Close) must be shown\n};\n\nexport default GenericApp;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GenericApp.js","names":["_react","_interopRequireDefault","require","_socketClient","_propTypes","Sentry","_interopRequireWildcard","SentryIntegrations","_Error","_Snackbar","_IconButton","_Close","_Prompt","_Theme","_Loader","_Router2","_Utils","_SaveCloseButtons","_Confirm","_i18n","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof3","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","cssStyle","window","localStorage","getItem","setItem","GenericApp","_Router","_inherits2","_super","props","settings","_this","_classCallCheck2","ConnectionClass","Connection","document","getElementById","style","createElement","setAttribute","innerHTML","head","appendChild","isWeb","io","location","port","SocketClient","_assertThisInitialized2","id","_obj$common","socket","systemLang","common","language","I18n","setLanguage","_systemConfig","expertMode","setState","getExpertMode","message","data","newThemeName","Utils","getThemeName","setThemeName","theme","createTheme","themeName","themeType","getThemeType","onThemeChange","onThemeChanged","onToggleExpertMode","console","debug","concat","JSON","stringify","resizeTimer","clearTimeout","setTimeout","width","getWidth","printPrompt","query","search","replace","args","trim","split","t","b","parts","instance","undefined","parseInt","slice","tmp","pathname","adapterName","instanceId","newReact","Router","getLocation","tab","_localStorage","themeInstance","state","selectedTab","selectedTabNum","errorText","changed","connected","loaded","isConfigurationError","toast","bottomButtons","confirmClose","_alert","_alertType","_alertMessage","translations","lang","assign","setTranslations","savedNative","encryptedFields","sentryDSN","socketUrl","startsWith","protocol","hostname","alerDialogRendered","oldAlert","alert","toString","toLowerCase","includes","error","showAlert","log","name","doNotLoadAllObjects","onProgress","progress","PROGRESS","CONNECTING","READY","onReady","subscribeObject","onSystemConfigChanged","then","getSystemConfig","_secret","secret","getObject","instanceObj","waitPromise","sentryEnabled","diag","version","disableDataReporting","host","sentryStarted","init","dsn","release","integrations","Dedupe","sentryInited","uuidObj","uuid","configureScope","scope","setUser","Promise","resolve","onPrepareLoad","encryptedNative","parse","onConnectionReady","warn","onError","err","showError","_createClass2","value","type","renderAlertSnackbar","_this2","backgroundColor","open","autoHideDuration","onClose","reason","alertMessage","componentDidMount","addEventListener","onResize","onReceiveMessage","_get2","componentWillUnmount","removeEventListener","palette","mode","toggleTheme","_this3","sessionStorage","encrypt","String","fromCharCode","charCodeAt","decrypt","onHashChanged","selectTab","index","onPrepareSave","_this4","attr","_this5","getExtendableInstances","_this6","_socket","emit","doc","rows","item","webExtendable","map","getIpAddresses","_this7","reject","ip","_host","IPs4","address","family","IPs6","hardware","networkInterfaces","eth","inter","onSave","isClose","_this8","oldObj","_oldObj","a","setObject","globalThis","parent","postMessage","renderToast","_this9","anchorOrigin","vertical","horizontal","ContentProps","action","color","className","classes","close","onClick","size","renderError","_this10","text","getIsChanged","native","isChanged","onLoadConfig","newNative","setConfigurationError","renderSaveCloseButtons","_this11","Fragment","noTextOnButtons","title","ok","cancel","isYes","_updateNativeValue","attrs","_typeof2","shift","Error","updateNativeValue","cb","showToast","renderHelperDialogs","render","SIZES","xs","sm","md","lg","xl","innerWidth","reverse","widthComputed","find","$iframeDialog","propTypes","PropTypes","string","func","array","bool","_default","exports"],"sources":["GenericApp.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * MIT License\n *\n **/\nimport React from 'react';\nimport { Connection, PROGRESS } from '@iobroker/socket-client';\nimport PropTypes from 'prop-types';\nimport * as Sentry from '@sentry/browser';\nimport * as SentryIntegrations from '@sentry/integrations';\n\nimport DialogError from './Dialogs/Error';\nimport Snackbar from '@mui/material/Snackbar';\nimport IconButton from '@mui/material/IconButton';\n\nimport IconClose from '@mui/icons-material/Close';\n\nimport printPrompt from './Prompt';\nimport theme from './Theme';\nimport Loader from './Components/Loader';\nimport Router from './Components/Router';\nimport Utils from './Components/Utils';\nimport SaveCloseButtons from './Components/SaveCloseButtons';\nimport ConfirmDialog from './Dialogs/Confirm';\nimport I18n from './i18n';\n\n// import './index.css';\nconst cssStyle = `\nhtml {\n height: 100%;\n}\n\nbody {\n margin: 0;\n padding: 0;\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n/* scrollbar */\n::-webkit-scrollbar-track {\n background-color: #ccc;\n border-radius: 5px;\n}\n\n::-webkit-scrollbar {\n width: 5px;\n height: 5px;\n background-color: #ccc;\n}\n\n::-webkit-scrollbar-thumb {\n background-color: #575757;\n border-radius: 5px;\n}\n\n#root {\n height: 100%;\n}\n\n.App {\n height: 100%;\n}\n\n@keyframes glow {\n from {\n background-color: initial;\n }\n to {\n background-color: #58c458;\n }\n}\n`;\n\nif (!window.localStorage) {\n window.localStorage = {\n getItem: () => null,\n setItem: () => null,\n };\n}\n\n/**\n * @extends {Router<import('./types').GenericAppProps, import('./types').GenericAppState>}\n */\nclass GenericApp extends Router {\n /**\n * @param {import('./types').GenericAppProps} props\n * @param {import('./types').GenericAppSettings | undefined} settings\n */\n constructor(props, settings) {\n const ConnectionClass = props.Connection || settings.Connection || Connection;\n // const ConnectionClass = props.Connection === 'admin' || settings.Connection = 'admin' ? AdminConnection : (props.Connection || settings.Connection || Connection);\n\n if (!window.document.getElementById('generic-app-iobroker-component')) {\n const style = window.document.createElement('style');\n style.setAttribute('id', 'generic-app-iobroker-component');\n style.innerHTML = cssStyle;\n window.document.head.appendChild(style);\n }\n\n // Remove `!Connection.isWeb() && window.adapterName !== 'material'` when iobroker.socket will support native ws\n if (!ConnectionClass.isWeb() && window.io && window.location.port === '3000') {\n try {\n const io = new window.SocketClient();\n delete window.io;\n window.io = io;\n } catch (e) {\n // ignore\n }\n }\n\n super(props);\n\n printPrompt();\n\n let query = (window.location.search || '').replace(/^\\?/, '').replace(/#.*$/, '');\n let args = {};\n query.trim().split('&').filter(t => t.trim()).forEach(b => {\n const parts = b.split('=');\n args[parts[0]] = parts.length === 2 ? parts[1] : true;\n if (args[parts[0]] === 'true') {\n args[parts[0]] = true;\n } else if (args[parts[0]] === 'false') {\n args[parts[0]] = false;\n }\n });\n\n // extract instance from URL\n this.instance = args.instance !== undefined ? parseInt(args.instance, 10) || 0 : (parseInt(window.location.search.slice(1), 10) || 0);\n // extract adapter name from URL\n const tmp = window.location.pathname.split('/');\n this.adapterName = settings?.adapterName || props.adapterName || window.adapterName || tmp[tmp.length - 2] || 'iot';\n this.instanceId = `system.adapter.${this.adapterName}.${this.instance}`;\n this.newReact = args.newReact === true; // it is admin5\n\n const location = Router.getLocation();\n location.tab = location.tab || (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '';\n\n const themeInstance = this.createTheme();\n\n this.state = {\n selectedTab: (window._localStorage || window.localStorage).getItem(`${this.adapterName}-adapter`) || '',\n selectedTabNum: -1,\n native: {},\n errorText: '',\n changed: false,\n connected: false,\n loaded: false,\n isConfigurationError: '',\n expertMode: false,\n toast: '',\n theme: themeInstance,\n themeName: this.getThemeName(themeInstance),\n themeType: this.getThemeType(themeInstance),\n bottomButtons: (settings && settings.bottomButtons) === false ? false : ((props && props.bottomButtons) === false ? false : true),\n width: GenericApp.getWidth(),\n confirmClose: false,\n _alert: false,\n _alertType: 'info',\n _alertMessage: '',\n };\n\n // init translations\n const translations = {\n 'en': require('./i18n/en.json'),\n 'de': require('./i18n/de.json'),\n 'ru': require('./i18n/ru.json'),\n 'pt': require('./i18n/pt.json'),\n 'nl': require('./i18n/nl.json'),\n 'fr': require('./i18n/fr.json'),\n 'it': require('./i18n/it.json'),\n 'es': require('./i18n/es.json'),\n 'pl': require('./i18n/pl.json'),\n 'uk': require('./i18n/uk.json'),\n 'zh-cn': require('./i18n/zh-cn.json'),\n };\n\n // merge together\n if (settings && settings.translations) {\n Object.keys(settings.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], settings.translations[lang]));\n } else if (props.translations) {\n Object.keys(props.translations).forEach(lang => translations[lang] = Object.assign(translations[lang], props.translations[lang]));\n }\n\n I18n.setTranslations(translations);\n\n this.savedNative = {}; // to detect if the config changed\n\n this.encryptedFields = props.encryptedFields || settings?.encryptedFields || [];\n\n this.sentryDSN = (settings && settings.sentryDSN) || props.sentryDSN;\n\n if (window.socketUrl) {\n if (window.socketUrl.startsWith(':')) {\n window.socketUrl = `${window.location.protocol}//${window.location.hostname}${window.socketUrl}`;\n } else if (!window.socketUrl.startsWith('http://') && !window.socketUrl.startsWith('https://')) {\n window.socketUrl = `${window.location.protocol}//${window.socketUrl}`;\n }\n }\n\n this.alerDialogRendered = false;\n\n window.oldAlert = window.alert;\n window.alert = message => {\n if (!this.alerDialogRendered) {\n window.oldAlert(message);\n return;\n }\n if (message && message.toString().toLowerCase().includes('error')) {\n console.error(message);\n this.showAlert(message.toString(), 'error');\n } else {\n console.log(message);\n this.showAlert(message.toString(), 'info');\n }\n };\n\n this.socket = new ConnectionClass({\n ...(props?.socket || settings?.socket),\n name: this.adapterName,\n doNotLoadAllObjects: settings?.doNotLoadAllObjects,\n onProgress: progress => {\n if (progress === PROGRESS.CONNECTING) {\n this.setState({ connected: false });\n } else if (progress === PROGRESS.READY) {\n this.setState({ connected: true });\n } else {\n this.setState({ connected: true });\n }\n },\n onReady: (/* objects, scripts */) => {\n I18n.setLanguage(this.socket.systemLang);\n\n // subscribe because of language and expert mode\n this.socket.subscribeObject('system.config', this.onSystemConfigChanged)\n .then(() => this.getSystemConfig())\n .then(obj => {\n this._secret = (typeof obj !== 'undefined' && obj.native && obj.native.secret) || 'Zgfr56gFe87jJOM';\n this._systemConfig = obj?.common || {};\n return this.socket.getObject(this.instanceId);\n })\n .then(instanceObj => {\n let waitPromise;\n\n const sentryEnabled =\n this._systemConfig.diag !== 'none' &&\n instanceObj &&\n instanceObj.common &&\n instanceObj.common.name &&\n instanceObj.common.version &&\n !instanceObj.common.disableDataReporting &&\n window.location.host !== 'localhost:3000';\n\n // activate sentry plugin\n if (!this.sentryStarted && this.sentryDSN && sentryEnabled) {\n this.sentryStarted = true;\n\n Sentry.init({\n dsn: this.sentryDSN,\n release: `iobroker.${instanceObj.common.name}@${instanceObj.common.version}`,\n integrations: [\n new SentryIntegrations.Dedupe()\n ]\n });\n }\n\n // read UUID and init sentry with it.\n // for backward compatibility it will be processed separately from above logic: some adapters could still have this.sentryDSN as undefined\n if (!this.sentryInited && sentryEnabled) {\n this.sentryInited = true;\n\n waitPromise = this.socket.getObject('system.meta.uuid')\n .then(uuidObj => {\n if (uuidObj && uuidObj.native && uuidObj.native.uuid) {\n Sentry.configureScope(scope =>\n scope.setUser({id: uuidObj.native.uuid}));\n }\n });\n }\n\n waitPromise = waitPromise || Promise.resolve();\n\n waitPromise\n .then(() => {\n if (instanceObj) {\n this.common = instanceObj?.common;\n this.onPrepareLoad(instanceObj.native, instanceObj.encryptedNative); // decode all secrets\n this.savedNative = JSON.parse(JSON.stringify(instanceObj.native));\n this.setState({ native: instanceObj.native, loaded: true, expertMode: this.getExpertMode() }, () =>\n this.onConnectionReady && this.onConnectionReady());\n } else {\n console.warn('Cannot load instance settings');\n this.setState({ native: {}, loaded: true, expertMode: this.getExpertMode()},\n () => this.onConnectionReady && this.onConnectionReady());\n }\n });\n })\n .catch(e => window.alert(`Cannot settings: ${e}`));\n },\n onError: err => {\n console.error(err);\n this.showError(err);\n }\n });\n }\n\n showAlert(message, type) {\n if (type !== 'error' && type !== 'warning' && type !== 'info' && type !== 'success') {\n type = 'info';\n }\n\n this.setState({\n _alert: true,\n _alertType: type,\n _alertMessage: message,\n });\n }\n\n renderAlertSnackbar() {\n this.alerDialogRendered = true;\n\n return <Snackbar\n style={this.state._alertType === 'error' ?\n { backgroundColor: '#f44336' } :\n (this.state._alertType === 'success' ? { backgroundColor: '#4caf50' } : undefined)}\n open={this.state._alert}\n autoHideDuration={6000}\n onClose={reason => reason !== 'clickaway' && this.setState({ _alert: false })}\n message={this.state.alertMessage}\n />\n }\n\n onSystemConfigChanged = (id, obj) => {\n if (obj && id === 'system.config') {\n if (this.socket.systemLang !== obj?.common.language) {\n this.socket.systemLang = obj?.common.language || 'en';\n I18n.setLanguage(this.socket.systemLang);\n }\n\n if (this._systemConfig.expertMode !== !!obj?.common?.expertMode) {\n this._systemConfig = obj?.common || {};\n this.setState({ expertMode: this.getExpertMode() });\n } else {\n this._systemConfig = obj?.common || {};\n }\n }\n }\n\n /**\n * Called immediately after a component is mounted. Setting state here will trigger re-rendering.\n */\n componentDidMount() {\n window.addEventListener('resize', this.onResize, true);\n window.addEventListener('message', this.onReceiveMessage, false);\n super.componentDidMount();\n }\n\n /**\n * Called immediately before a component is destroyed.\n */\n componentWillUnmount() {\n window.removeEventListener('resize', this.onResize, true);\n window.removeEventListener('message', this.onReceiveMessage, false);\n super.componentWillUnmount();\n }\n\n onReceiveMessage = message => {\n if (message?.data) {\n if (message.data === 'updateTheme') {\n const newThemeName = Utils.getThemeName()\n Utils.setThemeName(Utils.getThemeName());\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n } else if (message.data === 'updateExpertMode') {\n this.onToggleExpertMode && this.onToggleExpertMode(this.getExpertMode());\n } else if (message.data !== 'chartReady') { // if not \"echart ready\" message\n console.debug(`Received unknown message: \"${JSON.stringify(message.data)}\". May be it will be processed later`);\n }\n }\n };\n\n /**\n * @private\n */\n onResize = () => {\n this.resizeTimer && clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = null;\n this.setState({ width: GenericApp.getWidth() });\n }, 200);\n };\n\n /**\n * Gets the width depending on the window inner width.\n * @returns {import('./types').Width}\n */\n static getWidth() {\n /**\n * innerWidth |xs sm md lg xl\n * |-------|-------|-------|-------|------>\n * width | xs | sm | md | lg | xl\n */\n\n const SIZES = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920\n };\n const width = window.innerWidth;\n const keys = Object.keys(SIZES).reverse();\n const widthComputed = keys.find(key => width >= SIZES[key]);\n\n return widthComputed || 'xs';\n }\n\n /**\n * Get a theme\n * @param {string} name Theme name\n * @returns {import('./types').Theme}\n */\n createTheme(name = '') {\n return theme(Utils.getThemeName(name));\n }\n\n /**\n * Get the theme name\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme name\n */\n getThemeName(theme) {\n return theme.name;\n }\n\n /**\n * Get the theme type\n * @param {import('./types').Theme} theme Theme\n * @returns {string} Theme type\n */\n getThemeType(theme) {\n return theme.palette.mode;\n }\n\n /**\n * Changes the current theme\n */\n toggleTheme() {\n const themeName = this.state.themeName;\n\n // dark => blue => colored => light => dark\n const newThemeName = themeName === 'dark' ? 'blue' :\n (themeName === 'blue' ? 'colored' :\n (themeName === 'colored' ? 'light' : 'dark'));\n\n Utils.setThemeName(newThemeName);\n\n const theme = this.createTheme(newThemeName);\n\n this.setState({\n theme,\n themeName: this.getThemeName(theme),\n themeType: this.getThemeType(theme)\n }, () => {\n this.props.onThemeChange && this.props.onThemeChange(newThemeName);\n this.onThemeChanged && this.onThemeChanged(newThemeName);\n });\n }\n\n /**\n * Gets the system configuration.\n * @returns {Promise<ioBroker.OtherObject>}\n */\n getSystemConfig() {\n return this.socket.getSystemConfig();\n }\n\n /**\n * Get current expert mode\n * @returns {boolean}\n */\n getExpertMode() {\n return window.sessionStorage.getItem('App.expertMode') === 'true' || !!this._systemConfig.expertMode;\n }\n\n /**\n * Gets called when the socket.io connection is ready.\n * You can overload this function to execute own commands.\n */\n onConnectionReady() {\n }\n\n /**\n * Encrypts a string.\n * @param {string} value\n * @returns {string}\n */\n encrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Decrypts a string.\n * @param {string} value\n * @returns {string}\n */\n decrypt(value) {\n let result = '';\n for (let i = 0; i < value.length; i++) {\n result += String.fromCharCode(this._secret[i % this._secret.length].charCodeAt(0) ^ value.charCodeAt(i));\n }\n return result;\n }\n\n /**\n * Gets called when the navigation hash changes.\n * You may override this if needed.\n */\n onHashChanged() {\n const location = Router.getLocation();\n if (location.tab !== this.state.selectedTab) {\n this.selectTab(location.tab);\n }\n }\n\n /**\n * Selects the given tab.\n * @param {string} tab\n * @param {number} [index]\n */\n selectTab(tab, index) {\n (window._localStorage || window.localStorage).setItem(this.adapterName + '-adapter', tab);\n this.setState({ selectedTab: tab, selectedTabNum: index })\n }\n\n /**\n * Gets called before the settings are saved.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n */\n onPrepareSave(settings) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.encrypt(settings[attr]);\n }\n });\n\n return true;\n }\n\n /**\n * Gets called after the settings are loaded.\n * You may override this if needed.\n * @param {Record<string, any>} settings\n * @param {string[]} encryptedNative optional list of fields to be decrypted\n */\n onPrepareLoad(settings, encryptedNative) {\n // here you can encode values\n this.encryptedFields && this.encryptedFields.forEach(attr => {\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n encryptedNative && encryptedNative.forEach(attr => {\n this.encryptedFields = this.encryptedFields || [];\n !this.encryptedFields.includes(attr) && this.encryptedFields.push(attr);\n if (settings[attr]) {\n settings[attr] = this.decrypt(settings[attr]);\n }\n });\n }\n\n /**\n * Gets the extendable instances.\n * @returns {Promise<any[]>}\n */\n getExtendableInstances() {\n return new Promise(resolve => {\n this.socket._socket.emit('getObjectView', 'system', 'instance', null, (err, doc) => {\n if (err) {\n resolve([]);\n } else {\n resolve(doc.rows\n .filter(item => item.value.common.webExtendable)\n .map(item => item.value)\n );\n }\n });\n });\n }\n\n /**\n * Gets the IP addresses of the given host.\n * @param {string} host\n */\n getIpAddresses(host) {\n return new Promise((resolve, reject) => {\n this.socket._socket.emit('getHostByIp', host || this.common.host, (ip, _host) => {\n const IPs4 = [{ name: `[IPv4] 0.0.0.0 - ${I18n.t('ra_Listen on all IPs')}`, address: '0.0.0.0', family: 'ipv4' }];\n const IPs6 = [{ name: '[IPv6] ::', address: '::', family: 'ipv6' }];\n if (_host) {\n host = _host;\n if (host.native.hardware && host.native.hardware.networkInterfaces) {\n Object.keys(host.native.hardware.networkInterfaces).forEach(eth =>\n host.native.hardware.networkInterfaces[eth].forEach(inter => {\n if (inter.family !== 'IPv6') {\n IPs4.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv4' });\n } else {\n IPs6.push({ name: `[${inter.family}] ${inter.address} - ${eth}`, address: inter.address, family: 'ipv6' });\n }\n }));\n }\n IPs6.forEach(ip => IPs4.push(ip));\n }\n resolve(IPs4);\n });\n });\n }\n\n /**\n * Saves the settings to the server.\n * @param {boolean} isClose True if the user is closing the dialog.\n */\n onSave(isClose) {\n let oldObj;\n if (this.state.isConfigurationError) {\n this.setState({ errorText: this.state.isConfigurationError });\n return;\n }\n\n this.socket.getObject(this.instanceId)\n .then(_oldObj => {\n oldObj = _oldObj || {};\n\n for (const a in this.state.native) {\n if (this.state.native.hasOwnProperty(a)) {\n if (this.state.native[a] === null) {\n oldObj.native[a] = null;\n } else\n if (this.state.native[a] !== undefined) {\n oldObj.native[a] = JSON.parse(JSON.stringify(this.state.native[a]));\n } else {\n delete oldObj.native[a];\n }\n }\n }\n\n if (this.state.common) {\n for (const b in this.state.common) {\n if (this.state.common[b] === null) {\n oldObj.common[b] = null;\n } else\n if (this.state.common[b] !== undefined) {\n oldObj.common[b] = JSON.parse(JSON.stringify(this.state.common[b]));\n } else {\n delete oldObj.common[b];\n }\n }\n }\n\n if (this.onPrepareSave(oldObj.native) !== false) {\n return this.socket.setObject(this.instanceId, oldObj);\n } else {\n return Promise.reject('Invalid configuration');\n }\n })\n .then(() => {\n this.savedNative = oldObj.native;\n globalThis.changed = false;\n try {\n window.parent.postMessage('nochange', '*');\n } catch (e) {\n // ignore\n }\n\n this.setState({ changed: false });\n isClose && GenericApp.onClose();\n })\n .catch(e => {\n console.error(`Cannot save configuration: ${e}`);\n });\n }\n\n /**\n * Renders the toast.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderToast() {\n if (!this.state.toast) {\n return null;\n }\n\n return <Snackbar\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n open={!0}\n autoHideDuration={6000}\n onClose={() => this.setState({ toast: '' })}\n ContentProps={{ 'aria-describedby': 'message-id' }}\n message={<span id=\"message-id\">{this.state.toast}</span>}\n action={[\n <IconButton\n key=\"close\"\n aria-label=\"Close\"\n color=\"inherit\"\n className={this.props.classes.close}\n onClick={() => this.setState({ toast: '' })}\n size=\"large\">\n <IconClose />\n </IconButton>,\n ]}\n />;\n }\n\n /**\n * Closes the dialog.\n * @private\n */\n static onClose() {\n if (typeof window.parent !== 'undefined' && window.parent) {\n try {\n if (window.parent.$iframeDialog && typeof window.parent.$iframeDialog.close === 'function') {\n window.parent.$iframeDialog.close();\n } else {\n window.parent.postMessage('close', '*');\n }\n } catch (e) {\n window.parent.postMessage('close', '*');\n }\n }\n }\n\n /**\n * Renders the error dialog.\n * @returns {JSX.Element | null} The JSX element.\n */\n renderError() {\n if (!this.state.errorText) {\n return null;\n } else {\n return <DialogError text={this.state.errorText} onClose={() => this.setState({ errorText: '' })}/>;\n }\n }\n\n /**\n * Checks if the configuration has changed.\n * @param {Record<string, any>} [native] the new state\n */\n getIsChanged(native) {\n native = native || this.state.native;\n const isChanged = JSON.stringify(native) !== JSON.stringify(this.savedNative);\n\n globalThis.changed = isChanged;\n\n return isChanged;\n }\n\n /**\n * Gets called when loading the configuration.\n * @param {Record<string, any>} newNative The new configuration object.\n */\n onLoadConfig(newNative) {\n if (JSON.stringify(newNative) !== JSON.stringify(this.state.native)) {\n this.setState({ native: newNative, changed: this.getIsChanged(newNative) })\n }\n }\n\n /**\n * Sets the configuration error.\n * @param {string} errorText\n */\n setConfigurationError(errorText) {\n if (this.state.isConfigurationError !== errorText) {\n this.setState({ isConfigurationError: errorText });\n }\n }\n\n /**\n * Renders the save and close buttons.\n * @returns {JSX.Element | undefined} The JSX element.\n */\n renderSaveCloseButtons() {\n if (!this.state.confirmClose && !this.state.bottomButtons) {\n return null;\n }\n\n return <>\n {this.state.bottomButtons ? <SaveCloseButtons\n theme={this.state.theme}\n newReact={this.newReact}\n noTextOnButtons={this.state.width === 'xs' || this.state.width === 'sm' || this.state.width === 'md'}\n changed={this.state.changed}\n onSave={isClose => this.onSave(isClose)}\n onClose={() => {\n if (this.state.changed) {\n this.setState({ confirmClose: true });\n } else {\n GenericApp.onClose();\n }\n }}\n /> : null}\n {this.state.confirmClose ? <ConfirmDialog\n title={I18n.t('ra_Please confirm')}\n text={I18n.t('ra_Some data are not stored. Discard?')}\n ok={I18n.t('ra_Discard')}\n cancel={I18n.t('ra_Cancel')}\n onClose={isYes =>\n this.setState({ confirmClose: false }, () =>\n isYes && GenericApp.onClose())}\n /> : null}\n </>;\n }\n\n /**\n * @private\n * @param {Record<string, any>} obj\n * @param {any} attrs\n * @param {any} value\n * @returns {boolean | undefined}\n */\n _updateNativeValue(obj, attrs, value) {\n if (typeof attrs !== 'object') {\n attrs = attrs.split('.');\n }\n const attr = attrs.shift();\n if (!attrs.length) {\n if (value && typeof value === 'object') {\n if (JSON.stringify(obj[attr]) !== JSON.stringify(value)) {\n obj[attr] = value;\n return true;\n }\n } else if (obj[attr] !== value) {\n obj[attr] = value;\n return true;\n } else {\n return false;\n }\n\n } else {\n obj[attr] = obj[attr] || {};\n if (typeof obj[attr] !== 'object') {\n throw new Error(`attribute ${attr} is no object, but ${typeof obj[attr]}`);\n }\n return this._updateNativeValue(obj[attr], attrs, value);\n }\n }\n\n /**\n * Update the native value\n * @param {string} attr The attribute name with dots as delimiter.\n * @param {any} value The new value.\n * @param {(() => void)} [cb] Callback which will be called upon completion.\n */\n updateNativeValue(attr, value, cb) {\n const native = JSON.parse(JSON.stringify(this.state.native));\n if (this._updateNativeValue(native, attr, value)) {\n const changed = this.getIsChanged(native);\n\n if (changed !== this.state.changed) {\n try {\n window.parent.postMessage(changed ? 'change' : 'nochange', '*');\n } catch (e) {\n // ignore\n }\n }\n\n this.setState({ native, changed }, cb);\n }\n }\n\n /**\n * Set the error text to be shown.\n * @param {string | JSX.Element} text\n */\n showError(text) {\n this.setState({ errorText: text });\n }\n\n /**\n * Sets the toast to be shown.\n * @param {string} toast\n */\n showToast(toast) {\n this.setState({ toast });\n }\n\n /**\n * Renders helper dialogs\n * @returns {JSX.Element} The JSX element.\n */\n renderHelperDialogs() {\n return <>\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </>;\n }\n\n /**\n * Renders this component.\n * @returns {JSX.Element} The JSX element.\n */\n render() {\n if (!this.state.loaded) {\n return <Loader theme={this.state.themeType}/>;\n }\n\n return <div className=\"App\">\n {this.renderError()}\n {this.renderToast()}\n {this.renderSaveCloseButtons()}\n {this.renderAlertSnackbar()}\n </div>;\n }\n}\n\nGenericApp.propTypes = {\n adapterName: PropTypes.string, // (optional) name of adapter\n onThemeChange: PropTypes.func, // (optional) called by theme change\n socket: PropTypes.object, // (optional) socket information (host, port)\n encryptedFields: PropTypes.array, // (optional) list of native attributes, that must be encrypted\n bottomButtons: PropTypes.bool, // If the bottom buttons (Save/Close) must be shown\n Connection: PropTypes.object, // If the bottom buttons (Save/Close) must be shown\n};\n\nexport default GenericApp;\n"],"mappings":";;;;;;;;;;;;;;;;;AAMA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAD,uBAAA,CAAAJ,OAAA;AAEA,IAAAM,MAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,SAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AAEA,IAAAU,OAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,MAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,OAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,QAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,iBAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,QAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,KAAA,GAAAlB,sBAAA,CAAAC,OAAA;AAA0B,SAAAkB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAf,wBAAAmB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,QAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,QAAAwB,gBAAA,aAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAS,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAZ,SAAA,EAAAe,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAI,SAAA,gBAAAmB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAzC,SAAA,CAAA0C,OAAA,CAAAxC,IAAA,CAAAkC,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAE,CAAA;AAE1B;AACA,IAAMC,QAAQ,43BAiDb;AAED,IAAI,CAACC,MAAM,CAACC,YAAY,EAAE;EACtBD,MAAM,CAACC,YAAY,GAAG;IAClBC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM,IAAI;IAAA;IACnBC,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM,IAAI;IAAA;EACvB,CAAC;AACL;;AAEA;AACA;AACA;AAFA,IAGMC,UAAU,0BAAAC,OAAA;EAAA,IAAAC,UAAA,aAAAF,UAAA,EAAAC,OAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,UAAA;EACZ;AACJ;AACA;AACA;EACI,SAAAA,WAAYI,KAAK,EAAEC,QAAQ,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAP,UAAA;IACzB,IAAMQ,eAAe,GAAGJ,KAAK,CAACK,UAAU,IAAIJ,QAAQ,CAACI,UAAU,IAAIA,wBAAU;IAC7E;;IAEA,IAAI,CAACb,MAAM,CAACc,QAAQ,CAACC,cAAc,CAAC,gCAAgC,CAAC,EAAE;MACnE,IAAMC,KAAK,GAAGhB,MAAM,CAACc,QAAQ,CAACG,aAAa,CAAC,OAAO,CAAC;MACpDD,KAAK,CAACE,YAAY,CAAC,IAAI,EAAE,gCAAgC,CAAC;MAC1DF,KAAK,CAACG,SAAS,GAAGpB,QAAQ;MAC1BC,MAAM,CAACc,QAAQ,CAACM,IAAI,CAACC,WAAW,CAACL,KAAK,CAAC;IAC3C;;IAEA;IACA,IAAI,CAACJ,eAAe,CAACU,KAAK,EAAE,IAAItB,MAAM,CAACuB,EAAE,IAAIvB,MAAM,CAACwB,QAAQ,CAACC,IAAI,KAAK,MAAM,EAAE;MAC1E,IAAI;QACA,IAAMF,EAAE,GAAG,IAAIvB,MAAM,CAAC0B,YAAY,EAAE;QACpC,OAAO1B,MAAM,CAACuB,EAAE;QAChBvB,MAAM,CAACuB,EAAE,GAAGA,EAAE;MAClB,CAAC,CAAC,OAAOzB,CAAC,EAAE;QACR;MAAA;IAER;IAEAY,KAAA,GAAAH,MAAA,CAAAlD,IAAA,OAAMmD,KAAK;IAAE,IAAA9B,gBAAA,iBAAAiD,uBAAA,aAAAjB,KAAA,4BA6NO,UAACkB,EAAE,EAAErF,GAAG,EAAK;MACjC,IAAIA,GAAG,IAAIqF,EAAE,KAAK,eAAe,EAAE;QAAA,IAAAC,WAAA;QAC/B,IAAInB,KAAA,CAAKoB,MAAM,CAACC,UAAU,MAAKxF,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyF,MAAM,CAACC,QAAQ,GAAE;UACjDvB,KAAA,CAAKoB,MAAM,CAACC,UAAU,GAAG,CAAAxF,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyF,MAAM,CAACC,QAAQ,KAAI,IAAI;UACrDC,gBAAI,CAACC,WAAW,CAACzB,KAAA,CAAKoB,MAAM,CAACC,UAAU,CAAC;QAC5C;QAEA,IAAIrB,KAAA,CAAK0B,aAAa,CAACC,UAAU,KAAK,CAAC,EAAC9F,GAAG,aAAHA,GAAG,gBAAAsF,WAAA,GAAHtF,GAAG,CAAEyF,MAAM,cAAAH,WAAA,eAAXA,WAAA,CAAaQ,UAAU,GAAE;UAC7D3B,KAAA,CAAK0B,aAAa,GAAG,CAAA7F,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyF,MAAM,KAAI,CAAC,CAAC;UACtCtB,KAAA,CAAK4B,QAAQ,CAAC;YAAED,UAAU,EAAE3B,KAAA,CAAK6B,aAAa;UAAG,CAAC,CAAC;QACvD,CAAC,MAAM;UACH7B,KAAA,CAAK0B,aAAa,GAAG,CAAA7F,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyF,MAAM,KAAI,CAAC,CAAC;QAC1C;MACJ;IACJ,CAAC;IAAA,IAAAtD,gBAAA,iBAAAiD,uBAAA,aAAAjB,KAAA,uBAoBkB,UAAA8B,OAAO,EAAI;MAC1B,IAAIA,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEC,IAAI,EAAE;QACf,IAAID,OAAO,CAACC,IAAI,KAAK,aAAa,EAAE;UAChC,IAAMC,YAAY,GAAGC,iBAAK,CAACC,YAAY,EAAE;UACzCD,iBAAK,CAACE,YAAY,CAACF,iBAAK,CAACC,YAAY,EAAE,CAAC;UAExC,IAAME,MAAK,GAAGpC,KAAA,CAAKqC,WAAW,CAACL,YAAY,CAAC;UAE5ChC,KAAA,CAAK4B,QAAQ,CAAC;YACVQ,KAAK,EAALA,MAAK;YACLE,SAAS,EAAEtC,KAAA,CAAKkC,YAAY,CAACE,MAAK,CAAC;YACnCG,SAAS,EAAEvC,KAAA,CAAKwC,YAAY,CAACJ,MAAK;UACtC,CAAC,EAAE,YAAM;YACLpC,KAAA,CAAKF,KAAK,CAAC2C,aAAa,IAAIzC,KAAA,CAAKF,KAAK,CAAC2C,aAAa,CAACT,YAAY,CAAC;YAClEhC,KAAA,CAAK0C,cAAc,IAAI1C,KAAA,CAAK0C,cAAc,CAACV,YAAY,CAAC;UAC5D,CAAC,CAAC;QACN,CAAC,MAAM,IAAIF,OAAO,CAACC,IAAI,KAAK,kBAAkB,EAAE;UAC5C/B,KAAA,CAAK2C,kBAAkB,IAAI3C,KAAA,CAAK2C,kBAAkB,CAAC3C,KAAA,CAAK6B,aAAa,EAAE,CAAC;QAC5E,CAAC,MAAM,IAAIC,OAAO,CAACC,IAAI,KAAK,YAAY,EAAE;UAAE;UACxCa,OAAO,CAACC,KAAK,gCAAAC,MAAA,CAA+BC,IAAI,CAACC,SAAS,CAAClB,OAAO,CAACC,IAAI,CAAC,2CAAuC;QACnH;MACJ;IACJ,CAAC;IAED;AACJ;AACA;IAFI,IAAA/D,gBAAA,iBAAAiD,uBAAA,aAAAjB,KAAA,eAGW,YAAM;MACbA,KAAA,CAAKiD,WAAW,IAAIC,YAAY,CAAClD,KAAA,CAAKiD,WAAW,CAAC;MAClDjD,KAAA,CAAKiD,WAAW,GAAGE,UAAU,CAAC,YAAM;QAChCnD,KAAA,CAAKiD,WAAW,GAAG,IAAI;QACvBjD,KAAA,CAAK4B,QAAQ,CAAC;UAAEwB,KAAK,EAAE1D,UAAU,CAAC2D,QAAQ;QAAG,CAAC,CAAC;MACnD,CAAC,EAAE,GAAG,CAAC;IACX,CAAC;IA9RG,IAAAC,kBAAW,GAAE;IAEb,IAAIC,KAAK,GAAG,CAACjE,MAAM,CAACwB,QAAQ,CAAC0C,MAAM,IAAI,EAAE,EAAEC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACjF,IAAIC,IAAI,GAAG,CAAC,CAAC;IACbH,KAAK,CAACI,IAAI,EAAE,CAACC,KAAK,CAAC,GAAG,CAAC,CAACxG,MAAM,CAAC,UAAAyG,CAAC;MAAA,OAAIA,CAAC,CAACF,IAAI,EAAE;IAAA,EAAC,CAAC5F,OAAO,CAAC,UAAA+F,CAAC,EAAI;MACvD,IAAMC,KAAK,GAAGD,CAAC,CAACF,KAAK,CAAC,GAAG,CAAC;MAC1BF,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAClG,MAAM,KAAK,CAAC,GAAGkG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI;MACrD,IAAIL,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;QAC3BL,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;MACzB,CAAC,MAAM,IAAIL,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;QACnCL,IAAI,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;MAC1B;IACJ,CAAC,CAAC;;IAEF;IACA/D,KAAA,CAAKgE,QAAQ,GAAGN,IAAI,CAACM,QAAQ,KAAKC,SAAS,GAAGC,QAAQ,CAACR,IAAI,CAACM,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,GAAIE,QAAQ,CAAC5E,MAAM,CAACwB,QAAQ,CAAC0C,MAAM,CAACW,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAE;IACrI;IACA,IAAMC,GAAG,GAAG9E,MAAM,CAACwB,QAAQ,CAACuD,QAAQ,CAACT,KAAK,CAAC,GAAG,CAAC;IAC/C5D,KAAA,CAAKsE,WAAW,GAAG,CAAAvE,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEuE,WAAW,KAAIxE,KAAK,CAACwE,WAAW,IAAIhF,MAAM,CAACgF,WAAW,IAAIF,GAAG,CAACA,GAAG,CAACvG,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK;IACnHmC,KAAA,CAAKuE,UAAU,qBAAAzB,MAAA,CAAsB9C,KAAA,CAAKsE,WAAW,OAAAxB,MAAA,CAAI9C,KAAA,CAAKgE,QAAQ,CAAE;IACxEhE,KAAA,CAAKwE,QAAQ,GAAGd,IAAI,CAACc,QAAQ,KAAK,IAAI,CAAC,CAAC;;IAExC,IAAM1D,QAAQ,GAAG2D,mBAAM,CAACC,WAAW,EAAE;IACrC5D,QAAQ,CAAC6D,GAAG,GAAG7D,QAAQ,CAAC6D,GAAG,IAAI,CAACrF,MAAM,CAACsF,aAAa,IAAItF,MAAM,CAACC,YAAY,EAAEC,OAAO,IAAAsD,MAAA,CAAI9C,KAAA,CAAKsE,WAAW,cAAW,IAAI,EAAE;IAEzH,IAAMO,aAAa,GAAG7E,KAAA,CAAKqC,WAAW,EAAE;IAExCrC,KAAA,CAAK8E,KAAK,GAAG;MACTC,WAAW,EAAK,CAACzF,MAAM,CAACsF,aAAa,IAAItF,MAAM,CAACC,YAAY,EAAEC,OAAO,IAAAsD,MAAA,CAAI9C,KAAA,CAAKsE,WAAW,cAAW,IAAI,EAAE;MAC1GU,cAAc,EAAE,CAAC,CAAC;MAClB,UAAgB,CAAC,CAAC;MAClBC,SAAS,EAAO,EAAE;MAClBC,OAAO,EAAS,KAAK;MACrBC,SAAS,EAAO,KAAK;MACrBC,MAAM,EAAU,KAAK;MACrBC,oBAAoB,EAAE,EAAE;MACxB1D,UAAU,EAAM,KAAK;MACrB2D,KAAK,EAAW,EAAE;MAClBlD,KAAK,EAAWyC,aAAa;MAC7BvC,SAAS,EAAOtC,KAAA,CAAKkC,YAAY,CAAC2C,aAAa,CAAC;MAChDtC,SAAS,EAAOvC,KAAA,CAAKwC,YAAY,CAACqC,aAAa,CAAC;MAChDU,aAAa,EAAG,CAACxF,QAAQ,IAAIA,QAAQ,CAACwF,aAAa,MAAM,KAAK,GAAG,KAAK,GAAI,CAACzF,KAAK,IAAIA,KAAK,CAACyF,aAAa,MAAM,KAAK,GAAG,KAAK,GAAG,IAAK;MAClInC,KAAK,EAAW1D,UAAU,CAAC2D,QAAQ,EAAE;MACrCmC,YAAY,EAAI,KAAK;MACrBC,MAAM,EAAU,KAAK;MACrBC,UAAU,EAAM,MAAM;MACtBC,aAAa,EAAG;IACpB,CAAC;;IAED;IACA,IAAMC,YAAY,GAAG;MACjB,IAAI,EAAEtL,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,IAAI,EAAEA,OAAO,CAAC,gBAAgB,CAAC;MAC/B,OAAO,EAAEA,OAAO,CAAC,mBAAmB;IACxC,CAAC;;IAED;IACA,IAAIyF,QAAQ,IAAIA,QAAQ,CAAC6F,YAAY,EAAE;MACnCvJ,MAAM,CAACY,IAAI,CAAC8C,QAAQ,CAAC6F,YAAY,CAAC,CAAC7H,OAAO,CAAC,UAAA8H,IAAI;QAAA,OAAID,YAAY,CAACC,IAAI,CAAC,GAAGxJ,MAAM,CAACyJ,MAAM,CAACF,YAAY,CAACC,IAAI,CAAC,EAAE9F,QAAQ,CAAC6F,YAAY,CAACC,IAAI,CAAC,CAAC;MAAA,EAAC;IAC3I,CAAC,MAAM,IAAI/F,KAAK,CAAC8F,YAAY,EAAE;MAC3BvJ,MAAM,CAACY,IAAI,CAAC6C,KAAK,CAAC8F,YAAY,CAAC,CAAC7H,OAAO,CAAC,UAAA8H,IAAI;QAAA,OAAID,YAAY,CAACC,IAAI,CAAC,GAAGxJ,MAAM,CAACyJ,MAAM,CAACF,YAAY,CAACC,IAAI,CAAC,EAAE/F,KAAK,CAAC8F,YAAY,CAACC,IAAI,CAAC,CAAC;MAAA,EAAC;IACrI;IAEArE,gBAAI,CAACuE,eAAe,CAACH,YAAY,CAAC;IAElC5F,KAAA,CAAKgG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;;IAEvBhG,KAAA,CAAKiG,eAAe,GAAGnG,KAAK,CAACmG,eAAe,KAAIlG,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEkG,eAAe,KAAI,EAAE;IAE/EjG,KAAA,CAAKkG,SAAS,GAAInG,QAAQ,IAAIA,QAAQ,CAACmG,SAAS,IAAKpG,KAAK,CAACoG,SAAS;IAEpE,IAAI5G,MAAM,CAAC6G,SAAS,EAAE;MAClB,IAAI7G,MAAM,CAAC6G,SAAS,CAACC,UAAU,CAAC,GAAG,CAAC,EAAE;QAClC9G,MAAM,CAAC6G,SAAS,MAAArD,MAAA,CAAMxD,MAAM,CAACwB,QAAQ,CAACuF,QAAQ,QAAAvD,MAAA,CAAKxD,MAAM,CAACwB,QAAQ,CAACwF,QAAQ,EAAAxD,MAAA,CAAGxD,MAAM,CAAC6G,SAAS,CAAE;MACpG,CAAC,MAAM,IAAI,CAAC7G,MAAM,CAAC6G,SAAS,CAACC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC9G,MAAM,CAAC6G,SAAS,CAACC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC5F9G,MAAM,CAAC6G,SAAS,MAAArD,MAAA,CAAMxD,MAAM,CAACwB,QAAQ,CAACuF,QAAQ,QAAAvD,MAAA,CAAKxD,MAAM,CAAC6G,SAAS,CAAE;MACzE;IACJ;IAEAnG,KAAA,CAAKuG,kBAAkB,GAAG,KAAK;IAE/BjH,MAAM,CAACkH,QAAQ,GAAGlH,MAAM,CAACmH,KAAK;IAC9BnH,MAAM,CAACmH,KAAK,GAAG,UAAA3E,OAAO,EAAI;MACtB,IAAI,CAAC9B,KAAA,CAAKuG,kBAAkB,EAAE;QAC1BjH,MAAM,CAACkH,QAAQ,CAAC1E,OAAO,CAAC;QACxB;MACJ;MACA,IAAIA,OAAO,IAAIA,OAAO,CAAC4E,QAAQ,EAAE,CAACC,WAAW,EAAE,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC/DhE,OAAO,CAACiE,KAAK,CAAC/E,OAAO,CAAC;QACtB9B,KAAA,CAAK8G,SAAS,CAAChF,OAAO,CAAC4E,QAAQ,EAAE,EAAE,OAAO,CAAC;MAC/C,CAAC,MAAM;QACH9D,OAAO,CAACmE,GAAG,CAACjF,OAAO,CAAC;QACpB9B,KAAA,CAAK8G,SAAS,CAAChF,OAAO,CAAC4E,QAAQ,EAAE,EAAE,MAAM,CAAC;MAC9C;IACJ,CAAC;IAED1G,KAAA,CAAKoB,MAAM,GAAG,IAAIlB,eAAe,CAAAzC,aAAA,CAAAA,aAAA,KACzB,CAAAqC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEsB,MAAM,MAAIrB,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEqB,MAAM;MACrC4F,IAAI,EAAEhH,KAAA,CAAKsE,WAAW;MACtB2C,mBAAmB,EAAElH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEkH,mBAAmB;MAClDC,UAAU,EAAE,SAAAA,WAAAC,QAAQ,EAAI;QACpB,IAAIA,QAAQ,KAAKC,sBAAQ,CAACC,UAAU,EAAE;UAClCrH,KAAA,CAAK4B,QAAQ,CAAC;YAAEuD,SAAS,EAAE;UAAM,CAAC,CAAC;QACvC,CAAC,MAAM,IAAIgC,QAAQ,KAAKC,sBAAQ,CAACE,KAAK,EAAE;UACpCtH,KAAA,CAAK4B,QAAQ,CAAC;YAAEuD,SAAS,EAAE;UAAK,CAAC,CAAC;QACtC,CAAC,MAAM;UACHnF,KAAA,CAAK4B,QAAQ,CAAC;YAAEuD,SAAS,EAAE;UAAK,CAAC,CAAC;QACtC;MACJ,CAAC;MACDoC,OAAO,EAAE,SAAAA,QAAA,CAAC;MAAA,EAA2B;QACjC/F,gBAAI,CAACC,WAAW,CAACzB,KAAA,CAAKoB,MAAM,CAACC,UAAU,CAAC;;QAExC;QACArB,KAAA,CAAKoB,MAAM,CAACoG,eAAe,CAAC,eAAe,EAAExH,KAAA,CAAKyH,qBAAqB,CAAC,CACnEC,IAAI,CAAC;UAAA,OAAM1H,KAAA,CAAK2H,eAAe,EAAE;QAAA,EAAC,CAClCD,IAAI,CAAC,UAAA7L,GAAG,EAAI;UACTmE,KAAA,CAAK4H,OAAO,GAAI,OAAO/L,GAAG,KAAK,WAAW,IAAIA,GAAG,UAAO,IAAIA,GAAG,UAAO,CAACgM,MAAM,IAAK,iBAAiB;UACnG7H,KAAA,CAAK0B,aAAa,GAAG,CAAA7F,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAEyF,MAAM,KAAI,CAAC,CAAC;UACtC,OAAOtB,KAAA,CAAKoB,MAAM,CAAC0G,SAAS,CAAC9H,KAAA,CAAKuE,UAAU,CAAC;QACjD,CAAC,CAAC,CACDmD,IAAI,CAAC,UAAAK,WAAW,EAAI;UACjB,IAAIC,WAAW;UAEf,IAAMC,aAAa,GACfjI,KAAA,CAAK0B,aAAa,CAACwG,IAAI,KAAK,MAAM,IAClCH,WAAW,IACXA,WAAW,CAACzG,MAAM,IAClByG,WAAW,CAACzG,MAAM,CAAC0F,IAAI,IACvBe,WAAW,CAACzG,MAAM,CAAC6G,OAAO,IAC1B,CAACJ,WAAW,CAACzG,MAAM,CAAC8G,oBAAoB,IACxC9I,MAAM,CAACwB,QAAQ,CAACuH,IAAI,KAAK,gBAAgB;;UAE7C;UACA,IAAI,CAACrI,KAAA,CAAKsI,aAAa,IAAItI,KAAA,CAAKkG,SAAS,IAAI+B,aAAa,EAAE;YACxDjI,KAAA,CAAKsI,aAAa,GAAG,IAAI;YAEzB7N,MAAM,CAAC8N,IAAI,CAAC;cACRC,GAAG,EAAExI,KAAA,CAAKkG,SAAS;cACnBuC,OAAO,cAAA3F,MAAA,CAAciF,WAAW,CAACzG,MAAM,CAAC0F,IAAI,OAAAlE,MAAA,CAAIiF,WAAW,CAACzG,MAAM,CAAC6G,OAAO,CAAE;cAC5EO,YAAY,EAAE,CACV,IAAI/N,kBAAkB,CAACgO,MAAM,EAAE;YAEvC,CAAC,CAAC;UACN;;UAEA;UACA;UACA,IAAI,CAAC3I,KAAA,CAAK4I,YAAY,IAAIX,aAAa,EAAE;YACrCjI,KAAA,CAAK4I,YAAY,GAAG,IAAI;YAExBZ,WAAW,GAAGhI,KAAA,CAAKoB,MAAM,CAAC0G,SAAS,CAAC,kBAAkB,CAAC,CAClDJ,IAAI,CAAC,UAAAmB,OAAO,EAAI;cACb,IAAIA,OAAO,IAAIA,OAAO,UAAO,IAAIA,OAAO,UAAO,CAACC,IAAI,EAAE;gBAClDrO,MAAM,CAACsO,cAAc,CAAC,UAAAC,KAAK;kBAAA,OACvBA,KAAK,CAACC,OAAO,CAAC;oBAAC/H,EAAE,EAAE2H,OAAO,UAAO,CAACC;kBAAI,CAAC,CAAC;gBAAA,EAAC;cACjD;YACJ,CAAC,CAAC;UACV;UAEAd,WAAW,GAAGA,WAAW,IAAIkB,OAAO,CAACC,OAAO,EAAE;UAE9CnB,WAAW,CACNN,IAAI,CAAC,YAAM;YACR,IAAIK,WAAW,EAAE;cACb/H,KAAA,CAAKsB,MAAM,GAAGyG,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEzG,MAAM;cACjCtB,KAAA,CAAKoJ,aAAa,CAACrB,WAAW,UAAO,EAAEA,WAAW,CAACsB,eAAe,CAAC,CAAC,CAAC;cACrErJ,KAAA,CAAKgG,WAAW,GAAGjD,IAAI,CAACuG,KAAK,CAACvG,IAAI,CAACC,SAAS,CAAC+E,WAAW,UAAO,CAAC,CAAC;cACjE/H,KAAA,CAAK4B,QAAQ,CAAC;gBAAE,UAAQmG,WAAW,UAAO;gBAAE3C,MAAM,EAAE,IAAI;gBAAEzD,UAAU,EAAE3B,KAAA,CAAK6B,aAAa;cAAG,CAAC,EAAE;gBAAA,OAC1F7B,KAAA,CAAKuJ,iBAAiB,IAAIvJ,KAAA,CAAKuJ,iBAAiB,EAAE;cAAA,EAAC;YAC3D,CAAC,MAAM;cACH3G,OAAO,CAAC4G,IAAI,CAAC,+BAA+B,CAAC;cAC7CxJ,KAAA,CAAK4B,QAAQ,CAAC;gBAAE,UAAQ,CAAC,CAAC;gBAAEwD,MAAM,EAAE,IAAI;gBAAEzD,UAAU,EAAE3B,KAAA,CAAK6B,aAAa;cAAE,CAAC,EACvE;gBAAA,OAAM7B,KAAA,CAAKuJ,iBAAiB,IAAIvJ,KAAA,CAAKuJ,iBAAiB,EAAE;cAAA,EAAC;YACjE;UACJ,CAAC,CAAC;QACV,CAAC,CAAC,SACI,CAAC,UAAAnK,CAAC;UAAA,OAAIE,MAAM,CAACmH,KAAK,qBAAA3D,MAAA,CAAqB1D,CAAC,EAAG;QAAA,EAAC;MAC1D,CAAC;MACDqK,OAAO,EAAE,SAAAA,QAAAC,GAAG,EAAI;QACZ9G,OAAO,CAACiE,KAAK,CAAC6C,GAAG,CAAC;QAClB1J,KAAA,CAAK2J,SAAS,CAACD,GAAG,CAAC;MACvB;IAAC,GACH;IAAC,OAAA1J,KAAA;EACP;EAAC,IAAA4J,aAAA,aAAAlK,UAAA;IAAAlD,GAAA;IAAAqN,KAAA,EAED,SAAA/C,UAAUhF,OAAO,EAAEgI,IAAI,EAAE;MACrB,IAAIA,IAAI,KAAK,OAAO,IAAIA,IAAI,KAAK,SAAS,IAAIA,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,SAAS,EAAE;QACjFA,IAAI,GAAG,MAAM;MACjB;MAEA,IAAI,CAAClI,QAAQ,CAAC;QACV6D,MAAM,EAAE,IAAI;QACZC,UAAU,EAAEoE,IAAI;QAChBnE,aAAa,EAAE7D;MACnB,CAAC,CAAC;IACN;EAAC;IAAAtF,GAAA;IAAAqN,KAAA,EAED,SAAAE,oBAAA,EAAsB;MAAA,IAAAC,MAAA;MAClB,IAAI,CAACzD,kBAAkB,GAAG,IAAI;MAE9B,oBAAOnM,MAAA,YAAAmG,aAAA,CAAC1F,SAAA,WAAQ;QACZyF,KAAK,EAAE,IAAI,CAACwE,KAAK,CAACY,UAAU,KAAK,OAAO,GACpC;UAAEuE,eAAe,EAAE;QAAU,CAAC,GAC7B,IAAI,CAACnF,KAAK,CAACY,UAAU,KAAK,SAAS,GAAG;UAAEuE,eAAe,EAAE;QAAU,CAAC,GAAGhG,SAAW;QACvFiG,IAAI,EAAE,IAAI,CAACpF,KAAK,CAACW,MAAO;QACxB0E,gBAAgB,EAAE,IAAK;QACvBC,OAAO,EAAE,SAAAA,QAAAC,MAAM;UAAA,OAAIA,MAAM,KAAK,WAAW,IAAIL,MAAI,CAACpI,QAAQ,CAAC;YAAE6D,MAAM,EAAE;UAAM,CAAC,CAAC;QAAA,CAAC;QAC9E3D,OAAO,EAAE,IAAI,CAACgD,KAAK,CAACwF;MAAa,EACnC;IACN;EAAC;IAAA9N,GAAA;IAAAqN,KAAA;IAkBD;AACJ;AACA;IACI,SAAAU,kBAAA,EAAoB;MAChBjL,MAAM,CAACkL,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAACC,QAAQ,EAAE,IAAI,CAAC;MACtDnL,MAAM,CAACkL,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAACE,gBAAgB,EAAE,KAAK,CAAC;MAChE,IAAAC,KAAA,iBAAAlM,gBAAA,aAAAiB,UAAA,CAAAjD,SAAA,8BAAAE,IAAA;IACJ;;IAEA;AACJ;AACA;EAFI;IAAAH,GAAA;IAAAqN,KAAA,EAGA,SAAAe,qBAAA,EAAuB;MACnBtL,MAAM,CAACuL,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAAC;MACzDnL,MAAM,CAACuL,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAACH,gBAAgB,EAAE,KAAK,CAAC;MACnE,IAAAC,KAAA,iBAAAlM,gBAAA,aAAAiB,UAAA,CAAAjD,SAAA,iCAAAE,IAAA;IACJ;EAAC;IAAAH,GAAA;IAAAqN,KAAA;IA8DD;AACJ;AACA;AACA;AACA;IACI,SAAAxH,YAAA,EAAuB;MAAA,IAAX2E,IAAI,GAAApJ,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAqG,SAAA,GAAArG,SAAA,MAAG,EAAE;MACjB,OAAO,IAAAwE,iBAAK,EAACH,iBAAK,CAACC,YAAY,CAAC8E,IAAI,CAAC,CAAC;IAC1C;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAAxK,GAAA;IAAAqN,KAAA,EAKA,SAAA3H,aAAaE,KAAK,EAAE;MAChB,OAAOA,KAAK,CAAC4E,IAAI;IACrB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAAxK,GAAA;IAAAqN,KAAA,EAKA,SAAArH,aAAaJ,KAAK,EAAE;MAChB,OAAOA,KAAK,CAAC0I,OAAO,CAACC,IAAI;IAC7B;;IAEA;AACJ;AACA;EAFI;IAAAvO,GAAA;IAAAqN,KAAA,EAGA,SAAAmB,YAAA,EAAc;MAAA,IAAAC,MAAA;MACV,IAAM3I,SAAS,GAAG,IAAI,CAACwC,KAAK,CAACxC,SAAS;;MAEtC;MACA,IAAMN,YAAY,GAAGM,SAAS,KAAK,MAAM,GAAG,MAAM,GAC7CA,SAAS,KAAK,MAAM,GAAG,SAAS,GAC5BA,SAAS,KAAK,SAAS,GAAG,OAAO,GAAG,MAAQ;MAErDL,iBAAK,CAACE,YAAY,CAACH,YAAY,CAAC;MAEhC,IAAMI,KAAK,GAAG,IAAI,CAACC,WAAW,CAACL,YAAY,CAAC;MAE5C,IAAI,CAACJ,QAAQ,CAAC;QACVQ,KAAK,EAALA,KAAK;QACLE,SAAS,EAAE,IAAI,CAACJ,YAAY,CAACE,KAAK,CAAC;QACnCG,SAAS,EAAE,IAAI,CAACC,YAAY,CAACJ,KAAK;MACtC,CAAC,EAAE,YAAM;QACL6I,MAAI,CAACnL,KAAK,CAAC2C,aAAa,IAAIwI,MAAI,CAACnL,KAAK,CAAC2C,aAAa,CAACT,YAAY,CAAC;QAClEiJ,MAAI,CAACvI,cAAc,IAAIuI,MAAI,CAACvI,cAAc,CAACV,YAAY,CAAC;MAC5D,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAAxF,GAAA;IAAAqN,KAAA,EAIA,SAAAlC,gBAAA,EAAkB;MACd,OAAO,IAAI,CAACvG,MAAM,CAACuG,eAAe,EAAE;IACxC;;IAEA;AACJ;AACA;AACA;EAHI;IAAAnL,GAAA;IAAAqN,KAAA,EAIA,SAAAhI,cAAA,EAAgB;MACZ,OAAOvC,MAAM,CAAC4L,cAAc,CAAC1L,OAAO,CAAC,gBAAgB,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAACkC,aAAa,CAACC,UAAU;IACxG;;IAEA;AACJ;AACA;AACA;EAHI;IAAAnF,GAAA;IAAAqN,KAAA,EAIA,SAAAN,kBAAA,EAAoB,CACpB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAA/M,GAAA;IAAAqN,KAAA,EAKA,SAAAsB,QAAQtB,KAAK,EAAE;MACX,IAAInL,MAAM,GAAG,EAAE;MACf,KAAK,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkM,KAAK,CAAChM,MAAM,EAAEF,CAAC,EAAE,EAAE;QACnCe,MAAM,IAAI0M,MAAM,CAACC,YAAY,CAAC,IAAI,CAACzD,OAAO,CAACjK,CAAC,GAAG,IAAI,CAACiK,OAAO,CAAC/J,MAAM,CAAC,CAACyN,UAAU,CAAC,CAAC,CAAC,GAAGzB,KAAK,CAACyB,UAAU,CAAC3N,CAAC,CAAC,CAAC;MAC5G;MACA,OAAOe,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAAlC,GAAA;IAAAqN,KAAA,EAKA,SAAA0B,QAAQ1B,KAAK,EAAE;MACX,IAAInL,MAAM,GAAG,EAAE;MACf,KAAK,IAAIf,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkM,KAAK,CAAChM,MAAM,EAAEF,CAAC,EAAE,EAAE;QACnCe,MAAM,IAAI0M,MAAM,CAACC,YAAY,CAAC,IAAI,CAACzD,OAAO,CAACjK,CAAC,GAAG,IAAI,CAACiK,OAAO,CAAC/J,MAAM,CAAC,CAACyN,UAAU,CAAC,CAAC,CAAC,GAAGzB,KAAK,CAACyB,UAAU,CAAC3N,CAAC,CAAC,CAAC;MAC5G;MACA,OAAOe,MAAM;IACjB;;IAEA;AACJ;AACA;AACA;EAHI;IAAAlC,GAAA;IAAAqN,KAAA,EAIA,SAAA2B,cAAA,EAAgB;MACZ,IAAM1K,QAAQ,GAAG2D,mBAAM,CAACC,WAAW,EAAE;MACrC,IAAI5D,QAAQ,CAAC6D,GAAG,KAAK,IAAI,CAACG,KAAK,CAACC,WAAW,EAAE;QACzC,IAAI,CAAC0G,SAAS,CAAC3K,QAAQ,CAAC6D,GAAG,CAAC;MAChC;IACJ;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAAnI,GAAA;IAAAqN,KAAA,EAKA,SAAA4B,UAAU9G,GAAG,EAAE+G,KAAK,EAAE;MAClB,CAACpM,MAAM,CAACsF,aAAa,IAAItF,MAAM,CAACC,YAAY,EAAEE,OAAO,CAAC,IAAI,CAAC6E,WAAW,GAAG,UAAU,EAAEK,GAAG,CAAC;MACzF,IAAI,CAAC/C,QAAQ,CAAC;QAAEmD,WAAW,EAAEJ,GAAG;QAAEK,cAAc,EAAE0G;MAAM,CAAC,CAAC;IAC9D;;IAEA;AACJ;AACA;AACA;AACA;EAJI;IAAAlP,GAAA;IAAAqN,KAAA,EAKA,SAAA8B,cAAc5L,QAAQ,EAAE;MAAA,IAAA6L,MAAA;MACpB;MACA,IAAI,CAAC3F,eAAe,IAAI,IAAI,CAACA,eAAe,CAAClI,OAAO,CAAC,UAAA8N,IAAI,EAAI;QACzD,IAAI9L,QAAQ,CAAC8L,IAAI,CAAC,EAAE;UAChB9L,QAAQ,CAAC8L,IAAI,CAAC,GAAGD,MAAI,CAACT,OAAO,CAACpL,QAAQ,CAAC8L,IAAI,CAAC,CAAC;QACjD;MACJ,CAAC,CAAC;MAEF,OAAO,IAAI;IACf;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAArP,GAAA;IAAAqN,KAAA,EAMA,SAAAT,cAAcrJ,QAAQ,EAAEsJ,eAAe,EAAE;MAAA,IAAAyC,MAAA;MACrC;MACA,IAAI,CAAC7F,eAAe,IAAI,IAAI,CAACA,eAAe,CAAClI,OAAO,CAAC,UAAA8N,IAAI,EAAI;QACzD,IAAI9L,QAAQ,CAAC8L,IAAI,CAAC,EAAE;UAChB9L,QAAQ,CAAC8L,IAAI,CAAC,GAAGC,MAAI,CAACP,OAAO,CAACxL,QAAQ,CAAC8L,IAAI,CAAC,CAAC;QACjD;MACJ,CAAC,CAAC;MACFxC,eAAe,IAAIA,eAAe,CAACtL,OAAO,CAAC,UAAA8N,IAAI,EAAI;QAC/CC,MAAI,CAAC7F,eAAe,GAAG6F,MAAI,CAAC7F,eAAe,IAAI,EAAE;QACjD,CAAC6F,MAAI,CAAC7F,eAAe,CAACW,QAAQ,CAACiF,IAAI,CAAC,IAAIC,MAAI,CAAC7F,eAAe,CAAC1I,IAAI,CAACsO,IAAI,CAAC;QACvE,IAAI9L,QAAQ,CAAC8L,IAAI,CAAC,EAAE;UAChB9L,QAAQ,CAAC8L,IAAI,CAAC,GAAGC,MAAI,CAACP,OAAO,CAACxL,QAAQ,CAAC8L,IAAI,CAAC,CAAC;QACjD;MACJ,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAArP,GAAA;IAAAqN,KAAA,EAIA,SAAAkC,uBAAA,EAAyB;MAAA,IAAAC,MAAA;MACrB,OAAO,IAAI9C,OAAO,CAAC,UAAAC,OAAO,EAAI;QAC1B6C,MAAI,CAAC5K,MAAM,CAAC6K,OAAO,CAACC,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,UAACxC,GAAG,EAAEyC,GAAG,EAAK;UAChF,IAAIzC,GAAG,EAAE;YACLP,OAAO,CAAC,EAAE,CAAC;UACf,CAAC,MAAM;YACHA,OAAO,CAACgD,GAAG,CAACC,IAAI,CACXhP,MAAM,CAAC,UAAAiP,IAAI;cAAA,OAAIA,IAAI,CAACxC,KAAK,CAACvI,MAAM,CAACgL,aAAa;YAAA,EAAC,CAC/CC,GAAG,CAAC,UAAAF,IAAI;cAAA,OAAIA,IAAI,CAACxC,KAAK;YAAA,EAAC,CAC3B;UACL;QACJ,CAAC,CAAC;MACN,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAArN,GAAA;IAAAqN,KAAA,EAIA,SAAA2C,eAAenE,IAAI,EAAE;MAAA,IAAAoE,MAAA;MACjB,OAAO,IAAIvD,OAAO,CAAC,UAACC,OAAO,EAAEuD,MAAM,EAAK;QACpCD,MAAI,CAACrL,MAAM,CAAC6K,OAAO,CAACC,IAAI,CAAC,aAAa,EAAE7D,IAAI,IAAIoE,MAAI,CAACnL,MAAM,CAAC+G,IAAI,EAAE,UAACsE,EAAE,EAAEC,KAAK,EAAK;UAC7E,IAAMC,IAAI,GAAG,CAAC;YAAE7F,IAAI,sBAAAlE,MAAA,CAAsBtB,gBAAI,CAACqC,CAAC,CAAC,sBAAsB,CAAC,CAAE;YAAEiJ,OAAO,EAAE,SAAS;YAAEC,MAAM,EAAE;UAAO,CAAC,CAAC;UACjH,IAAMC,IAAI,GAAG,CAAC;YAAEhG,IAAI,EAAE,WAAW;YAAE8F,OAAO,EAAE,IAAI;YAAEC,MAAM,EAAE;UAAO,CAAC,CAAC;UACnE,IAAIH,KAAK,EAAE;YACPvE,IAAI,GAAGuE,KAAK;YACZ,IAAIvE,IAAI,UAAO,CAAC4E,QAAQ,IAAI5E,IAAI,UAAO,CAAC4E,QAAQ,CAACC,iBAAiB,EAAE;cAChE7Q,MAAM,CAACY,IAAI,CAACoL,IAAI,UAAO,CAAC4E,QAAQ,CAACC,iBAAiB,CAAC,CAACnP,OAAO,CAAC,UAAAoP,GAAG;gBAAA,OAC3D9E,IAAI,UAAO,CAAC4E,QAAQ,CAACC,iBAAiB,CAACC,GAAG,CAAC,CAACpP,OAAO,CAAC,UAAAqP,KAAK,EAAI;kBACzD,IAAIA,KAAK,CAACL,MAAM,KAAK,MAAM,EAAE;oBACzBF,IAAI,CAACtP,IAAI,CAAC;sBAAEyJ,IAAI,MAAAlE,MAAA,CAAMsK,KAAK,CAACL,MAAM,QAAAjK,MAAA,CAAKsK,KAAK,CAACN,OAAO,SAAAhK,MAAA,CAAMqK,GAAG,CAAE;sBAAEL,OAAO,EAAEM,KAAK,CAACN,OAAO;sBAAEC,MAAM,EAAE;oBAAO,CAAC,CAAC;kBAC9G,CAAC,MAAM;oBACHC,IAAI,CAACzP,IAAI,CAAC;sBAAEyJ,IAAI,MAAAlE,MAAA,CAAMsK,KAAK,CAACL,MAAM,QAAAjK,MAAA,CAAKsK,KAAK,CAACN,OAAO,SAAAhK,MAAA,CAAMqK,GAAG,CAAE;sBAAEL,OAAO,EAAEM,KAAK,CAACN,OAAO;sBAAEC,MAAM,EAAE;oBAAO,CAAC,CAAC;kBAC9G;gBACJ,CAAC,CAAC;cAAA,EAAC;YACX;YACAC,IAAI,CAACjP,OAAO,CAAC,UAAA4O,EAAE;cAAA,OAAIE,IAAI,CAACtP,IAAI,CAACoP,EAAE,CAAC;YAAA,EAAC;UACrC;UACAxD,OAAO,CAAC0D,IAAI,CAAC;QACjB,CAAC,CAAC;MACN,CAAC,CAAC;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAArQ,GAAA;IAAAqN,KAAA,EAIA,SAAAwD,OAAOC,OAAO,EAAE;MAAA,IAAAC,MAAA;MACZ,IAAIC,MAAM;MACV,IAAI,IAAI,CAAC1I,KAAK,CAACO,oBAAoB,EAAE;QACjC,IAAI,CAACzD,QAAQ,CAAC;UAAEqD,SAAS,EAAE,IAAI,CAACH,KAAK,CAACO;QAAqB,CAAC,CAAC;QAC7D;MACJ;MAEA,IAAI,CAACjE,MAAM,CAAC0G,SAAS,CAAC,IAAI,CAACvD,UAAU,CAAC,CACjCmD,IAAI,CAAC,UAAA+F,OAAO,EAAI;QACbD,MAAM,GAAGC,OAAO,IAAI,CAAC,CAAC;QAEtB,KAAK,IAAMC,CAAC,IAAIH,MAAI,CAACzI,KAAK,UAAO,EAAE;UAC/B,IAAIyI,MAAI,CAACzI,KAAK,UAAO,CAACpI,cAAc,CAACgR,CAAC,CAAC,EAAE;YACrC,IAAIH,MAAI,CAACzI,KAAK,UAAO,CAAC4I,CAAC,CAAC,KAAK,IAAI,EAAE;cAC/BF,MAAM,UAAO,CAACE,CAAC,CAAC,GAAG,IAAI;YAC3B,CAAC,MACD,IAAIH,MAAI,CAACzI,KAAK,UAAO,CAAC4I,CAAC,CAAC,KAAKzJ,SAAS,EAAE;cACpCuJ,MAAM,UAAO,CAACE,CAAC,CAAC,GAAG3K,IAAI,CAACuG,KAAK,CAACvG,IAAI,CAACC,SAAS,CAACuK,MAAI,CAACzI,KAAK,UAAO,CAAC4I,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,MAAM;cACH,OAAOF,MAAM,UAAO,CAACE,CAAC,CAAC;YAC3B;UACJ;QACJ;QAEA,IAAIH,MAAI,CAACzI,KAAK,CAACxD,MAAM,EAAE;UACnB,KAAK,IAAMwC,CAAC,IAAIyJ,MAAI,CAACzI,KAAK,CAACxD,MAAM,EAAE;YAC/B,IAAIiM,MAAI,CAACzI,KAAK,CAACxD,MAAM,CAACwC,CAAC,CAAC,KAAK,IAAI,EAAE;cAC/B0J,MAAM,CAAClM,MAAM,CAACwC,CAAC,CAAC,GAAG,IAAI;YAC3B,CAAC,MACD,IAAIyJ,MAAI,CAACzI,KAAK,CAACxD,MAAM,CAACwC,CAAC,CAAC,KAAKG,SAAS,EAAE;cACpCuJ,MAAM,CAAClM,MAAM,CAACwC,CAAC,CAAC,GAAGf,IAAI,CAACuG,KAAK,CAACvG,IAAI,CAACC,SAAS,CAACuK,MAAI,CAACzI,KAAK,CAACxD,MAAM,CAACwC,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC,MAAM;cACH,OAAO0J,MAAM,CAAClM,MAAM,CAACwC,CAAC,CAAC;YAC3B;UACJ;QACJ;QAEA,IAAIyJ,MAAI,CAAC5B,aAAa,CAAC6B,MAAM,UAAO,CAAC,KAAK,KAAK,EAAE;UAC7C,OAAOD,MAAI,CAACnM,MAAM,CAACuM,SAAS,CAACJ,MAAI,CAAChJ,UAAU,EAAEiJ,MAAM,CAAC;QACzD,CAAC,MAAM;UACH,OAAOtE,OAAO,CAACwD,MAAM,CAAC,uBAAuB,CAAC;QAClD;MACJ,CAAC,CAAC,CACDhF,IAAI,CAAC,YAAM;QACR6F,MAAI,CAACvH,WAAW,GAAGwH,MAAM,UAAO;QAChCI,UAAU,CAAC1I,OAAO,GAAG,KAAK;QAC1B,IAAI;UACA5F,MAAM,CAACuO,MAAM,CAACC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC;QAC9C,CAAC,CAAC,OAAO1O,CAAC,EAAE;UACR;QAAA;QAGJmO,MAAI,CAAC3L,QAAQ,CAAC;UAAEsD,OAAO,EAAE;QAAM,CAAC,CAAC;QACjCoI,OAAO,IAAI5N,UAAU,CAAC0K,OAAO,EAAE;MACnC,CAAC,CAAC,SACI,CAAC,UAAAhL,CAAC,EAAI;QACRwD,OAAO,CAACiE,KAAK,+BAAA/D,MAAA,CAA+B1D,CAAC,EAAG;MACpD,CAAC,CAAC;IACV;;IAEA;AACJ;AACA;AACA;EAHI;IAAA5C,GAAA;IAAAqN,KAAA,EAIA,SAAAkE,YAAA,EAAc;MAAA,IAAAC,MAAA;MACV,IAAI,CAAC,IAAI,CAAClJ,KAAK,CAACQ,KAAK,EAAE;QACnB,OAAO,IAAI;MACf;MAEA,oBAAOlL,MAAA,YAAAmG,aAAA,CAAC1F,SAAA,WAAQ;QACZoT,YAAY,EAAE;UACVC,QAAQ,EAAE,QAAQ;UAClBC,UAAU,EAAE;QAChB,CAAE;QACFjE,IAAI,EAAE,CAAC,CAAE;QACTC,gBAAgB,EAAE,IAAK;QACvBC,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM4D,MAAI,CAACpM,QAAQ,CAAC;YAAE0D,KAAK,EAAE;UAAG,CAAC,CAAC;QAAA,CAAC;QAC5C8I,YAAY,EAAE;UAAE,kBAAkB,EAAE;QAAa,CAAE;QACnDtM,OAAO,eAAE1H,MAAA,YAAAmG,aAAA;UAAMW,EAAE,EAAC;QAAY,GAAE,IAAI,CAAC4D,KAAK,CAACQ,KAAK,CAAS;QACzD+I,MAAM,EAAE,cACJjU,MAAA,YAAAmG,aAAA,CAACzF,WAAA,WAAU;UACP0B,GAAG,EAAC,OAAO;UACX,cAAW,OAAO;UAClB8R,KAAK,EAAC,SAAS;UACfC,SAAS,EAAE,IAAI,CAACzO,KAAK,CAAC0O,OAAO,CAACC,KAAM;UACpCC,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMV,MAAI,CAACpM,QAAQ,CAAC;cAAE0D,KAAK,EAAE;YAAG,CAAC,CAAC;UAAA,CAAC;UAC5CqJ,IAAI,EAAC;QAAO,gBACZvU,MAAA,YAAAmG,aAAA,CAACxF,MAAA,WAAS,OAAG,CACJ;MACf,EACJ;IACN;;IAEA;AACJ;AACA;AACA;EAHI;IAAAyB,GAAA;IAAAqN,KAAA;IAkBA;AACJ;AACA;AACA;IACI,SAAA+E,YAAA,EAAc;MAAA,IAAAC,OAAA;MACV,IAAI,CAAC,IAAI,CAAC/J,KAAK,CAACG,SAAS,EAAE;QACvB,OAAO,IAAI;MACf,CAAC,MAAM;QACH,oBAAO7K,MAAA,YAAAmG,aAAA,CAAC3F,MAAA,WAAW;UAACkU,IAAI,EAAE,IAAI,CAAChK,KAAK,CAACG,SAAU;UAACmF,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMyE,OAAI,CAACjN,QAAQ,CAAC;cAAEqD,SAAS,EAAE;YAAG,CAAC,CAAC;UAAA;QAAC,EAAE;MACtG;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAAzI,GAAA;IAAAqN,KAAA,EAIA,SAAAkF,aAAaC,OAAM,EAAE;MACjBA,OAAM,GAAGA,OAAM,IAAI,IAAI,CAAClK,KAAK,UAAO;MACpC,IAAMmK,SAAS,GAAIlM,IAAI,CAACC,SAAS,CAACgM,OAAM,CAAC,KAAKjM,IAAI,CAACC,SAAS,CAAC,IAAI,CAACgD,WAAW,CAAC;MAE9E4H,UAAU,CAAC1I,OAAO,GAAG+J,SAAS;MAE9B,OAAOA,SAAS;IACpB;;IAEA;AACJ;AACA;AACA;EAHI;IAAAzS,GAAA;IAAAqN,KAAA,EAIA,SAAAqF,aAAaC,SAAS,EAAE;MACpB,IAAIpM,IAAI,CAACC,SAAS,CAACmM,SAAS,CAAC,KAAKpM,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC8B,KAAK,UAAO,CAAC,EAAE;QACjE,IAAI,CAAClD,QAAQ,CAAC;UAAE,UAAQuN,SAAS;UAAEjK,OAAO,EAAE,IAAI,CAAC6J,YAAY,CAACI,SAAS;QAAE,CAAC,CAAC;MAC/E;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAA3S,GAAA;IAAAqN,KAAA,EAIA,SAAAuF,sBAAsBnK,SAAS,EAAE;MAC7B,IAAI,IAAI,CAACH,KAAK,CAACO,oBAAoB,KAAKJ,SAAS,EAAE;QAC/C,IAAI,CAACrD,QAAQ,CAAC;UAAEyD,oBAAoB,EAAEJ;QAAU,CAAC,CAAC;MACtD;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAAzI,GAAA;IAAAqN,KAAA,EAIA,SAAAwF,uBAAA,EAAyB;MAAA,IAAAC,OAAA;MACrB,IAAI,CAAC,IAAI,CAACxK,KAAK,CAACU,YAAY,IAAI,CAAC,IAAI,CAACV,KAAK,CAACS,aAAa,EAAE;QACvD,OAAO,IAAI;MACf;MAEA,oBAAOnL,MAAA,YAAAmG,aAAA,CAAAnG,MAAA,YAAAmV,QAAA,QACF,IAAI,CAACzK,KAAK,CAACS,aAAa,gBAAGnL,MAAA,YAAAmG,aAAA,CAAClF,iBAAA,WAAgB;QACzC+G,KAAK,EAAE,IAAI,CAAC0C,KAAK,CAAC1C,KAAM;QACxBoC,QAAQ,EAAE,IAAI,CAACA,QAAS;QACxBgL,eAAe,EAAE,IAAI,CAAC1K,KAAK,CAAC1B,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC0B,KAAK,CAAC1B,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC0B,KAAK,CAAC1B,KAAK,KAAK,IAAK;QACrG8B,OAAO,EAAE,IAAI,CAACJ,KAAK,CAACI,OAAQ;QAC5BmI,MAAM,EAAE,SAAAA,OAAAC,OAAO;UAAA,OAAIgC,OAAI,CAACjC,MAAM,CAACC,OAAO,CAAC;QAAA,CAAC;QACxClD,OAAO,EAAE,SAAAA,QAAA,EAAM;UACX,IAAIkF,OAAI,CAACxK,KAAK,CAACI,OAAO,EAAE;YACpBoK,OAAI,CAAC1N,QAAQ,CAAC;cAAE4D,YAAY,EAAE;YAAK,CAAC,CAAC;UACzC,CAAC,MAAM;YACH9F,UAAU,CAAC0K,OAAO,EAAE;UACxB;QACJ;MAAE,EACJ,GAAG,IAAI,EACR,IAAI,CAACtF,KAAK,CAACU,YAAY,gBAAGpL,MAAA,YAAAmG,aAAA,CAACjF,QAAA,WAAa;QACrCmU,KAAK,EAAEjO,gBAAI,CAACqC,CAAC,CAAC,mBAAmB,CAAE;QACnCiL,IAAI,EAAEtN,gBAAI,CAACqC,CAAC,CAAC,uCAAuC,CAAE;QACtD6L,EAAE,EAAElO,gBAAI,CAACqC,CAAC,CAAC,YAAY,CAAE;QACzB8L,MAAM,EAAEnO,gBAAI,CAACqC,CAAC,CAAC,WAAW,CAAE;QAC5BuG,OAAO,EAAE,SAAAA,QAAAwF,KAAK;UAAA,OACVN,OAAI,CAAC1N,QAAQ,CAAC;YAAE4D,YAAY,EAAE;UAAM,CAAC,EAAE;YAAA,OACnCoK,KAAK,IAAIlQ,UAAU,CAAC0K,OAAO,EAAE;UAAA,EAAC;QAAA;MAAC,EACzC,GAAG,IAAI,CACV;IACP;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EANI;IAAA5N,GAAA;IAAAqN,KAAA,EAOA,SAAAgG,mBAAmBhU,GAAG,EAAEiU,KAAK,EAAEjG,KAAK,EAAE;MAClC,IAAI,IAAAkG,QAAA,aAAOD,KAAK,MAAK,QAAQ,EAAE;QAC3BA,KAAK,GAAGA,KAAK,CAAClM,KAAK,CAAC,GAAG,CAAC;MAC5B;MACA,IAAMiI,IAAI,GAAGiE,KAAK,CAACE,KAAK,EAAE;MAC1B,IAAI,CAACF,KAAK,CAACjS,MAAM,EAAE;QACf,IAAIgM,KAAK,IAAI,IAAAkG,QAAA,aAAOlG,KAAK,MAAK,QAAQ,EAAE;UACpC,IAAI9G,IAAI,CAACC,SAAS,CAACnH,GAAG,CAACgQ,IAAI,CAAC,CAAC,KAAK9I,IAAI,CAACC,SAAS,CAAC6G,KAAK,CAAC,EAAE;YACrDhO,GAAG,CAACgQ,IAAI,CAAC,GAAGhC,KAAK;YACjB,OAAO,IAAI;UACf;QACJ,CAAC,MAAM,IAAIhO,GAAG,CAACgQ,IAAI,CAAC,KAAKhC,KAAK,EAAE;UAC5BhO,GAAG,CAACgQ,IAAI,CAAC,GAAGhC,KAAK;UACjB,OAAO,IAAI;QACf,CAAC,MAAM;UACH,OAAO,KAAK;QAChB;MAEJ,CAAC,MAAM;QACHhO,GAAG,CAACgQ,IAAI,CAAC,GAAGhQ,GAAG,CAACgQ,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,IAAAkE,QAAA,aAAOlU,GAAG,CAACgQ,IAAI,CAAC,MAAK,QAAQ,EAAE;UAC/B,MAAM,IAAIoE,KAAK,cAAAnN,MAAA,CAAc+I,IAAI,yBAAA/I,MAAA,KAAAiN,QAAA,aAA6BlU,GAAG,CAACgQ,IAAI,CAAC,GAAG;QAC9E;QACA,OAAO,IAAI,CAACgE,kBAAkB,CAAChU,GAAG,CAACgQ,IAAI,CAAC,EAAEiE,KAAK,EAAEjG,KAAK,CAAC;MAC3D;IACJ;;IAEA;AACJ;AACA;AACA;AACA;AACA;EALI;IAAArN,GAAA;IAAAqN,KAAA,EAMA,SAAAqG,kBAAkBrE,IAAI,EAAEhC,KAAK,EAAEsG,EAAE,EAAE;MAC/B,IAAMnB,QAAM,GAAGjM,IAAI,CAACuG,KAAK,CAACvG,IAAI,CAACC,SAAS,CAAC,IAAI,CAAC8B,KAAK,UAAO,CAAC,CAAC;MAC5D,IAAI,IAAI,CAAC+K,kBAAkB,CAACb,QAAM,EAAEnD,IAAI,EAAEhC,KAAK,CAAC,EAAE;QAC9C,IAAM3E,OAAO,GAAG,IAAI,CAAC6J,YAAY,CAACC,QAAM,CAAC;QAEzC,IAAI9J,OAAO,KAAK,IAAI,CAACJ,KAAK,CAACI,OAAO,EAAE;UAChC,IAAI;YACA5F,MAAM,CAACuO,MAAM,CAACC,WAAW,CAAC5I,OAAO,GAAG,QAAQ,GAAG,UAAU,EAAE,GAAG,CAAC;UACnE,CAAC,CAAC,OAAO9F,CAAC,EAAE;YACR;UAAA;QAER;QAEA,IAAI,CAACwC,QAAQ,CAAC;UAAE,UAAAoN,QAAM;UAAE9J,OAAO,EAAPA;QAAQ,CAAC,EAAEiL,EAAE,CAAC;MAC1C;IACJ;;IAEA;AACJ;AACA;AACA;EAHI;IAAA3T,GAAA;IAAAqN,KAAA,EAIA,SAAAF,UAAUmF,IAAI,EAAE;MACZ,IAAI,CAAClN,QAAQ,CAAC;QAAEqD,SAAS,EAAE6J;MAAK,CAAC,CAAC;IACtC;;IAEA;AACJ;AACA;AACA;EAHI;IAAAtS,GAAA;IAAAqN,KAAA,EAIA,SAAAuG,UAAU9K,KAAK,EAAE;MACb,IAAI,CAAC1D,QAAQ,CAAC;QAAE0D,KAAK,EAALA;MAAM,CAAC,CAAC;IAC5B;;IAEA;AACJ;AACA;AACA;EAHI;IAAA9I,GAAA;IAAAqN,KAAA,EAIA,SAAAwG,oBAAA,EAAsB;MAClB,oBAAOjW,MAAA,YAAAmG,aAAA,CAAAnG,MAAA,YAAAmV,QAAA,QACF,IAAI,CAACX,WAAW,EAAE,EAClB,IAAI,CAACb,WAAW,EAAE,EAClB,IAAI,CAACsB,sBAAsB,EAAE,EAC7B,IAAI,CAACtF,mBAAmB,EAAE,CAC5B;IACP;;IAEA;AACJ;AACA;AACA;EAHI;IAAAvN,GAAA;IAAAqN,KAAA,EAIA,SAAAyG,OAAA,EAAS;MACL,IAAI,CAAC,IAAI,CAACxL,KAAK,CAACM,MAAM,EAAE;QACpB,oBAAOhL,MAAA,YAAAmG,aAAA,CAACrF,OAAA,WAAM;UAACkH,KAAK,EAAE,IAAI,CAAC0C,KAAK,CAACvC;QAAU,EAAE;MACjD;MAEA,oBAAOnI,MAAA,YAAAmG,aAAA;QAAKgO,SAAS,EAAC;MAAK,GACtB,IAAI,CAACK,WAAW,EAAE,EAClB,IAAI,CAACb,WAAW,EAAE,EAClB,IAAI,CAACsB,sBAAsB,EAAE,EAC7B,IAAI,CAACtF,mBAAmB,EAAE,CACzB;IACV;EAAC;IAAAvN,GAAA;IAAAqN,KAAA;IAjhBD;AACJ;AACA;AACA;IACI,SAAAxG,SAAA,EAAkB;MACd;AACR;AACA;AACA;AACA;;MAEQ,IAAMkN,KAAK,GAAG;QACVC,EAAE,EAAE,CAAC;QACLC,EAAE,EAAE,GAAG;QACPC,EAAE,EAAE,GAAG;QACPC,EAAE,EAAE,IAAI;QACRC,EAAE,EAAE;MACR,CAAC;MACD,IAAMxN,KAAK,GAAG9D,MAAM,CAACuR,UAAU;MAC/B,IAAM5T,IAAI,GAAGZ,MAAM,CAACY,IAAI,CAACsT,KAAK,CAAC,CAACO,OAAO,EAAE;MACzC,IAAMC,aAAa,GAAG9T,IAAI,CAAC+T,IAAI,CAAC,UAAAxU,GAAG;QAAA,OAAI4G,KAAK,IAAImN,KAAK,CAAC/T,GAAG,CAAC;MAAA,EAAC;MAE3D,OAAOuU,aAAa,IAAI,IAAI;IAChC;EAAC;IAAAvU,GAAA;IAAAqN,KAAA,EAsTD,SAAAO,QAAA,EAAiB;MACb,IAAI,OAAO9K,MAAM,CAACuO,MAAM,KAAK,WAAW,IAAIvO,MAAM,CAACuO,MAAM,EAAE;QACvD,IAAI;UACA,IAAIvO,MAAM,CAACuO,MAAM,CAACoD,aAAa,IAAI,OAAO3R,MAAM,CAACuO,MAAM,CAACoD,aAAa,CAACxC,KAAK,KAAK,UAAU,EAAE;YACxFnP,MAAM,CAACuO,MAAM,CAACoD,aAAa,CAACxC,KAAK,EAAE;UACvC,CAAC,MAAM;YACHnP,MAAM,CAACuO,MAAM,CAACC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;UAC3C;QACJ,CAAC,CAAC,OAAO1O,CAAC,EAAE;UACRE,MAAM,CAACuO,MAAM,CAACC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;QAC3C;MACJ;IACJ;EAAC;EAAA,OAAApO,UAAA;AAAA,EAtpBoB+E,mBAAM;AAi1B/B/E,UAAU,CAACwR,SAAS,GAAG;EACnB5M,WAAW,EAAE6M,qBAAS,CAACC,MAAM;EAAE;EAC/B3O,aAAa,EAAE0O,qBAAS,CAACE,IAAI;EAAE;EAC/BjQ,MAAM,EAAE+P,qBAAS,CAACpU,MAAM;EAAE;EAC1BkJ,eAAe,EAAEkL,qBAAS,CAACG,KAAK;EAAE;EAClC/L,aAAa,EAAE4L,qBAAS,CAACI,IAAI;EAAE;EAC/BpR,UAAU,EAAEgR,qBAAS,CAACpU,MAAM,CAAE;AAClC,CAAC;AAAC,IAAAyU,QAAA,GAEa9R,UAAU;AAAA+R,OAAA,cAAAD,QAAA"}
package/Prompt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Prompt.js","names":["printPrompt","prompt","console","log"],"sources":["Prompt.js"],"sourcesContent":["\n/**\n * Print the ioBroker welcome screen to the developer console.\n */\nfunction printPrompt() {\n const prompt = `\n██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ \n██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗\n██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝\n██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗\n██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║\n╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝\n`;\n\n console.log(prompt);\n console.log('Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters');\n console.log('Help us to create open source project with reactJS!');\n console.log('See you :)');\n}\n\nexport default printPrompt;"],"mappings":";;;;;;AACA;AACA;AACA;AACA,SAASA,WAAW,GAAG;EACnB,IAAMC,MAAM,s8DAOf;EAEGC,OAAO,CAACC,GAAG,CAACF,MAAM,CAAC;EACnBC,OAAO,CAACC,GAAG,CAAC,kJAAkJ,CAAC;EAC/JD,OAAO,CAACC,GAAG,CAAC,qDAAqD,CAAC;EAClED,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;AAC7B;AAAC,eAEcH,WAAW;AAAA"}
1
+ {"version":3,"file":"Prompt.js","names":["printPrompt","prompt","console","log","_default","exports"],"sources":["Prompt.js"],"sourcesContent":["\n/**\n * Print the ioBroker welcome screen to the developer console.\n */\nfunction printPrompt() {\n const prompt = `\n██╗ ██████╗ ██████╗ ██████╗ ██████╗ ██╗ ██╗███████╗██████╗ \n██║██╔═══██╗██╔══██╗██╔══██╗██╔═══██╗██║ ██╔╝██╔════╝██╔══██╗\n██║██║ ██║██████╔╝██████╔╝██║ ██║█████╔╝ █████╗ ██████╔╝\n██║██║ ██║██╔══██╗██╔══██╗██║ ██║██╔═██╗ ██╔══╝ ██╔══██╗\n██║╚██████╔╝██████╔╝██║ ██║╚██████╔╝██║ ██╗███████╗██║ ██║\n╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝\n`;\n\n console.log(prompt);\n console.log('Nice to see you here! :) Join our dev community here https://github.com/ioBroker/ioBroker or here https://github.com/iobroker-community-adapters');\n console.log('Help us to create open source project with reactJS!');\n console.log('See you :)');\n}\n\nexport default printPrompt;"],"mappings":";;;;;;AACA;AACA;AACA;AACA,SAASA,WAAWA,CAAA,EAAG;EACnB,IAAMC,MAAM,s8DAOf;EAEGC,OAAO,CAACC,GAAG,CAACF,MAAM,CAAC;EACnBC,OAAO,CAACC,GAAG,CAAC,kJAAkJ,CAAC;EAC/JD,OAAO,CAACC,GAAG,CAAC,qDAAqD,CAAC;EAClED,OAAO,CAACC,GAAG,CAAC,YAAY,CAAC;AAC7B;AAAC,IAAAC,QAAA,GAEcJ,WAAW;AAAAK,OAAA,cAAAD,QAAA"}
package/README.md CHANGED
@@ -661,6 +661,12 @@ socket.getObjectViewCustom('custom', 'state', 'startKey', 'endKey')
661
661
  -->
662
662
 
663
663
  ## Changelog
664
+ ### 4.0.14 (2023-03-03)
665
+ * (bluefox) added handler of alert messages
666
+
667
+ ### 4.0.13 (2023-02-15)
668
+ * (bluefox) Corrected the theme button
669
+
664
670
  ### 4.0.12 (2023-02-15)
665
671
  * (bluefox) made the fix for `echarts`
666
672
 
package/Theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.js","names":["step","toInt","hex","rgb","r","g","b","length","parseInt","substr","toHex","int","Math","round","toString","getElevation","color","overlayColor","elevation","overlay","getElevations","elevations","i","backgroundColor","buttonsPalette","theme","palette","grey","main","dark","buttonsTheme","components","MuiButton","variants","props","variant","style","getContrastText","text","primary","borderColor","mode","border","action","disabledBackground","alpha","hoverOpacity","Theme","type","name","background","paper","secondary","expert","overrides","MuiAppBar","colorDefault","MuiLink","root","textTransform","transition","orange","MuiPaper","disabled","toolbar","height","saveToolbar","button","borderRadius","createTheme","adaptV4Theme"],"sources":["Theme.js"],"sourcesContent":["import { createTheme, adaptV4Theme, alpha } from '@mui/material/styles';\n\nimport { orange, grey } from '@mui/material/colors';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n * @param {string} hex\n * @returns {{r: number, g: number, b: number}}\n */\nfunction toInt(hex) {\n const rgb = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n * @param {{r: number, g: number, b: number}} int\n * @returns {string}\n */\nfunction toHex(int) {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/**\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlayColor overlay color in the format '#rrggbb' or '#rgb'\n * @param {number} elevation elevation as an integer starting with 1\n * @returns {string} the hex color string in the format '#rrggbb'\n */\nfunction getElevation(color, overlayColor, elevation) {\n const rgb = toInt(color);\n const overlay = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlay overlay color in the format '#rrggbb' or '#rgb'\n * @returns {import('@mui/material/styles/withStyles').CSSProperties}\n */\nfunction getElevations(color, overlay) {\n /** @type {import('@mui/material/styles/withStyles').CSSProperties} */\n const elevations = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\nconst buttonsPalette = theme => ({\n palette: {\n // mode: \"dark\",\n grey: {\n main: grey[300],\n dark: grey[400],\n },\n },\n});\n\nconst buttonsTheme = theme => ({\n components: {\n MuiButton: {\n variants: [\n {\n props: {variant: 'contained', color: 'grey'},\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: {variant: 'outlined', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: {color: 'grey', variant: 'text'},\n style: {\n color: 'black',\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n});\n\n/**\n * The theme creation factory function.\n * @param {string} type\n * @returns {import('./types').Theme}\n */\nconst Theme = type => {\n let theme;\n if (type === 'dark') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n },\n };\n } else if (type === 'blue') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n },\n };\n } else if (type === 'colored') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'PT') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'DX') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n overrides: {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n }\n\n theme.toolbar = {\n height: 48,\n };\n\n // add save toolbar\n theme.saveToolbar = {\n background: theme.palette.primary.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n theme.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n\n theme = createTheme(adaptV4Theme(theme));\n\n return createTheme(theme, {\n components: {\n MuiButton: {\n variants: [\n {\n props: {variant: 'contained', color: 'grey'},\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: {variant: 'outlined', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: {variant: 'text', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n });\n};\n\nexport default Theme;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Theme.js","names":["_styles","require","_colors","step","toInt","hex","rgb","r","g","b","length","parseInt","substr","toHex","int","concat","Math","round","toString","getElevation","color","overlayColor","elevation","overlay","getElevations","elevations","i","backgroundColor","buttonsPalette","theme","palette","grey","main","dark","buttonsTheme","components","MuiButton","variants","props","variant","style","getContrastText","text","primary","borderColor","mode","border","action","disabledBackground","alpha","hoverOpacity","Theme","type","name","background","paper","secondary","expert","overrides","MuiAppBar","colorDefault","MuiLink","root","textTransform","transition","orange","MuiPaper","disabled","toolbar","height","saveToolbar","button","borderRadius","createTheme","adaptV4Theme","_default","exports"],"sources":["Theme.js"],"sourcesContent":["import { createTheme, adaptV4Theme, alpha } from '@mui/material/styles';\n\nimport { orange, grey } from '@mui/material/colors';\n\nconst step = (16 - 5) / 23 / 100;\n\n/**\n * Convert hex color in the format '#rrggbb' or '#rgb' to an RGB object.\n * @param {string} hex\n * @returns {{r: number, g: number, b: number}}\n */\nfunction toInt(hex) {\n const rgb = {\n r: 0,\n g: 0,\n b: 0,\n };\n\n if (hex.length === 7) {\n rgb.r = parseInt(hex.substr(1, 2), 16);\n rgb.g = parseInt(hex.substr(3, 2), 16);\n rgb.b = parseInt(hex.substr(5, 2), 16);\n } else if (hex.length === 4) {\n const r = hex.substr(1, 1);\n const g = hex.substr(2, 1);\n const b = hex.substr(3, 1);\n\n rgb.r = parseInt(r + r, 16);\n rgb.g = parseInt(g + g, 16);\n rgb.b = parseInt(b + b, 16);\n }\n\n return rgb;\n}\n\n/**\n * Convert an RGB object to a hex color string in the format '#rrggbb'.\n * @param {{r: number, g: number, b: number}} int\n * @returns {string}\n */\nfunction toHex(int) {\n return `#${Math.round(int.r).toString(16)}${Math.round(int.g).toString(16)}${Math.round(int.b).toString(16)}`;\n}\n\n/**\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlayColor overlay color in the format '#rrggbb' or '#rgb'\n * @param {number} elevation elevation as an integer starting with 1\n * @returns {string} the hex color string in the format '#rrggbb'\n */\nfunction getElevation(color, overlayColor, elevation) {\n const rgb = toInt(color);\n const overlay = toInt(overlayColor);\n\n rgb.r += overlay.r * (0.05 + step * (elevation - 1));\n rgb.g += overlay.g * (0.05 + step * (elevation - 1));\n rgb.b += overlay.b * (0.05 + step * (elevation - 1));\n\n return toHex(rgb);\n}\n\n/**\n * Get all 24 elevations of the given color and overlay.\n * @param {string} color color in the format '#rrggbb' or '#rgb'\n * @param {string} overlay overlay color in the format '#rrggbb' or '#rgb'\n * @returns {import('@mui/material/styles/withStyles').CSSProperties}\n */\nfunction getElevations(color, overlay) {\n /** @type {import('@mui/material/styles/withStyles').CSSProperties} */\n const elevations = {};\n\n for (let i = 1; i <= 24; i++) {\n elevations[`elevation${i}`] = {\n backgroundColor: getElevation(color, overlay, i),\n };\n }\n\n return elevations;\n}\n\nconst buttonsPalette = theme => ({\n palette: {\n // mode: \"dark\",\n grey: {\n main: grey[300],\n dark: grey[400],\n },\n },\n});\n\nconst buttonsTheme = theme => ({\n components: {\n MuiButton: {\n variants: [\n {\n props: {variant: 'contained', color: 'grey'},\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: {variant: 'outlined', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: {color: 'grey', variant: 'text'},\n style: {\n color: 'black',\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n});\n\n/**\n * The theme creation factory function.\n * @param {string} type\n * @returns {import('./types').Theme}\n */\nconst Theme = type => {\n let theme;\n if (type === 'dark') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#121212',\n default: '#121212',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#272727',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#121212', '#fff'),\n },\n };\n } else if (type === 'blue') {\n theme = {\n name: type,\n palette: {\n mode: 'dark',\n background: {\n paper: '#151d21',\n default: '#151d21',\n },\n primary: {\n main: '#4dabf5',\n },\n secondary: {\n main: '#436a93',\n },\n expert: '#14bb00',\n text: {\n primary: '#ffffff',\n secondary: '#ffffff',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#2a3135',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[200],\n '&:hover': {\n color: orange[100],\n },\n },\n },\n MuiPaper: getElevations('#151d21', '#fff'),\n },\n };\n } else if (type === 'colored') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#96fc96',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#3399CC',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'PT') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#0F99DE',\n },\n secondary: {\n main: '#88A536',\n },\n expert: '#BD1B24',\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#0F99DE',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else if (type === 'DX') {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#F5F5F7',\n },\n secondary: {\n main: '#a9a9a9',\n },\n expert: '#BD1B24',\n text: {\n primary: '#007AFE',\n secondary: '#007AFE',\n disabled: '#007AFEAA',\n },\n },\n overrides: {\n MuiAppBar: {\n colorDefault: {\n backgroundColor: '#a9a9a9',\n },\n },\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n } else {\n theme = {\n name: type,\n palette: {\n mode: 'light',\n primary: {\n main: '#3399CC',\n },\n secondary: {\n main: '#164477',\n },\n expert: '#14bb00',\n },\n overrides: {\n MuiLink: {\n root: {\n textTransform: 'uppercase',\n transition: 'color .3s ease',\n color: orange[400],\n '&:hover': {\n color: orange[300],\n },\n },\n },\n },\n };\n }\n\n theme.toolbar = {\n height: 48,\n };\n\n // add save toolbar\n theme.saveToolbar = {\n background: theme.palette.primary.main,\n button: {\n borderRadius: 3,\n height: 32,\n },\n };\n\n theme.palette.grey = {\n main: grey[300],\n dark: grey[400],\n };\n\n theme = createTheme(adaptV4Theme(theme));\n\n return createTheme(theme, {\n components: {\n MuiButton: {\n variants: [\n {\n props: {variant: 'contained', color: 'grey'},\n style: {\n color: theme.palette.getContrastText(theme.palette.grey[300]),\n },\n },\n {\n props: {variant: 'outlined', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n '&.Mui-disabled': {\n border: `1px solid ${theme.palette.action.disabledBackground}`,\n },\n '&:hover': {\n borderColor:\n theme.palette.mode === 'light'\n ? 'rgba(0, 0, 0, 0.23)'\n : 'rgba(255, 255, 255, 0.23)',\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n {\n props: {variant: 'text', color: 'grey'},\n style: {\n color: theme.palette.text.primary,\n '&:hover': {\n backgroundColor: alpha(\n theme.palette.text.primary,\n theme.palette.action.hoverOpacity,\n ),\n },\n },\n },\n ],\n },\n },\n });\n};\n\nexport default Theme;\n"],"mappings":"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"}