"use strict";
(self["webpackChunk_core_volunteer_app"] = self["webpackChunk_core_volunteer_app"] || []).push([["main-src_shared_a"],{
/***/ "./src/shared/components/footer/footer-component.tsx"
/*!***********************************************************!*\
!*** ./src/shared/components/footer/footer-component.tsx ***!
\***********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_layout__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/layout */ "../../../node_modules/antd/lib/layout/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);
var Footer = antd_es_layout__WEBPACK_IMPORTED_MODULE_2__["default"].Footer;
var FooterComponent = function FooterComponent() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(Footer, {
style: {
background: '#f5f5f5',
padding: '24px',
textAlign: 'center'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_0__["default"], {
gutter: [16, 16]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "About Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Learn more about our mission and values.")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Contact"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Email: support@gmail.com"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, "Phone: +855 123 456 7890")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_1__["default"], {
xs: 24,
sm: 12,
md: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("h4", null, "Follow Us"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("p", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("a", {
href: "",
target: "_blank",
rel: "#"
}, "#")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default().createElement("div", {
style: {
marginTop: '16px'
}
}, "\xA9 ", new Date().getFullYear(), " #"));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FooterComponent);
/***/ },
/***/ "./src/shared/configs/config.ts"
/*!**************************************!*\
!*** ./src/shared/configs/config.ts ***!
\**************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({
// env: process.env.NODE_ENV,
env: 'development',
// asset_url: process.env.S3IMAGESBUCKET,
asset_url: '',
api_url: "https://volunteerapi.joonaakhub.com",
upload_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.MEDIA_API,
socket_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.SOCKER_SERVER,
notification_url: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.NOTIFICATION,
AWS_ACCESS_KEY_ID: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_ACCESS_KEY_ID,
AWS_SECRET_ACCESS_KEY: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.AWS_SECRET_ACCESS_KEY,
REACT_APP_API_TOKEN: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"7bOV0j12NvGZHe5Xpmk9r8mzfmQs0KQ0WIYTqf01"}.REACT_APP_API_TOKEN,
S3_BUCKET: {"NVM_INC":"/Users/youra/.nvm/versions/node/v24.2.0/include/node","TERM_PROGRAM":"vscode","NODE":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NVM_CD_FLAGS":"-q","INIT_CWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","TERM":"xterm-256color","SHELL":"/bin/zsh","HOMEBREW_REPOSITORY":"/opt/homebrew","TMPDIR":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/","npm_package_bin_init-web":"bin/init-web","npm_config_global_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","VSCODE_PYTHON_AUTOACTIVATE_GUARD":"1","TERM_PROGRAM_VERSION":"1.111.0","ZDOTDIR":"/Users/youra","MallocNanoZone":"0","COLOR":"1","npm_config_registry":"https://registry.npmjs.com","npm_config_noproxy":"","npm_config_local_prefix":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal","NVM_DIR":"/Users/youra/.nvm","USER":"youra","COMMAND_MODE":"unix2003","npm_config_globalconfig":"/Users/youra/.nvm/versions/node/v24.2.0/etc/npmrc","SSH_AUTH_SOCK":"/private/tmp/com.apple.launchd.nZQTYq9XeG/Listeners","VSCODE_PROFILE_INITIALIZED":"1","__CF_USER_TEXT_ENCODING":"0x1F5:0x0:0x0","npm_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/bin/npm-cli.js","PATH":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/node_modules/.bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin:/Users/youra/Documents/devs/reactjs/node_modules/.bin:/Users/youra/Documents/devs/node_modules/.bin:/Users/youra/Documents/node_modules/.bin:/Users/youra/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/opt/pmk/env/global/bin:/Library/Apple/usr/bin:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/debugCommand:/Users/youra/Library/Application Support/Code/User/globalStorage/github.copilot-chat/copilotCli:/opt/homebrew/opt/openjdk@11/bin:/Users/youra/.nvm/versions/node/v24.2.0/bin:/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:/opt/homebrew/opt/php@7.2/sbin:/opt/homebrew/opt/php@7.2/bin:/Library/Frameworks/Python.framework/Versions/3.10/bin:/Library/Frameworks/Python.framework/Versions/3.11/bin:/Library/Frameworks/Python.framework/Versions/3.13/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin:/Users/youra/Documents/SRC/flutter/bin:/Users/youra/.pub-cache/bin","_":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/node_modules/.bin/webpack","LaunchInstanceID":"108F963E-95FC-4ABB-AC89-B94634183186","npm_package_json":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app/package.json","USER_ZDOTDIR":"/Users/youra","__CFBundleIdentifier":"com.microsoft.VSCode","npm_config_init_module":"/Users/youra/.npm-init.js","npm_config_userconfig":"/Users/youra/.npmrc","SKIP_JDK_VERSION_CHECK":"true","PWD":"/Users/youra/Documents/devs/reactjs/volunteer_web_portal/apps/core-admin-suite/volunteer_app","npm_command":"run-script","JAVA_HOME":"/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home","EDITOR":"vi","npm_lifecycle_event":"build","LANG":"C.UTF-8","npm_package_name":"@core/volunteer_app","VSCODE_GIT_ASKPASS_EXTRA_ARGS":"","XPC_FLAGS":"0x0","npm_config_npm_version":"11.3.0","npm_config_node_gyp":"/Users/youra/.nvm/versions/node/v24.2.0/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js","XPC_SERVICE_NAME":"0","npm_package_version":"1.0.0","VSCODE_INJECTION":"1","SHLVL":"4","HOME":"/Users/youra","VSCODE_GIT_ASKPASS_MAIN":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass-main.js","HOMEBREW_PREFIX":"/opt/homebrew","npm_config_rdr.mondojob.com/repository:_authtoken":"d1a2f65c-0045-39bb-b2de-4e6aa829a6fc","LOGNAME":"youra","npm_config_cache":"/Users/youra/.npm","npm_lifecycle_script":"webpack --config webpack.config.js","VSCODE_GIT_IPC_HANDLE":"/var/folders/h2/6kxr3fc91j32xmf4ktvn5k000000gn/T/vscode-git-227d706955.sock","NVM_BIN":"/Users/youra/.nvm/versions/node/v24.2.0/bin","npm_config_user_agent":"npm/11.3.0 node/v24.2.0 darwin arm64 workspaces/false","VSCODE_GIT_ASKPASS_NODE":"/Applications/Visual Studio Code.app/Contents/Frameworks/Code Helper (Plugin).app/Contents/MacOS/Code Helper (Plugin)","GIT_ASKPASS":"/Applications/Visual Studio Code.app/Contents/Resources/app/extensions/git/dist/askpass.sh","INFOPATH":"/opt/homebrew/share/info:/opt/homebrew/share/info:","HOMEBREW_CELLAR":"/opt/homebrew/Cellar","OSLogRateLimit":"64","SECURITYSESSIONID":"186b6","COLORTERM":"truecolor","npm_config_prefix":"/Users/youra/.nvm/versions/node/v24.2.0","npm_node_execpath":"/Users/youra/.nvm/versions/node/v24.2.0/bin/node","NODE_ENV":"development","APP_NAME":"","APP_PORT":"8888","BASE_URL":"https://volunteerapi.joonaakhub.com","SOCKER_SERVER_API":"https://io.joonaakhub.com","NOTIFICATION_API":"https://notification.joonaakhub.com","MEDIA_API":"https://media.joonaakhub.com","S3_BUCKET":"joonaakresources","AWS_ACCESS_KEY_ID":"AKIAZXXNTEFLMW7RSJUX","AWS_SECRET_ACCESS_KEY":"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"}.S3_BUCKET,
firebase_config_headers: {},
limit: 10,
wallet_limit: 10000,
websocketEvent: {
DRIVER_LIVE_LOCATION: 'DRIVER_LIVE_LOCATION',
UPDATE_JN_WALLET: 'UPDATE_JN_WALLET',
CASH_IN_SUCCESS: 'CASH_IN_SUCCESS',
CASH_OUT_SUCCESS: 'CASH_OUT_SUCCESS',
NO_DRIVER_AVAILABLE: 'NO_DRIVER_AVAILABLE',
PACKAGE_TRACKING: 'PACKAGE_TRACKING'
},
defaultAdminAccount: 'DEFAULT_ADMIN_ACCOUNT_ID',
telegramId: {
dev: '-1001136284557',
devLogger: '-1001495616386',
expressHub: '-1001136284557',
expressMerchant: '-1001136284557',
expressFinance: '-1001136284557',
expressDriver: '-1001136284557'
}
});
/***/ },
/***/ "./src/shared/configs/constants.ts"
/*!*****************************************!*\
!*** ./src/shared/configs/constants.ts ***!
\*****************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ AUTH_LOGIN: () => (/* binding */ AUTH_LOGIN),
/* harmony export */ CURRENCY_TYPE: () => (/* binding */ CURRENCY_TYPE),
/* harmony export */ LOGIN_FAILED: () => (/* binding */ LOGIN_FAILED),
/* harmony export */ START_LOGIN: () => (/* binding */ START_LOGIN),
/* harmony export */ URL: () => (/* binding */ URL)
/* harmony export */ });
var START_LOGIN = 'START_LOGIN';
var AUTH_LOGIN = 'AUTH_LOGIN';
var LOGIN_FAILED = 'LOGIN_FAILED';
var URL = {
LOGIN: '/auth/login',
LOGIN_TELEGRAM: '/auth/login',
VERIFY_TOP: 'api/v1/verify',
SIGNUP: 'auth/register',
DISABILITY_TYPE: 'disability-types/',
PROVINCE: 'provinces/',
OCCUPATION: 'occupations/',
EDUCATION_INSTITUTION: 'education-institutions/',
FOODS: 'foods/',
FOOD: 'foods/',
FAMILIES: 'families/',
TRANSPORTATIONS: 'transportations/',
TEAM: 'interested-teams/',
EVENT: 'volunteer-events/',
SOURCE: 'opportunity-sources/',
TRAINING_SESSION: 'training-sessions/',
LANGUAGE: 'languages/',
SKILL: 'skills/',
TERMS_CONDITION: 'terms-conditions/',
VOLUNTEER_EVENT: 'volunteer-events/',
VOLUNTEERS: 'volunteers/',
DASHBOARD: 'dashboard/',
OFFER_PROGRAM: 'offer-programs/',
TRAVEL_DAY: 'travel-days/',
USER: 'users/',
PUBLIC: 'public/',
NOTIFY: 'notify/send/telegram',
NOTIFY_STATUS: 'notify/send/status',
USER_ATTENDANCE: '/user-attendances/'
};
var CURRENCY_TYPE = {
USD: 'USD',
KHR: 'KHR'
};
/***/ },
/***/ "./src/shared/container/dialogs/loading-dialog.tsx"
/*!*********************************************************!*\
!*** ./src/shared/container/dialogs/loading-dialog.tsx ***!
\*********************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_es_spin__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/spin */ "../../../node_modules/antd/lib/spin/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
var LoadingDialog = /*#__PURE__*/function (_React$Component) {
function LoadingDialog() {
_classCallCheck(this, LoadingDialog);
return _callSuper(this, LoadingDialog, arguments);
}
_inherits(LoadingDialog, _React$Component);
return _createClass(LoadingDialog, [{
key: "render",
value: function render() {
var visible = this.props.visible;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], {
width: 200,
visible: visible,
centered: true,
footer: null,
closable: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("div", {
style: {
display: 'flex',
flexDirection: 'column',
justifyContent: 'center',
alignItems: 'center',
marginTop: 20
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement(antd_es_spin__WEBPACK_IMPORTED_MODULE_1__["default"], {
size: "large"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_2___default().createElement("p", {
style: {
textAlign: 'center',
marginTop: '1rem'
}
}, "Loading...")));
}
}]);
}((react__WEBPACK_IMPORTED_MODULE_2___default().Component));
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (LoadingDialog);
/***/ },
/***/ "./src/shared/core/base/services.ts"
/*!******************************************!*\
!*** ./src/shared/core/base/services.ts ***!
\******************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ getWithConfig: () => (/* binding */ getWithConfig),
/* harmony export */ postUpload: () => (/* binding */ postUpload),
/* harmony export */ postWithConfig: () => (/* binding */ postWithConfig),
/* harmony export */ postWithConfigFormData: () => (/* binding */ postWithConfigFormData),
/* harmony export */ postWithConfigWhitelist: () => (/* binding */ postWithConfigWhitelist),
/* harmony export */ pushNotification: () => (/* binding */ pushNotification),
/* harmony export */ pushNotificationAllApp: () => (/* binding */ pushNotificationAllApp),
/* harmony export */ putWithConfig: () => (/* binding */ putWithConfig),
/* harmony export */ removeWithConfig: () => (/* binding */ removeWithConfig)
/* harmony export */ });
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! axios */ "../../../node_modules/axios/lib/axios.js");
/* harmony import */ var _configs_config__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../configs/config */ "./src/shared/configs/config.ts");
/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! qs */ "../../../node_modules/qs/lib/index.js");
/* harmony import */ var qs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(qs__WEBPACK_IMPORTED_MODULE_2__);
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
/* eslint-disable no-console */
/**
* Helper function to make GET requests with token authorization and optional parameters.
*
* @param url - The API endpoint.
* @param params - Optional query parameters.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
// Ensure axiosInstance is configured properly
var axiosInstance = axios__WEBPACK_IMPORTED_MODULE_0__["default"].create({
baseURL: _configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].api_url,
timeout: 100000 // Example timeout
});
var getWithConfig = /*#__PURE__*/function () {
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(url, params, success, failed) {
var token, cleanedParams, configs, response, _err$response$data$me, _err$response, _err$response$data$er, _err$response2, message, error, _t;
return _regenerator().w(function (_context) {
while (1) switch (_context.p = _context.n) {
case 0:
_context.p = 0;
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA"; // 🔥 remove empty, null, undefined
cleanedParams = {};
Object.entries(params || {}).forEach(function (_ref2) {
var _ref3 = _slicedToArray(_ref2, 2),
key = _ref3[0],
value = _ref3[1];
if (value !== undefined && value !== null && value !== "" && !(Array.isArray(value) && value.length === 0)) {
cleanedParams[key] = value;
}
});
configs = {
headers: {
Authorization: token ? "Bearer ".concat(token) : "",
// ✅ Fixed incorrect conditional
Accept: "application/json"
},
params: cleanedParams,
paramsSerializer: function paramsSerializer(params) {
return qs__WEBPACK_IMPORTED_MODULE_2__.stringify(params, {
arrayFormat: "repeat" // 🔥 event_ids=1&event_ids=3
});
}
};
_context.n = 1;
return axiosInstance.get(url, configs);
case 1:
response = _context.v;
success === null || success === void 0 || success(response.data);
return _context.a(2, response.data);
case 2:
_context.p = 2;
_t = _context.v;
console.error("Axios GET request failed:", _t);
message = (_err$response$data$me = (_err$response = _t.response) === null || _err$response === void 0 || (_err$response = _err$response.data) === null || _err$response === void 0 ? void 0 : _err$response.message) !== null && _err$response$data$me !== void 0 ? _err$response$data$me : "Unknown error!";
error = (_err$response$data$er = (_err$response2 = _t.response) === null || _err$response2 === void 0 || (_err$response2 = _err$response2.data) === null || _err$response2 === void 0 ? void 0 : _err$response2.error) !== null && _err$response$data$er !== void 0 ? _err$response$data$er : "Unknown error!";
console.error({
error: error
});
failed === null || failed === void 0 || failed(message);
return _context.a(2, undefined);
}
}, _callee, null, [[0, 2]]);
}));
return function getWithConfig(_x, _x2, _x3, _x4) {
return _ref.apply(this, arguments);
};
}();
/**
* Helper function to make POST requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @returns A promise with the response data.
*/
var postWithConfig = /*#__PURE__*/function () {
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(url, data) {
var _sessionStorage$getIt;
var token, headers, config, response, _t2;
return _regenerator().w(function (_context2) {
while (1) switch (_context2.p = _context2.n) {
case 0:
token = (_sessionStorage$getIt = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt !== void 0 ? _sessionStorage$getIt : '';
headers = {
'Content-Type': 'application/json',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context2.p = 1;
console.log('posed========= : ', data);
_context2.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context2.v;
return _context2.a(2, response.data);
case 3:
_context2.p = 3;
_t2 = _context2.v;
console.error('POST request error:', _t2);
throw _t2;
case 4:
return _context2.a(2);
}
}, _callee2, null, [[1, 3]]);
}));
return function postWithConfig(_x5, _x6) {
return _ref4.apply(this, arguments);
};
}();
var postWithConfigFormData = /*#__PURE__*/function () {
var _ref5 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(url, data) {
var _sessionStorage$getIt2;
var token, headers, config, response, _t3;
return _regenerator().w(function (_context3) {
while (1) switch (_context3.p = _context3.n) {
case 0:
token = (_sessionStorage$getIt2 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt2 !== void 0 ? _sessionStorage$getIt2 : '';
console.log('formData ', data);
headers = {
'Content-Type': 'multipart/form-data',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context3.p = 1;
_context3.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context3.v;
return _context3.a(2, response.data);
case 3:
_context3.p = 3;
_t3 = _context3.v;
console.error('POST request error:', _t3);
throw _t3;
case 4:
return _context3.a(2);
}
}, _callee3, null, [[1, 3]]);
}));
return function postWithConfigFormData(_x7, _x8) {
return _ref5.apply(this, arguments);
};
}();
/**
* Helper function to make POST requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @returns A promise with the response data.
*/
var postWithConfigWhitelist = /*#__PURE__*/function () {
var _ref6 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(url, data) {
var token, storedUser, user, headers, config, expertiseStr, response, _t4;
return _regenerator().w(function (_context4) {
while (1) switch (_context4.p = _context4.n) {
case 0:
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA";
storedUser = sessionStorage.getItem('currentUser');
user = storedUser ? JSON.parse(storedUser) : null; // ✅ Prevents
headers = {
'Content-Type': 'application/json',
Accept: 'application/json'
};
if (token) {
headers['Authorization'] = "Bearer ".concat(token);
}
config = {
headers: headers
};
_context4.p = 1;
// Ensure required fields are included in the request payload
data.phone_number = data.phone_number ? "+".concat(data.phone_number.countryCode, " ").concat(data.phone_number.areaCode, " ").concat(data.phone_number.phoneNumber) : undefined;
data.terms_conditions_id = 2;
data.volunteer_status = "Register";
data.user_id = user.id;
expertiseStr = data.expertise.toString();
data.expertise = expertiseStr;
_context4.n = 2;
return axiosInstance.post(url, data, config);
case 2:
response = _context4.v;
return _context4.a(2, response.data);
case 3:
_context4.p = 3;
_t4 = _context4.v;
console.error('POST request error:', _t4);
throw _t4;
case 4:
return _context4.a(2);
}
}, _callee4, null, [[1, 3]]);
}));
return function postWithConfigWhitelist(_x9, _x0) {
return _ref6.apply(this, arguments);
};
}();
/**
* Helper function to make DELETE requests with token authorization and optional data.
*
* @param url - The API endpoint.
* @param data - Optional payload for the DELETE request.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
var removeWithConfig = /*#__PURE__*/function () {
var _ref7 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(url, data, success, failed) {
var _sessionStorage$getIt3;
var token, configs, response, _err$response$data$me2, _err$response3, message, _t5;
return _regenerator().w(function (_context5) {
while (1) switch (_context5.p = _context5.n) {
case 0:
token = (_sessionStorage$getIt3 = sessionStorage.getItem('token')) !== null && _sessionStorage$getIt3 !== void 0 ? _sessionStorage$getIt3 : '';
if (!(token === '')) {
_context5.n = 1;
break;
}
failed === null || failed === void 0 || failed('Token is missing.');
return _context5.a(2);
case 1:
configs = {
headers: {
Authorization: "Bearer ".concat(token) ? "Bearer ".concat(token) : 0,
// Ensure correct Bearer format
'Content-Type': 'application/json',
Accept: 'application/json'
},
data: data !== null && data !== void 0 ? data : {}
};
_context5.p = 2;
_context5.n = 3;
return axiosInstance["delete"](url, configs);
case 3:
response = _context5.v;
success === null || success === void 0 || success(response.data);
_context5.n = 5;
break;
case 4:
_context5.p = 4;
_t5 = _context5.v;
message = (_err$response$data$me2 = (_err$response3 = _t5.response) === null || _err$response3 === void 0 || (_err$response3 = _err$response3.data) === null || _err$response3 === void 0 ? void 0 : _err$response3.message) !== null && _err$response$data$me2 !== void 0 ? _err$response$data$me2 : 'Unknown error!';
failed === null || failed === void 0 || failed(message);
case 5:
return _context5.a(2);
}
}, _callee5, null, [[2, 4]]);
}));
return function removeWithConfig(_x1, _x10, _x11, _x12) {
return _ref7.apply(this, arguments);
};
}();
/**
* Helper function to make PUT requests with token authorization.
*
* @param url - The API endpoint.
* @param data - The request payload.
* @param success - Callback function to handle success response.
* @param failed - Callback function to handle error response.
*/
var putWithConfig = /*#__PURE__*/function () {
var _ref8 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6(url, data) {
var token, configs, response, _t6;
return _regenerator().w(function (_context6) {
while (1) switch (_context6.p = _context6.n) {
case 0:
token = sessionStorage.getItem("token") || "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJqYXlAZ21haWwuY29tIiwiZXhwIjoxNzk4NTg3NTE2fQ.8drgnoQ7f4dYQYb31FcBvBa2BdgAGjuRJXchiPmS7dA";
if (token) {
_context6.n = 1;
break;
}
throw new Error("Token is missing.");
case 1:
configs = {
headers: {
Authorization: "Bearer ".concat(token),
Accept: "application/json"
}
};
_context6.p = 2;
_context6.n = 3;
return axiosInstance.put(url, data, configs);
case 3:
response = _context6.v;
return _context6.a(2, response.data);
case 4:
_context6.p = 4;
_t6 = _context6.v;
throw _t6;
case 5:
return _context6.a(2);
}
}, _callee6, null, [[2, 4]]);
}));
return function putWithConfig(_x13, _x14) {
return _ref8.apply(this, arguments);
};
}();
/**
* Function to upload files.
*
* @param data - The file data to upload.
* @returns A promise with the response data.
*/
var postUpload = /*#__PURE__*/function () {
var _ref9 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7(data) {
var url, configure, response, _t7;
return _regenerator().w(function (_context7) {
while (1) switch (_context7.p = _context7.n) {
case 0:
_context7.p = 0;
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].upload_url, "/media/file");
configure = {
headers: {
token: '949b71ef-a5d2-4a3c-8a95-d77bb7fb2ff4',
'Content-Type': 'multipart/form-data'
}
};
_context7.n = 1;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 1:
response = _context7.v;
return _context7.a(2, response.data);
case 2:
_context7.p = 2;
_t7 = _context7.v;
console.log(_t7);
case 3:
return _context7.a(2);
}
}, _callee7, null, [[0, 2]]);
}));
return function postUpload(_x15) {
return _ref9.apply(this, arguments);
};
}();
/**
* Function to push notifications to a specific recipient.
*
* @param recipient - The topic or currentUser ID.
* @param title - The notification title.
* @param messageBody - The body of the notification.
* @param isDriver - Indicates whether the recipient is a driver.
* @param photo - Optional photo URL for the notification.
* @param failed - Callback function to handle error response.
*/
var pushNotification = /*#__PURE__*/function () {
var _ref0 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8(recipient, title, messageBody, isDriver, photo, failed) {
var url, headers, configure, data, response, _err$response$data$me3, _err$response4, message, _t8;
return _regenerator().w(function (_context8) {
while (1) switch (_context8.p = _context8.n) {
case 0:
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/");
headers = isDriver ? {
'Driver-Header': 'true'
} : {};
configure = {
headers: headers
};
data = {
topic_name: recipient,
message_title: title,
message_body: messageBody,
photo: photo
};
_context8.p = 1;
_context8.n = 2;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 2:
response = _context8.v;
_context8.n = 4;
break;
case 3:
_context8.p = 3;
_t8 = _context8.v;
message = (_err$response$data$me3 = (_err$response4 = _t8.response) === null || _err$response4 === void 0 || (_err$response4 = _err$response4.data) === null || _err$response4 === void 0 ? void 0 : _err$response4.message) !== null && _err$response$data$me3 !== void 0 ? _err$response$data$me3 : 'Unknown error!';
failed === null || failed === void 0 || failed(message);
case 4:
return _context8.a(2);
}
}, _callee8, null, [[1, 3]]);
}));
return function pushNotification(_x16, _x17, _x18, _x19, _x20, _x21) {
return _ref0.apply(this, arguments);
};
}();
/**
* Function to push notifications to all users in the app.
*
* @param data - The notification payload.
* @returns A promise with the response data.
*/
var pushNotificationAllApp = /*#__PURE__*/function () {
var _ref1 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(data) {
var url, configure, response, _t9;
return _regenerator().w(function (_context9) {
while (1) switch (_context9.p = _context9.n) {
case 0:
url = "".concat(_configs_config__WEBPACK_IMPORTED_MODULE_1__["default"].notification_url, "notification/");
configure = {
headers: {}
};
_context9.p = 1;
_context9.n = 2;
return axios__WEBPACK_IMPORTED_MODULE_0__["default"].post(url, data, configure);
case 2:
response = _context9.v;
return _context9.a(2, response.data);
case 3:
_context9.p = 3;
_t9 = _context9.v;
throw new Error('Notification failed');
case 4:
return _context9.a(2);
}
}, _callee9, null, [[1, 3]]);
}));
return function pushNotificationAllApp(_x22) {
return _ref1.apply(this, arguments);
};
}();
/***/ },
/***/ "./src/shared/redux/store.ts"
/*!***********************************!*\
!*** ./src/shared/redux/store.ts ***!
\***********************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ store: () => (/* binding */ store)
/* harmony export */ });
/* harmony import */ var _reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @reduxjs/toolkit */ "../../../node_modules/@reduxjs/toolkit/dist/redux-toolkit.modern.mjs");
/* harmony import */ var _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../services/authentication/login/core/reducer */ "./src/services/authentication/login/core/reducer.ts");
/* harmony import */ var _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../services/volunteer/core/reducer */ "./src/services/volunteer/core/reducer.ts");
/* harmony import */ var _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../services/disability_type/core/reducer */ "./src/services/disability_type/core/reducer.ts");
/* harmony import */ var _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../services/education_institution/core/reducer */ "./src/services/education_institution/core/reducer.ts");
/* harmony import */ var _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../services/food/core/reducer */ "./src/services/food/core/reducer.ts");
/* harmony import */ var _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../services/interested_team/core/reducer */ "./src/services/interested_team/core/reducer.ts");
/* harmony import */ var _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../services/occupation/core/reducer */ "./src/services/occupation/core/reducer.ts");
/* harmony import */ var _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/opportunity_source/core/reducer */ "./src/services/opportunity_source/core/reducer.ts");
/* harmony import */ var _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../services/province/core/reducer */ "./src/services/province/core/reducer.ts");
/* harmony import */ var _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../services/skill/core/reducer */ "./src/services/skill/core/reducer.ts");
/* harmony import */ var _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../services/terms_condition/core/reducer */ "./src/services/terms_condition/core/reducer.ts");
/* harmony import */ var _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../services/training_session/core/reducer */ "./src/services/training_session/core/reducer.ts");
/* harmony import */ var _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../services/volunteer_event/core/reducer */ "./src/services/volunteer_event/core/reducer.ts");
/* harmony import */ var _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../services/language/core/reducer */ "./src/services/language/core/reducer.ts");
/* harmony import */ var _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../services/user/core/reducer */ "./src/services/user/core/reducer.ts");
/* harmony import */ var _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../services/offer_program/core/reducer */ "./src/services/offer_program/core/reducer.ts");
/* harmony import */ var _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../services/travel_day/core/reducer */ "./src/services/travel_day/core/reducer.ts");
/* harmony import */ var _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../services/user_attendance/core/reducer */ "./src/services/user_attendance/core/reducer.ts");
/* harmony import */ var _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../services/family_survey/core/reducer */ "./src/services/family_survey/core/reducer.ts");
var store = (0,_reduxjs_toolkit__WEBPACK_IMPORTED_MODULE_0__.configureStore)({
reducer: {
auth: _services_authentication_login_core_reducer__WEBPACK_IMPORTED_MODULE_1__["default"],
volunteer: _services_volunteer_core_reducer__WEBPACK_IMPORTED_MODULE_2__["default"],
disabilityType: _services_disability_type_core_reducer__WEBPACK_IMPORTED_MODULE_3__["default"],
educationInstitution: _services_education_institution_core_reducer__WEBPACK_IMPORTED_MODULE_4__["default"],
food: _services_food_core_reducer__WEBPACK_IMPORTED_MODULE_5__["default"],
interestedTeam: _services_interested_team_core_reducer__WEBPACK_IMPORTED_MODULE_6__["default"],
occupation: _services_occupation_core_reducer__WEBPACK_IMPORTED_MODULE_7__["default"],
opportunitySource: _services_opportunity_source_core_reducer__WEBPACK_IMPORTED_MODULE_8__["default"],
province: _services_province_core_reducer__WEBPACK_IMPORTED_MODULE_9__["default"],
language: _services_language_core_reducer__WEBPACK_IMPORTED_MODULE_14__["default"],
skill: _services_skill_core_reducer__WEBPACK_IMPORTED_MODULE_10__["default"],
termsCondition: _services_terms_condition_core_reducer__WEBPACK_IMPORTED_MODULE_11__["default"],
trainingSession: _services_training_session_core_reducer__WEBPACK_IMPORTED_MODULE_12__["default"],
volunteerEvent: _services_volunteer_event_core_reducer__WEBPACK_IMPORTED_MODULE_13__["default"],
user: _services_user_core_reducer__WEBPACK_IMPORTED_MODULE_15__["default"],
offerProgram: _services_offer_program_core_reducer__WEBPACK_IMPORTED_MODULE_16__["default"],
travelDay: _services_travel_day_core_reducer__WEBPACK_IMPORTED_MODULE_17__["default"],
userAttendance: _services_user_attendance_core_reducer__WEBPACK_IMPORTED_MODULE_18__["default"],
familiSurvey: _services_family_survey_core_reducer__WEBPACK_IMPORTED_MODULE_19__["default"]
},
devTools: "development" !== 'production'
});
/***/ },
/***/ "./src/shared/routes/index.tsx"
/*!*************************************!*\
!*** ./src/shared/routes/index.tsx ***!
\*************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _views_main_home_main__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../views/main/home/main */ "./src/shared/views/main/home/main.tsx");
/* harmony import */ var _views_login_login__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../views/login/login */ "./src/shared/views/login/login.tsx");
/* harmony import */ var _views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../views/not-found/not-found */ "./src/shared/views/not-found/not-found.tsx");
/* harmony import */ var _protected_route__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./protected-route */ "./src/shared/routes/protected-route.tsx");
/* harmony import */ var _views_login_auth__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../views/login/auth */ "./src/shared/views/login/auth.tsx");
/* harmony import */ var _views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../views/login/attendance_qr */ "./src/shared/views/login/attendance_qr.tsx");
/* harmony import */ var _services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../services/authentication/login/pages/attendance_verification */ "./src/services/authentication/login/pages/attendance_verification.tsx");
/* harmony import */ var _views_volunteer_volunteer_register_game__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../views/volunteer/volunteer-register-game */ "./src/shared/views/volunteer/volunteer-register-game.tsx");
// Required for JSX
var AppRoutes = function AppRoutes() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Routes, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/login",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_login__WEBPACK_IMPORTED_MODULE_3__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/auth",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_auth__WEBPACK_IMPORTED_MODULE_6__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/attendance",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_attendance_verification__WEBPACK_IMPORTED_MODULE_8__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/qr",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_login_attendance_qr__WEBPACK_IMPORTED_MODULE_7__["default"], null)
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/*",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_main_home_main__WEBPACK_IMPORTED_MODULE_2__["default"], null))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "/register",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_protected_route__WEBPACK_IMPORTED_MODULE_5__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_volunteer_volunteer_register_game__WEBPACK_IMPORTED_MODULE_9__["default"], null))
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Route, {
path: "*",
element: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_views_not_found_not_found__WEBPACK_IMPORTED_MODULE_4__["default"], null)
}));
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AppRoutes);
/***/ },
/***/ "./src/shared/routes/protected-route.tsx"
/*!***********************************************!*\
!*** ./src/shared/routes/protected-route.tsx ***!
\***********************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
var ProtectedRoute = function ProtectedRoute(_ref) {
var children = _ref.children;
var accessToken = sessionStorage.getItem('token');
var storedUser = sessionStorage.getItem('currentUser');
var user = null;
if (storedUser) {
try {
user = JSON.parse(storedUser);
} catch (error) {
console.error('Error parsing currentUser from sessionStorage:', error);
}
}
console.log('Parsed user:', user);
// Check for a valid token and that the user's role is not "USER"
var isAuthenticated = Boolean(accessToken && accessToken.length > 0 && user);
return isAuthenticated ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, children) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(react_router_dom__WEBPACK_IMPORTED_MODULE_1__.Navigate, {
to: "/login"
});
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (ProtectedRoute);
/***/ },
/***/ "./src/shared/views/family_survey/FamilySurveyForm.tsx"
/*!*************************************************************!*\
!*** ./src/shared/views/family_survey/FamilySurveyForm.tsx ***!
\*************************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_card__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/card */ "../../../node_modules/antd/lib/card/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/checkbox */ "../../../node_modules/antd/lib/checkbox/index.js");
/* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_tag__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/tag */ "../../../node_modules/antd/lib/tag/index.js");
/* harmony import */ var antd_es_message__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/message */ "../../../node_modules/antd/lib/message/index.js");
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts");
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var Option = antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"].Option;
// Add interfaces
// Update storage key
var STORAGE_KEY = {
LOCATION_CHAINS: 'family_survey_location_chains',
LAST_SELECTION: 'family_survey_last_selection'
};
var FamilySurveyForm = function FamilySurveyForm(_ref) {
var _transportations$data;
var isViewMode = _ref.isViewMode,
initialValues = _ref.initialValues;
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_14__.useNavigate)();
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)([]),
_useState2 = _slicedToArray(_useState, 2),
savedLocationChains = _useState2[0],
setSavedLocationChains = _useState2[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_13__.useSelector)(function (state) {
return state.familiSurvey || {};
}),
_useSelector$province = _useSelector.provinces,
provinces = _useSelector$province === void 0 ? [] : _useSelector$province,
_useSelector$district = _useSelector.districts,
districts = _useSelector$district === void 0 ? [] : _useSelector$district,
_useSelector$communes = _useSelector.communes,
communes = _useSelector$communes === void 0 ? [] : _useSelector$communes,
_useSelector$villages = _useSelector.villages,
villages = _useSelector$villages === void 0 ? [] : _useSelector$villages,
_useSelector$transpor = _useSelector.transportations,
transportations = _useSelector$transpor === void 0 ? [] : _useSelector$transpor,
familySurvey = _useSelector.familySurvey,
registerPending = _useSelector.registerPending,
registerErrorMessage = _useSelector.registerErrorMessage;
var searchParams = new URLSearchParams(location.search);
var id = searchParams.get('id');
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_12__.useState)(false),
_useState4 = _slicedToArray(_useState3, 2),
isClick = _useState4[0],
setIsClick = _useState4[1];
// 👉 Fetch data when editing or reset form when adding
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (id) {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.familyDetailAction)(Number(id)));
} else {
form.resetFields(); // Reset form fields when adding a new item
}
}, [dispatch, id, form]);
// 👉 Populate form with fetched data
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (id && familySurvey) {
form.setFieldsValue({
name: familySurvey.name || '',
phone: familySurvey.phone || '',
gender: familySurvey.gender || '',
age: familySurvey.age || 0,
province: familySurvey.province || '',
district: familySurvey.district || '',
commune: familySurvey.commune || '',
village: familySurvey.village || '',
total_member: familySurvey.total_member || 0,
member_male: familySurvey.member_male || 0,
member_female: familySurvey.member_female || 0,
total_pregnant: familySurvey.total_pregnant || 0,
total_baby: familySurvey.total_baby || 0,
baby_male: familySurvey.baby_male || 0,
baby_female: familySurvey.baby_female || 0,
total_child: familySurvey.total_child || 0,
child_male: familySurvey.child_male || 0,
child_female: familySurvey.child_female || 0,
is_disabled: familySurvey.is_disabled || false,
is_old_age: familySurvey.is_old_age || false,
transportation_id: familySurvey.transportation_id || null,
note: familySurvey.note || ''
});
}
}, [familySurvey, form, id]);
// 👉 Show success or error alerts
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (!registerPending && isClick) {
if (registerErrorMessage) {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].error(registerErrorMessage);
} else {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].success(id ? 'Updated successfully!' : 'Created successfully!');
navigate('/family-survey');
}
}
}, [registerPending, registerErrorMessage, id, isClick, navigate]);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchProvince)());
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchTransportation)());
}, [dispatch]);
// Load saved location chains on mount
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS);
if (savedChains) {
var chains = JSON.parse(savedChains);
setSavedLocationChains(chains);
// Auto-select most recent location chain
var mostRecent = chains[0];
if (mostRecent) {
autoSelectLocationChain(mostRecent);
}
}
}, []);
var handleCountTotalChange = function handleCountTotalChange(type, value) {
if (type === 'member') {
if (!value) {
form.setFieldsValue({
member_male: 0,
member_female: 0
});
} else {
var male = form.getFieldValue('member_male') || 0;
var female = form.getFieldValue('member_female') || 0;
if (male > 0 && male <= value) {
form.setFieldsValue({
member_female: value - male
});
} else if (female > 0 && female <= value) {
form.setFieldsValue({
member_male: value - female
});
}
}
}
if (type === 'baby') {
if (!value) {
form.setFieldsValue({
baby_male: 0,
baby_female: 0
});
} else {
var _male = form.getFieldValue('baby_male') || 0;
var _female = form.getFieldValue('baby_female') || 0;
if (_male > 0 && _male <= value) {
form.setFieldsValue({
baby_female: value - _male
});
} else if (_female > 0 && _female <= value) {
form.setFieldsValue({
baby_male: value - _female
});
}
}
}
if (type === 'child') {
if (!value) {
form.setFieldsValue({
child_male: 0,
child_female: 0
});
} else {
var _male2 = form.getFieldValue('child_male') || 0;
var _female2 = form.getFieldValue('child_female') || 0;
if (_male2 > 0 && _male2 <= value) {
form.setFieldsValue({
child_female: value - _male2
});
} else if (_female2 > 0 && _female2 <= value) {
form.setFieldsValue({
child_male: value - _female2
});
}
}
}
};
var handleCountGenderChange = function handleCountGenderChange(type, gender, value) {
var totalField = {
member: 'total_member',
baby: 'total_baby',
child: 'total_child'
}[type];
var total = form.getFieldValue(totalField) || 0;
if (total === 0) {
form.setFieldsValue(_defineProperty(_defineProperty({}, "".concat(type, "_male"), 0), "".concat(type, "_female"), 0));
return;
}
if (value > total) {
antd_es_message__WEBPACK_IMPORTED_MODULE_9__["default"].warning("Gender count cannot exceed total.");
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender), total));
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), 0));
return;
}
form.setFieldsValue(_defineProperty({}, "".concat(type, "_").concat(gender === 'male' ? 'female' : 'male'), total - value));
};
// 👉 Handle form submit
var handleSubmit = function handleSubmit(values) {
if (id) {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.updateFamilyAction)({
id: Number(id),
data: values
}));
form.resetFields();
} else {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.createFamilyAction)({
data: values
}));
form.resetFields();
}
setIsClick(true);
};
var autoSelectLocationChain = function autoSelectLocationChain(locationChain) {
// Set province and fetch districts
if (locationChain.province) {
var provinceValue = "".concat(locationChain.province.id, ",").concat(locationChain.province.name);
form.setFieldsValue({
province: provinceValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({
id: Number(locationChain.province.id)
}));
// Set district and fetch communes
if (locationChain.district) {
var districtValue = "".concat(locationChain.district.id, ",").concat(locationChain.district.name);
form.setFieldsValue({
district: districtValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({
id: Number(locationChain.district.id)
}));
// Set commune and fetch villages
if (locationChain.commune) {
var communeValue = "".concat(locationChain.commune.id, ",").concat(locationChain.commune.name);
form.setFieldsValue({
commune: communeValue
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({
id: Number(locationChain.commune.id)
}));
// Set village if exists
if (locationChain.village) {
var villageValue = "".concat(locationChain.village.id, ",").concat(locationChain.village.name);
form.setFieldsValue({
village: villageValue
});
}
}
}
}
};
var saveLocationChain = function saveLocationChain(newChain) {
var updatedChain = _objectSpread(_objectSpread({}, newChain), {}, {
timestamp: new Date().toISOString()
});
// Keep only unique chains, limited to 5 most recent
var existingChains = savedLocationChains.filter(function (chain) {
var _updatedChain$provinc, _chain$district, _updatedChain$distric, _chain$commune, _updatedChain$commune;
return chain.province.id !== ((_updatedChain$provinc = updatedChain.province) === null || _updatedChain$provinc === void 0 ? void 0 : _updatedChain$provinc.id) || ((_chain$district = chain.district) === null || _chain$district === void 0 ? void 0 : _chain$district.id) !== ((_updatedChain$distric = updatedChain.district) === null || _updatedChain$distric === void 0 ? void 0 : _updatedChain$distric.id) || ((_chain$commune = chain.commune) === null || _chain$commune === void 0 ? void 0 : _chain$commune.id) !== ((_updatedChain$commune = updatedChain.commune) === null || _updatedChain$commune === void 0 ? void 0 : _updatedChain$commune.id);
});
var newChains = [updatedChain].concat(_toConsumableArray(existingChains)).slice(0, 5);
setSavedLocationChains(newChains);
localStorage.setItem(STORAGE_KEY.LOCATION_CHAINS, JSON.stringify(newChains));
};
var handleProvinceChange = function handleProvinceChange(value) {
if (!value) return;
var _value$split = value.split(","),
_value$split2 = _slicedToArray(_value$split, 2),
provinceId = _value$split2[0],
provinceName = _value$split2[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchDistrict)({
id: Number(provinceId.trim())
}));
form.setFieldsValue({
district: undefined,
commune: undefined,
village: undefined
});
saveLocationChain({
province: {
id: provinceId.trim(),
name: provinceName.trim()
}
});
};
var handleDistrictChange = function handleDistrictChange(value) {
var _form$getFieldValue;
if (!value) return;
var _value$split3 = value.split(","),
_value$split4 = _slicedToArray(_value$split3, 2),
districtId = _value$split4[0],
districtName = _value$split4[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchCommune)({
id: Number(districtId.trim())
}));
form.setFieldsValue({
commune: undefined,
village: undefined
});
var currentProvince = (_form$getFieldValue = form.getFieldValue('province')) === null || _form$getFieldValue === void 0 ? void 0 : _form$getFieldValue.split(',');
if (currentProvince) {
saveLocationChain({
province: {
id: currentProvince[0].trim(),
name: currentProvince[1].trim()
},
district: {
id: districtId.trim(),
name: districtName.trim()
}
});
}
};
var handleCommuneChange = function handleCommuneChange(value) {
var _form$getFieldValue2, _form$getFieldValue3;
if (!value) return;
var _value$split5 = value.split(","),
_value$split6 = _slicedToArray(_value$split5, 2),
communeId = _value$split6[0],
communeName = _value$split6[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_15__.fetchVillageService)({
id: Number(communeId.trim())
}));
form.setFieldsValue({
village: undefined
});
var currentProvince = (_form$getFieldValue2 = form.getFieldValue('province')) === null || _form$getFieldValue2 === void 0 ? void 0 : _form$getFieldValue2.split(',');
var currentDistrict = (_form$getFieldValue3 = form.getFieldValue('district')) === null || _form$getFieldValue3 === void 0 ? void 0 : _form$getFieldValue3.split(',');
if (currentProvince && currentDistrict) {
saveLocationChain({
province: {
id: currentProvince[0].trim(),
name: currentProvince[1].trim()
},
district: {
id: currentDistrict[0].trim(),
name: currentDistrict[1].trim()
},
commune: {
id: communeId.trim(),
name: communeName.trim()
}
});
}
};
var handleCancel = function handleCancel() {
form.resetFields();
localStorage.removeItem(STORAGE_KEY.LAST_SELECTION);
navigate('/family-survey');
};
var QuickFill = function QuickFill() {
var mostRecent = savedLocationChains[0];
if (!mostRecent) return null;
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("div", {
style: {
marginBottom: 16
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
align: "center"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement("span", null, "\u1791\u17B8\u178F\u17B6\u17C6\u1784\u1790\u17D2\u1798\u17B8\u17D7 / Recent location:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_tag__WEBPACK_IMPORTED_MODULE_8__["default"], {
color: "blue"
}, mostRecent.province.name, mostRecent.district && " > ".concat(mostRecent.district.name), mostRecent.commune && " > ".concat(mostRecent.commune.name))));
};
// Auto-select location on mount
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
var savedChains = localStorage.getItem(STORAGE_KEY.LOCATION_CHAINS);
if (savedChains) {
var chains = JSON.parse(savedChains);
setSavedLocationChains(chains);
// Auto-select most recent location chain without user interaction
var mostRecent = chains[0];
if (mostRecent) {
autoSelectLocationChain(mostRecent);
}
}
}, []);
(0,react__WEBPACK_IMPORTED_MODULE_12__.useEffect)(function () {
if (initialValues && isViewMode) {
form.setFieldsValue(initialValues);
}
}, [initialValues, form, isViewMode]);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_card__WEBPACK_IMPORTED_MODULE_0__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"], {
form: form,
layout: "vertical",
onFinish: handleSubmit,
disabled: isViewMode,
initialValues: initialValues
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(QuickFill, null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1788\u17D2\u1798\u17C4\u17C7\u1782\u17D2\u179A\u17BD\u179F\u17B6\u179A / Family Name",
name: "name",
rules: [{
required: true,
message: "Please enter family name"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "Enter family name"
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179B\u17C1\u1781\u1791\u17BC\u179A\u179F\u17D0\u1796\u17D2\u1791 / Phone",
name: "phone",
rules: [{
required: true,
message: "Please enter phone number"
}, {
pattern: /^[0-9]+$/,
message: "Phone must be numbers only"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "Enter phone number"
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1797\u17C1\u1791 / Gender",
name: "gender",
rules: [{
required: true,
message: "Please select gender"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select gender"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
value: "Male"
}, "\u1794\u17D2\u179A\u17BB\u179F / Male"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
value: "Female"
}, "\u179F\u17D2\u179A\u17B8 / Female")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u17A2\u17B6\u1799\u17BB / Age",
name: "age",
rules: [{
required: true,
message: "Please enter age"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "province",
label: "\u1781\u17C1\u178F\u17D2\u178F/\u1780\u17D2\u179A\u17BB\u1784 / Province/City",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Province",
onChange: handleProvinceChange
}, provinces.length ? provinces.filter(function (p) {
return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0'));
}).map(function (p) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: p.id,
value: "".concat(p.id, ", ").concat(p.name.km, " / ").concat(p.name.latin)
}, "".concat(p.name.km, " / ").concat(p.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No provinces available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "district",
label: "\u179F\u17D2\u179A\u17BB\u1780/\u1781\u178E\u17D2\u178C / District/Khan",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select District",
onChange: handleDistrictChange
}, districts.length ? districts.map(function (d) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: d.id,
value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin)
}, "".concat(d.name.km, " / ").concat(d.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No districts available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "commune",
label: "\u1783\u17BB\u17C6/\u179F\u1784\u17D2\u1780\u17B6\u178F\u17CB / Commune/Sangkat",
rules: [{
required: true
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Commune",
onChange: handleCommuneChange
}, communes.length ? communes.map(function (c) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: c.id,
value: "".concat(c.id, ", ").concat(c.name.km, " / ").concat(c.name.latin)
}, "".concat(c.name.km, " / ").concat(c.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No communes available")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
xs: 24,
sm: 12,
md: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "village",
label: "\u1797\u17BC\u1798\u17B7 / Village"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "Select Village"
}, villages.length ? villages.map(function (v) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: v.id,
value: "".concat(v.name.km, " / ").concat(v.name.latin)
}, "".concat(v.name.km, " / ").concat(v.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
disabled: true
}, "No villages available"))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794 / Total Members",
name: "total_member",
rules: [{
required: true,
message: "Please enter total member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('member', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u1794\u17D2\u179A\u17BB\u179F / Male Members",
name: "member_male",
rules: [{
required: true,
message: "Please enter male member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('member', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u17D2\u179A\u17B8 / Female Members",
name: "member_female",
rules: [{
required: true,
message: "Please enter female member"
}]
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('member', 'female', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u179F\u17D2\u179A\u17D2\u178F\u17B8\u1798\u17B6\u1793\u1795\u17D2\u1791\u17C3\u1796\u17C4\u17C7 / Total Pregnant",
name: "total_pregnant"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u179F\u179A\u17BB\u1794 (< \u17E2\u1786\u17D2\u1793\u17B6\u17C6) / Total Babies (< 2 years)",
name: "total_baby"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('baby', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u1794\u17D2\u179A\u17BB\u179F / Baby Male",
name: "baby_male"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('baby', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1791\u17B6\u179A\u1780\u179F\u17D2\u179A\u17B8 / Baby Female",
name: "baby_female"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('baby', 'female', value);
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u179F\u179A\u17BB\u1794 (\u17E2-\u17E1\u17E3\u1786\u17D2\u1793\u17B6\u17C6) / Total Children (2-13 years)",
name: "total_child"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountTotalChange('child', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u1794\u17D2\u179A\u17BB\u179F / Child Male",
name: "child_male"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('child', 'male', value);
}
}))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17BB\u1798\u17B6\u179A\u17B8\u179F\u17D2\u179A\u17B8 / Child Female",
name: "child_female"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_3__["default"], {
min: 0,
style: {
width: "100%"
},
onChange: function onChange(value) {
return handleCountGenderChange('child', 'female', value);
}
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "is_disabled",
valuePropName: "checked",
initialValue: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1796\u17B7\u1780\u17B6\u179A\u1797\u17B6\u1796 / Disabled"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "is_old_age",
valuePropName: "checked",
initialValue: false
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_checkbox__WEBPACK_IMPORTED_MODULE_2__["default"], null, "\u1798\u17B6\u1793\u1798\u1793\u17BB\u179F\u17D2\u179F\u1785\u17B6\u179F\u17CB / Old Age (> \u17E6\u17E5)")))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_4__["default"], {
gutter: 16
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_5__["default"], {
span: 8
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
name: "transportation_id",
label: "\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Transportation"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_11__["default"], {
placeholder: "\u1787\u17D2\u179A\u17BE\u179F\u179A\u17BE\u179F\u1798\u1792\u17D2\u1799\u17C4\u1794\u17B6\u1799\u1792\u17D2\u179C\u17BE\u178A\u17C6\u178E\u17BE\u179A / Select transportation",
allowClear: true
}, transportations === null || transportations === void 0 || (_transportations$data = transportations.data) === null || _transportations$data === void 0 ? void 0 : _transportations$data.map(function (option) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(Option, {
key: option.id,
value: option.id
}, option.name);
}))))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, {
label: "\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6 / Notes",
name: "note"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"].TextArea, {
rows: 3,
placeholder: "\u1794\u1789\u17D2\u1785\u17BC\u179B\u1780\u17C6\u178E\u178F\u17CB\u1785\u17C6\u178E\u17B6\u17C6\u1794\u1793\u17D2\u1790\u17C2\u1798 / Enter additional notes"
})), !isViewMode && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_form__WEBPACK_IMPORTED_MODULE_10__["default"].Item, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), {
type: "primary",
htmlType: "submit",
loading: registerPending
}, "បញ្ជូន / Submit"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_12___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_1___default()), {
onClick: handleCancel
}, "\u1794\u17C4\u17C7\u1794\u1784\u17CB / Cancel")))));
};
var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilySurveyForm);
/***/ },
/***/ "./src/shared/views/family_survey/index.tsx"
/*!**************************************************!*\
!*** ./src/shared/views/family_survey/index.tsx ***!
\**************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var antd_es_modal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! antd/es/modal */ "../../../node_modules/antd/lib/modal/index.js");
/* harmony import */ var antd_es_table__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! antd/es/table */ "../../../node_modules/antd/lib/table/index.js");
/* harmony import */ var antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! antd/es/input-number */ "../../../node_modules/antd/lib/input-number/index.js");
/* harmony import */ var antd_es_col__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! antd/es/col */ "../../../node_modules/antd/lib/col/index.js");
/* harmony import */ var antd_es_select__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! antd/es/select */ "../../../node_modules/antd/lib/select/index.js");
/* harmony import */ var antd_es_row__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! antd/es/row */ "../../../node_modules/antd/lib/row/index.js");
/* harmony import */ var antd_es_input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! antd/es/input */ "../../../node_modules/antd/lib/input/index.js");
/* harmony import */ var antd_es_space__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! antd/es/space */ "../../../node_modules/antd/lib/space/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! antd/es/button */ "../../../node_modules/antd/lib/button/index.js");
/* harmony import */ var antd_es_button__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(antd_es_button__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var antd_es_form__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! antd/es/form */ "../../../node_modules/antd/lib/form/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! react-router-dom */ "../../../node_modules/react-router/dist/index.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/DeleteOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EditOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/EyeOutlined.js");
/* harmony import */ var _ant_design_icons__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @ant-design/icons */ "../../../node_modules/@ant-design/icons/es/icons/PlusOutlined.js");
/* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! react-redux */ "../../../node_modules/react-redux/dist/react-redux.mjs");
/* harmony import */ var _services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../../services/family_survey/core/actions */ "./src/services/family_survey/core/actions.ts");
/* harmony import */ var _FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./FamilySurveyForm */ "./src/shared/views/family_survey/FamilySurveyForm.tsx");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! sweetalert2 */ "../../../node_modules/sweetalert2/dist/sweetalert2.all.js");
/* harmony import */ var sweetalert2__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(sweetalert2__WEBPACK_IMPORTED_MODULE_19__);
function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
var FamilyApprovedList = function FamilyApprovedList(_ref) {
var status = _ref.status;
var dispatch = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useDispatch)();
var navigate = (0,react_router_dom__WEBPACK_IMPORTED_MODULE_11__.useNavigate)();
var _Form$useForm = antd_es_form__WEBPACK_IMPORTED_MODULE_9__["default"].useForm(),
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(1),
_useState2 = _slicedToArray(_useState, 2),
currentPage = _useState2[0],
setCurrentPage = _useState2[1];
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(20),
_useState4 = _slicedToArray(_useState3, 2),
pageSize = _useState4[0],
setPageSize = _useState4[1];
var _useSelector = (0,react_redux__WEBPACK_IMPORTED_MODULE_16__.useSelector)(function (state) {
return state.familiSurvey || {};
}),
families = _useSelector.families,
provinces = _useSelector.provinces,
districts = _useSelector.districts,
registerPending = _useSelector.registerPending;
var _useState5 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false),
_useState6 = _slicedToArray(_useState5, 2),
isModalVisible = _useState6[0],
setIsModalVisible = _useState6[1];
var _useState7 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState8 = _slicedToArray(_useState7, 2),
searchText = _useState8[0],
setSearchText = _useState8[1];
var _useState9 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(false),
_useState0 = _slicedToArray(_useState9, 2),
isViewMode = _useState0[0],
setIsViewMode = _useState0[1];
var _useState1 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState10 = _slicedToArray(_useState1, 2),
selectedRecord = _useState10[0],
setSelectedRecord = _useState10[1];
var _useState11 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState12 = _slicedToArray(_useState11, 2),
province = _useState12[0],
setProvince = _useState12[1];
var _useState13 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(""),
_useState14 = _slicedToArray(_useState13, 2),
district = _useState14[0],
setDistrict = _useState14[1];
var _useState15 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState16 = _slicedToArray(_useState15, 2),
totalMember = _useState16[0],
setTotalMember = _useState16[1];
var _useState17 = (0,react__WEBPACK_IMPORTED_MODULE_10__.useState)(null),
_useState18 = _slicedToArray(_useState17, 2),
age = _useState18[0],
setAge = _useState18[1];
// extract safely
var dataSource = (families === null || families === void 0 ? void 0 : families.data) || [];
var meta = (families === null || families === void 0 ? void 0 : families.meta) || {
total: 0,
page: 1,
pageSize: 20
};
(0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchProvince)());
}, [dispatch]);
// Fetch data with pagination
(0,react__WEBPACK_IMPORTED_MODULE_10__.useEffect)(function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
province: province,
district: district,
total_member: totalMember,
age: age,
page: currentPage,
pageSize: pageSize
}));
}, [dispatch, searchText, province, district, totalMember, age, currentPage, pageSize]);
var handleTableChange = function handleTableChange(pagination) {
setCurrentPage(pagination.current);
setPageSize(pagination.pageSize);
};
var handleSearch = function handleSearch() {
setCurrentPage(1); // Reset to first page when searching
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
page: 1,
pageSize: pageSize
}));
};
var handleProvinceChange = function handleProvinceChange(value) {
if (!value) return;
setProvince(value);
var _value$split = value.split(","),
_value$split2 = _slicedToArray(_value$split, 2),
provinceId = _value$split2[0],
provinceName = _value$split2[1];
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchDistrict)({
id: Number(provinceId.trim())
}));
};
var handleReset = function handleReset() {
setSearchText("");
setCurrentPage(1);
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: "",
page: 1,
pageSize: pageSize
}));
};
var handleView = function handleView(record) {
setSelectedRecord(record);
setIsModalVisible(true);
setIsViewMode(true);
form.setFieldsValue(record);
};
var handleEdit = function handleEdit(id) {
navigate("/family-survey/form?id=".concat(id));
};
var handleDelete = function handleDelete(id) {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'តើអ្នកប្រាកដទេ? / Are you sure?',
text: 'You won\'t be able to revert this!',
icon: 'warning',
showConfirmButton: false,
showCancelButton: false,
html: "\n
\n \n \n
\n ",
didOpen: function didOpen() {
var _Swal$getPopup, _Swal$getPopup2;
var confirmButton = (_Swal$getPopup = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup === void 0 ? void 0 : _Swal$getPopup.querySelector('#confirm-delete');
var cancelButton = (_Swal$getPopup2 = sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().getPopup()) === null || _Swal$getPopup2 === void 0 ? void 0 : _Swal$getPopup2.querySelector('#cancel-delete');
confirmButton === null || confirmButton === void 0 || confirmButton.addEventListener('click', function () {
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.deleteFamilyAction)(id)).unwrap().then(function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'បានលុប! / Deleted!',
text: 'The family has been deleted.',
icon: 'success'
});
dispatch((0,_services_family_survey_core_actions__WEBPACK_IMPORTED_MODULE_17__.fetchFamilySurvey)({
search: searchText,
page: currentPage,
pageSize: pageSize
}));
})["catch"](function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().fire({
title: 'Error!',
text: 'Failed to delete family.',
icon: 'error'
});
});
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close();
});
cancelButton === null || cancelButton === void 0 || cancelButton.addEventListener('click', function () {
sweetalert2__WEBPACK_IMPORTED_MODULE_19___default().close();
});
}
});
};
var columns = [{
title: "ល.រ",
key: "no",
width: 60,
render: function render(_, __, index) {
return (currentPage - 1) * pageSize + index + 1;
}
}, {
title: "ឈ្មោះគ្រួសារ",
dataIndex: "name",
key: "name",
width: 120,
ellipsis: true
}, {
title: "លេខទូរស័ព្ទ",
dataIndex: "phone",
key: "phone",
width: 120,
ellipsis: true
}, {
title: "អាសយដ្ឋាន",
key: "address",
width: 200,
render: function render(record) {
return "".concat(record.commune || '', ", ").concat(record.district || '', ", ").concat(record.province || '');
}
}, {
title: "អាយុ",
dataIndex: "age",
key: "age",
width: 60
}, {
title: "សមាជិកសរុប",
dataIndex: "total_member",
key: "total_member",
width: 105
}, {
title: "សមាជិកប្រុស",
dataIndex: "member_male",
key: "member_male",
width: 105
}, {
title: "សមាជិកស្រី",
dataIndex: "member_female",
key: "member_female",
width: 100
}, {
title: "ស្ត្រីមានផ្ទៃពោះ",
dataIndex: "total_pregnant",
key: "total_pregnant",
width: 115
}, {
title: "មានពិការភាព",
dataIndex: "is_disabled",
key: "is_disabled",
width: 105,
render: function render(value) {
return value ? "✓" : "✗";
}
}, {
title: "មានមនុស្សចាស់",
dataIndex: "is_old_age",
key: "is_old_age",
width: 118,
render: function render(value) {
return value ? "✓" : "✗";
}
}, {
title: "សកម្មភាព",
key: "action",
fixed: "right",
width: 150,
render: function render(_, record) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
size: "middle"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_14__["default"], null),
onClick: function onClick() {
return handleView(record);
},
title: "\u1798\u17BE\u179B / View"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
type: "primary",
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_13__["default"], null),
onClick: function onClick() {
return handleEdit(record.id);
},
title: "\u1780\u17C2\u1794\u17D2\u179A\u17C2 / Edit"
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
danger: true,
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_12__["default"], null),
onClick: function onClick() {
return handleDelete(record.id);
},
title: "\u179B\u17BB\u1794 / Delete"
}));
}
}];
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("div", {
style: {
padding: '10px',
background: '#f5f5f5',
marginBottom: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], {
gutter: [16, 16],
justify: "space-between",
align: "middle",
style: {
margin: '10px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u179A\u17BB\u1794 / Total: ", (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) || 0), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input__WEBPACK_IMPORTED_MODULE_6__["default"], {
placeholder: "\u179F\u17D2\u179C\u17C2\u1784\u179A\u1780 / Search...",
style: {
width: 200
},
value: searchText,
onChange: function onChange(e) {
return setSearchText(e.target.value);
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleSearch,
type: "primary"
}, "\u1785\u1798\u17D2\u179A\u17C4\u17C7 / Filter"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
onClick: handleReset
}, "\u1780\u17C6\u178E\u178F\u17CB\u17A1\u17BE\u1784\u179C\u17B7\u1789 / Reset")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_space__WEBPACK_IMPORTED_MODULE_7__["default"], {
wrap: true
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement((antd_es_button__WEBPACK_IMPORTED_MODULE_8___default()), {
icon: /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_ant_design_icons__WEBPACK_IMPORTED_MODULE_15__["default"], null),
type: "primary",
onClick: function onClick() {
return navigate("/family-survey/form");
}
}, "\u1794\u1793\u17D2\u1790\u17C2\u1798\u1790\u17D2\u1798\u17B8 / Add New"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_row__WEBPACK_IMPORTED_MODULE_5__["default"], {
gutter: [16, 16],
style: {
margin: '5px'
}
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u1781\u17C1\u178F\u17D2\u178F\u200B \u17AC \u1780\u17D2\u179A\u17BB\u1784"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a Province or City",
onChange: handleProvinceChange,
showSearch: true
}, Array.isArray(provinces) && provinces.length > 0 ? provinces.filter(function (p) {
return ALLOWED_PROVINCE_IDS.includes(p.id.toString().padStart(2, '0'));
}).map(function (province) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, {
key: province.id,
value: "".concat(province.id, ", ").concat(province.name.km, " / ").concat(province.name.latin)
}, "".concat(province.name.km, " / ").concat(province.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"].Option, {
disabled: true
}, "No provinces available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u17D2\u179A\u17BB\u1780 \u17AC\u200B \u1781\u178E\u17D2\u178C"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_select__WEBPACK_IMPORTED_MODULE_4__["default"], {
style: {
width: '100%'
},
allowClear: true,
placeholder: "Select a District or Khan",
onChange: function onChange(value) {
return setDistrict(value);
},
showSearch: true
}, districts.length ? districts.map(function (d) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, {
key: d.id,
value: "".concat(d.id, ", ").concat(d.name.km, " / ").concat(d.name.latin)
}, "".concat(d.name.km, " / ").concat(d.name.latin));
}) : /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(Option, {
disabled: true
}, "No districts available"))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u179F\u1798\u17B6\u1787\u17B7\u1780\u179F\u179A\u17BB\u1794"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], {
style: {
width: '100%'
},
placeholder: "Total member",
min: 0,
value: totalMember,
onChange: setTotalMember
})), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_col__WEBPACK_IMPORTED_MODULE_3__["default"], {
xs: 24,
sm: 12,
md: 8,
lg: 6
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement("span", null, "\u17A2\u17B6\u1799\u17BB"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_input_number__WEBPACK_IMPORTED_MODULE_2__["default"], {
style: {
width: '100%'
},
placeholder: "Age",
min: 0,
value: age,
onChange: setAge
})))), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_table__WEBPACK_IMPORTED_MODULE_1__["default"], {
dataSource: dataSource,
columns: columns,
loading: registerPending,
rowKey: "id",
scroll: {
x: 1200
},
pagination: {
current: currentPage,
pageSize: pageSize,
total: meta.total,
showSizeChanger: true,
showTotal: function showTotal(total, range) {
return "".concat(range[0], "-").concat(range[1], " of ").concat(total, " items");
}
},
onChange: handleTableChange
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(antd_es_modal__WEBPACK_IMPORTED_MODULE_0__["default"], {
title: "មើលព័ត៌មានគ្រួសារ / View Family Details",
open: isModalVisible,
onCancel: function onCancel() {
setIsModalVisible(false);
setIsViewMode(false);
setSelectedRecord(null);
form.resetFields();
},
footer: null,
width: 900
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_10___default().createElement(_FamilySurveyForm__WEBPACK_IMPORTED_MODULE_18__["default"], {
isViewMode: isViewMode,
initialValues: selectedRecord
})));
};
var ALLOWED_PROVINCE_IDS = ['22', '01', '15', '13']; // Kompong Speu, Banteay Mean Chey, Pursat, Preah Vihear
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (FamilyApprovedList);
/***/ },
/***/ "./src/shared/views/login/attendance_qr.tsx"
/*!**************************************************!*\
!*** ./src/shared/views/login/attendance_qr.tsx ***!
\**************************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/qrcode */ "./src/services/authentication/login/pages/qrcode.tsx");
var AttendanceQR = function AttendanceQR() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_qrcode__WEBPACK_IMPORTED_MODULE_1__["default"], null);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (AttendanceQR);
/***/ },
/***/ "./src/shared/views/login/auth.tsx"
/*!*****************************************!*\
!*** ./src/shared/views/login/auth.tsx ***!
\*****************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx");
var Auth = function Auth() {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Auth);
/***/ },
/***/ "./src/shared/views/login/login.tsx"
/*!******************************************!*\
!*** ./src/shared/views/login/login.tsx ***!
\******************************************/
(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "../../../node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../services/authentication/login/pages/login */ "./src/services/authentication/login/pages/login.tsx");
var Login = function Login() {
return (
/*#__PURE__*/
//
react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_services_authentication_login_pages_login__WEBPACK_IMPORTED_MODULE_1__["default"], null)
);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (Login);
/***/ },
/***/ "./src/shared/assets/fonts/Bayon-Regular.ttf"
/*!***************************************************!*\
!*** ./src/shared/assets/fonts/Bayon-Regular.ttf ***!
\***************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/Bayon-Regular.ttf";
/***/ },
/***/ "./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf"
/*!*******************************************************************!*\
!*** ./src/shared/assets/fonts/Roboto-VariableFont_wdth,wght.ttf ***!
\*******************************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/Roboto-VariableFont_wdth,wght.ttf";
/***/ },
/***/ "./src/shared/assets/fonts/Siemreap-Regular.ttf"
/*!******************************************************!*\
!*** ./src/shared/assets/fonts/Siemreap-Regular.ttf ***!
\******************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/Siemreap-Regular.ttf";
/***/ },
/***/ "./src/shared/assets/images/idcard.png"
/*!*********************************************!*\
!*** ./src/shared/assets/images/idcard.png ***!
\*********************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/idcard.png";
/***/ },
/***/ "./src/shared/assets/images/passport.png"
/*!***********************************************!*\
!*** ./src/shared/assets/images/passport.png ***!
\***********************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/passport.png";
/***/ },
/***/ "./src/shared/assets/images/passport2.png"
/*!************************************************!*\
!*** ./src/shared/assets/images/passport2.png ***!
\************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/passport2.png";
/***/ },
/***/ "./src/shared/assets/images/profile-blue.png"
/*!***************************************************!*\
!*** ./src/shared/assets/images/profile-blue.png ***!
\***************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/profile-blue.png";
/***/ },
/***/ "./src/shared/assets/images/profile-picture-white.png"
/*!************************************************************!*\
!*** ./src/shared/assets/images/profile-picture-white.png ***!
\************************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/profile-picture-white.png";
/***/ },
/***/ "./src/shared/assets/images/profile.png"
/*!**********************************************!*\
!*** ./src/shared/assets/images/profile.png ***!
\**********************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/profile.png";
/***/ },
/***/ "./src/shared/assets/images/team.png"
/*!*******************************************!*\
!*** ./src/shared/assets/images/team.png ***!
\*******************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/team.png";
/***/ },
/***/ "./src/shared/assets/logos/NationalUniversityGames2026.png"
/*!*****************************************************************!*\
!*** ./src/shared/assets/logos/NationalUniversityGames2026.png ***!
\*****************************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/NationalUniversityGames2026.png";
/***/ },
/***/ "./src/shared/assets/logos/Primary-School-Games-Logo-Official.webp"
/*!*************************************************************************!*\
!*** ./src/shared/assets/logos/Primary-School-Games-Logo-Official.webp ***!
\*************************************************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/Primary-School-Games-Logo-Official.webp";
/***/ },
/***/ "./src/shared/assets/logos/logo.png"
/*!******************************************!*\
!*** ./src/shared/assets/logos/logo.png ***!
\******************************************/
(module, __unused_webpack_exports, __webpack_require__) {
module.exports = __webpack_require__.p + "assets/images/logo.png";
/***/ }
}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianMvbWFpbi1zcmNfc2hhcmVkX2Eudm9sdW50ZWVyYXBpLmQwYjlhYjI3MmZmYWI5NTA3MmE4LmJ1bmRsZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBMEI7QUFHMUIsSUFBUUMsTUFBTSxHQUFBQyxzREFBQSxDQUFORCxNQUFNO0FBRWQsSUFBTUUsZUFBeUIsR0FBRyxTQUE1QkEsZUFBeUJBLENBQUE7RUFBQSxvQkFDN0JILDBEQUFBLENBQUNDLE1BQU07SUFDTEksS0FBSyxFQUFFO01BQUVDLFVBQVUsRUFBRSxTQUFTO01BQUVDLE9BQU8sRUFBRSxNQUFNO01BQUVDLFNBQVMsRUFBRTtJQUFTO0VBQUUsZ0JBRXZFUiwwREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRTtFQUFFLGdCQUNwQlYsMERBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwwREFBQSxhQUFJLFVBQVksQ0FBQyxlQUNqQkEsMERBQUEsWUFBRywwQ0FBMkMsQ0FDM0MsQ0FBQyxlQUNOQSwwREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDBEQUFBLGFBQUksU0FBVyxDQUFDLGVBQ2hCQSwwREFBQSxZQUFHLDBCQUEyQixDQUFDLGVBQy9CQSwwREFBQSxZQUFHLDBCQUEyQixDQUMzQixDQUFDLGVBQ05BLDBEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMERBQUEsYUFBSSxXQUFhLENBQUMsZUFDbEJBLDBEQUFBLHlCQUNFQSwwREFBQTtJQUFHZSxJQUFJLEVBQUMsRUFBRTtJQUFDQyxNQUFNLEVBQUMsUUFBUTtJQUFDQyxHQUFHLEVBQUM7RUFBRyxHQUFDLEdBRWhDLENBQ0YsQ0FDQSxDQUNGLENBQUMsZUFDTmpCLDBEQUFBO0lBQUtLLEtBQUssRUFBRTtNQUFFYSxTQUFTLEVBQUU7SUFBTztFQUFFLEdBQUMsT0FBRSxFQUFDLElBQUlDLElBQUksQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsSUFBTyxDQUNoRSxDQUFDO0FBQUEsQ0FDVjtBQUVELGlFQUFlakIsZUFBZSxFOzs7Ozs7Ozs7Ozs7OztBQ2hDOUIsaUVBQWU7RUFDYjtFQUNBa0IsR0FBRyxFQUFFLGFBQWE7RUFDbEI7RUFDQUMsU0FBUyxFQUFFLEVBQUU7RUFDYkMsT0FBTyxFQUFFQyxxQ0FBb0I7RUFDN0JFLFVBQVUsRUFBRUYsdzdNQUFXLENBQUNHLFNBQVM7RUFDakNDLFVBQVUsRUFBRUosdzdNQUFXLENBQUNLLGFBQWE7RUFDckNDLGdCQUFnQixFQUFFTix3N01BQVcsQ0FBQ08sWUFBWTtFQUMxQ0MsaUJBQWlCLEVBQUVSLHc3TUFBVyxDQUFDUSxpQkFBaUI7RUFDaERDLHFCQUFxQixFQUFFVCx3N01BQVcsQ0FBQ1MscUJBQXFCO0VBQ3hEQyxtQkFBbUIsRUFBRVYsdzdNQUFXLENBQUNVLG1CQUFtQjtFQUNwREMsU0FBUyxFQUFFWCx3N01BQVcsQ0FBQ1csU0FBUztFQUNoQ0MsdUJBQXVCLEVBQUUsQ0FDekIsQ0FBQztFQUNEQyxLQUFLLEVBQUUsRUFBRTtFQUNUQyxZQUFZLEVBQUUsS0FBSztFQUNuQkMsY0FBYyxFQUFFO0lBQ2RDLG9CQUFvQixFQUFFLHNCQUFzQjtJQUM1Q0MsZ0JBQWdCLEVBQUUsa0JBQWtCO0lBQ3BDQyxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDQyxnQkFBZ0IsRUFBRSxrQkFBa0I7SUFDcENDLG1CQUFtQixFQUFFLHFCQUFxQjtJQUMxQ0MsZ0JBQWdCLEVBQUU7RUFDcEIsQ0FBQztFQUNEQyxtQkFBbUIsRUFBRSwwQkFBMEI7RUFDL0NDLFVBQVUsRUFBRTtJQUNWQyxHQUFHLEVBQUUsZ0JBQWdCO0lBQ3JCQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCQyxlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDQyxjQUFjLEVBQ1osZ0JBQWdCO0lBQ2xCQyxhQUFhLEVBQ1g7RUFFSjtBQUNGLENBQUMsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDbkNNLElBQU1DLFdBQVcsR0FBRyxhQUFhO0FBQ2pDLElBQU1DLFVBQVUsR0FBRyxZQUFZO0FBQy9CLElBQU1DLFlBQVksR0FBRyxjQUFjO0FBQ25DLElBQU1DLEdBQUcsR0FBRztFQUNqQkMsS0FBSyxFQUFFLGFBQWE7RUFDcEJDLGNBQWMsRUFBRSxhQUFhO0VBQzdCQyxVQUFVLEVBQUUsZUFBZTtFQUMzQkMsTUFBTSxFQUFFLGVBQWU7RUFDdkJDLGVBQWUsRUFBRSxtQkFBbUI7RUFDcENDLFFBQVEsRUFBRSxZQUFZO0VBQ3RCQyxVQUFVLEVBQUUsY0FBYztFQUMxQkMscUJBQXFCLEVBQUUseUJBQXlCO0VBQ2hEQyxLQUFLLEVBQUUsUUFBUTtFQUNmQyxJQUFJLEVBQUUsUUFBUTtFQUNkQyxRQUFRLEVBQUUsV0FBVztFQUNyQkMsZUFBZSxFQUFFLGtCQUFrQjtFQUNuQ0MsSUFBSSxFQUFFLG1CQUFtQjtFQUN6QkMsS0FBSyxFQUFFLG1CQUFtQjtFQUMxQkMsTUFBTSxFQUFFLHNCQUFzQjtFQUM5QkMsZ0JBQWdCLEVBQUUsb0JBQW9CO0VBQ3RDQyxRQUFRLEVBQUUsWUFBWTtFQUN0QkMsS0FBSyxFQUFFLFNBQVM7RUFDaEJDLGVBQWUsRUFBRSxtQkFBbUI7RUFDcENDLGVBQWUsRUFBRSxtQkFBbUI7RUFDcENDLFVBQVUsRUFBRSxhQUFhO0VBQ3pCQyxTQUFTLEVBQUUsWUFBWTtFQUN2QkMsYUFBYSxFQUFFLGlCQUFpQjtFQUNoQ0MsVUFBVSxFQUFFLGNBQWM7RUFDMUJDLElBQUksRUFBRSxRQUFRO0VBQ2RDLE1BQU0sRUFBRSxTQUFTO0VBQ2pCQyxNQUFNLEVBQUUsc0JBQXNCO0VBQzlCQyxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DQyxlQUFlLEVBQUU7QUFDbkIsQ0FBQztBQUVNLElBQU1DLGFBQWEsR0FBRztFQUMzQkMsR0FBRyxFQUFFLEtBQUs7RUFDVkMsR0FBRyxFQUFFO0FBQ1AsQ0FBQyxDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ3hDeUI7QUFBQSxJQU9wQkMsYUFBYSwwQkFBQUMsZ0JBQUE7RUFBQSxTQUFBRCxjQUFBO0lBQUFFLGVBQUEsT0FBQUYsYUFBQTtJQUFBLE9BQUFHLFVBQUEsT0FBQUgsYUFBQSxFQUFBSSxTQUFBO0VBQUE7RUFBQUMsU0FBQSxDQUFBTCxhQUFBLEVBQUFDLGdCQUFBO0VBQUEsT0FBQUssWUFBQSxDQUFBTixhQUFBO0lBQUFPLEdBQUE7SUFBQUMsS0FBQSxFQUNqQixTQUFBQyxNQUFNQSxDQUFBLEVBQW9CO01BQ3hCLElBQVFDLE9BQU8sR0FBSyxJQUFJLENBQUNDLEtBQUssQ0FBdEJELE9BQU87TUFFZixvQkFDRXBHLDBEQUFBLENBQUFzRyxxREFBQTtRQUNFQyxLQUFLLEVBQUUsR0FBSTtRQUNYSCxPQUFPLEVBQUVBLE9BQVE7UUFDakJJLFFBQVE7UUFDUkMsTUFBTSxFQUFFLElBQUs7UUFDYkMsUUFBUSxFQUFFO01BQU0sZ0JBRWhCMUcsMERBQUE7UUFDRUssS0FBSyxFQUFFO1VBQ0xzRyxPQUFPLEVBQUUsTUFBTTtVQUNmQyxhQUFhLEVBQUUsUUFBUTtVQUN2QkMsY0FBYyxFQUFFLFFBQVE7VUFDeEJDLFVBQVUsRUFBRSxRQUFRO1VBQ3BCNUYsU0FBUyxFQUFFO1FBQ2I7TUFBRSxnQkFFRmxCLDBEQUFBLENBQUErRyxvREFBQTtRQUFNQyxJQUFJLEVBQUM7TUFBTyxDQUFFLENBQUMsZUFDckJoSCwwREFBQTtRQUFHSyxLQUFLLEVBQUU7VUFBRUcsU0FBUyxFQUFFLFFBQVE7VUFBRVUsU0FBUyxFQUFFO1FBQU87TUFBRSxHQUFDLFlBQWEsQ0FDaEUsQ0FDQSxDQUFDO0lBRVo7RUFBQztBQUFBLEVBMUJ5QmxCLHdEQUFlO0FBNkIzQyxpRUFBZTBGLGFBQWEsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJDbkM1Qix1S0FBQXdCLENBQUEsRUFBQUMsQ0FBQSxFQUFBQyxDQUFBLHdCQUFBQyxNQUFBLEdBQUFBLE1BQUEsT0FBQUMsQ0FBQSxHQUFBRixDQUFBLENBQUFHLFFBQUEsa0JBQUFDLENBQUEsR0FBQUosQ0FBQSxDQUFBSyxXQUFBLDhCQUFBQyxFQUFBTixDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFDLENBQUEsR0FBQUwsQ0FBQSxJQUFBQSxDQUFBLENBQUFNLFNBQUEsWUFBQUMsU0FBQSxHQUFBUCxDQUFBLEdBQUFPLFNBQUEsRUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLE1BQUEsQ0FBQUwsQ0FBQSxDQUFBQyxTQUFBLFVBQUFLLG1CQUFBLENBQUFILENBQUEsdUJBQUFWLENBQUEsRUFBQUUsQ0FBQSxFQUFBRSxDQUFBLFFBQUFFLENBQUEsRUFBQUMsQ0FBQSxFQUFBRyxDQUFBLEVBQUFJLENBQUEsTUFBQUMsQ0FBQSxHQUFBWCxDQUFBLFFBQUFZLENBQUEsT0FBQUMsQ0FBQSxLQUFBRixDQUFBLEtBQUFiLENBQUEsS0FBQWdCLENBQUEsRUFBQXBCLENBQUEsRUFBQXFCLENBQUEsRUFBQUMsQ0FBQSxFQUFBTixDQUFBLEVBQUFNLENBQUEsQ0FBQUMsSUFBQSxDQUFBdkIsQ0FBQSxNQUFBc0IsQ0FBQSxXQUFBQSxFQUFBckIsQ0FBQSxFQUFBQyxDQUFBLFdBQUFNLENBQUEsR0FBQVAsQ0FBQSxFQUFBUSxDQUFBLE1BQUFHLENBQUEsR0FBQVosQ0FBQSxFQUFBbUIsQ0FBQSxDQUFBZixDQUFBLEdBQUFGLENBQUEsRUFBQW1CLENBQUEsZ0JBQUFDLEVBQUFwQixDQUFBLEVBQUFFLENBQUEsU0FBQUssQ0FBQSxHQUFBUCxDQUFBLEVBQUFVLENBQUEsR0FBQVIsQ0FBQSxFQUFBSCxDQUFBLE9BQUFpQixDQUFBLElBQUFGLENBQUEsS0FBQVYsQ0FBQSxJQUFBTCxDQUFBLEdBQUFnQixDQUFBLENBQUFPLE1BQUEsRUFBQXZCLENBQUEsVUFBQUssQ0FBQSxFQUFBRSxDQUFBLEdBQUFTLENBQUEsQ0FBQWhCLENBQUEsR0FBQXFCLENBQUEsR0FBQUgsQ0FBQSxDQUFBRixDQUFBLEVBQUFRLENBQUEsR0FBQWpCLENBQUEsS0FBQU4sQ0FBQSxRQUFBSSxDQUFBLEdBQUFtQixDQUFBLEtBQUFyQixDQUFBLE1BQUFRLENBQUEsR0FBQUosQ0FBQSxFQUFBQyxDQUFBLEdBQUFELENBQUEsWUFBQUMsQ0FBQSxXQUFBRCxDQUFBLE1BQUFBLENBQUEsTUFBQVIsQ0FBQSxJQUFBUSxDQUFBLE9BQUFjLENBQUEsTUFBQWhCLENBQUEsR0FBQUosQ0FBQSxRQUFBb0IsQ0FBQSxHQUFBZCxDQUFBLFFBQUFDLENBQUEsTUFBQVUsQ0FBQSxDQUFBQyxDQUFBLEdBQUFoQixDQUFBLEVBQUFlLENBQUEsQ0FBQWYsQ0FBQSxHQUFBSSxDQUFBLE9BQUFjLENBQUEsR0FBQUcsQ0FBQSxLQUFBbkIsQ0FBQSxHQUFBSixDQUFBLFFBQUFNLENBQUEsTUFBQUosQ0FBQSxJQUFBQSxDQUFBLEdBQUFxQixDQUFBLE1BQUFqQixDQUFBLE1BQUFOLENBQUEsRUFBQU0sQ0FBQSxNQUFBSixDQUFBLEVBQUFlLENBQUEsQ0FBQWYsQ0FBQSxHQUFBcUIsQ0FBQSxFQUFBaEIsQ0FBQSxjQUFBSCxDQUFBLElBQUFKLENBQUEsYUFBQW1CLENBQUEsUUFBQUgsQ0FBQSxPQUFBZCxDQUFBLHFCQUFBRSxDQUFBLEVBQUFXLENBQUEsRUFBQVEsQ0FBQSxRQUFBVCxDQUFBLFlBQUFVLFNBQUEsdUNBQUFSLENBQUEsVUFBQUQsQ0FBQSxJQUFBSyxDQUFBLENBQUFMLENBQUEsRUFBQVEsQ0FBQSxHQUFBaEIsQ0FBQSxHQUFBUSxDQUFBLEVBQUFMLENBQUEsR0FBQWEsQ0FBQSxHQUFBeEIsQ0FBQSxHQUFBUSxDQUFBLE9BQUFULENBQUEsR0FBQVksQ0FBQSxNQUFBTSxDQUFBLEtBQUFWLENBQUEsS0FBQUMsQ0FBQSxHQUFBQSxDQUFBLFFBQUFBLENBQUEsU0FBQVUsQ0FBQSxDQUFBZixDQUFBLFFBQUFrQixDQUFBLENBQUFiLENBQUEsRUFBQUcsQ0FBQSxLQUFBTyxDQUFBLENBQUFmLENBQUEsR0FBQVEsQ0FBQSxHQUFBTyxDQUFBLENBQUFDLENBQUEsR0FBQVIsQ0FBQSxhQUFBSSxDQUFBLE1BQUFSLENBQUEsUUFBQUMsQ0FBQSxLQUFBSCxDQUFBLFlBQUFMLENBQUEsR0FBQU8sQ0FBQSxDQUFBRixDQUFBLFdBQUFMLENBQUEsR0FBQUEsQ0FBQSxDQUFBMEIsSUFBQSxDQUFBbkIsQ0FBQSxFQUFBSSxDQUFBLFVBQUFjLFNBQUEsMkNBQUF6QixDQUFBLENBQUEyQixJQUFBLFNBQUEzQixDQUFBLEVBQUFXLENBQUEsR0FBQVgsQ0FBQSxDQUFBakIsS0FBQSxFQUFBeUIsQ0FBQSxTQUFBQSxDQUFBLG9CQUFBQSxDQUFBLEtBQUFSLENBQUEsR0FBQU8sQ0FBQSxlQUFBUCxDQUFBLENBQUEwQixJQUFBLENBQUFuQixDQUFBLEdBQUFDLENBQUEsU0FBQUcsQ0FBQSxHQUFBYyxTQUFBLHVDQUFBcEIsQ0FBQSxnQkFBQUcsQ0FBQSxPQUFBRCxDQUFBLEdBQUFSLENBQUEsY0FBQUMsQ0FBQSxJQUFBaUIsQ0FBQSxHQUFBQyxDQUFBLENBQUFmLENBQUEsUUFBQVEsQ0FBQSxHQUFBVixDQUFBLENBQUF5QixJQUFBLENBQUF2QixDQUFBLEVBQUFlLENBQUEsT0FBQUUsQ0FBQSxrQkFBQXBCLENBQUEsSUFBQU8sQ0FBQSxHQUFBUixDQUFBLEVBQUFTLENBQUEsTUFBQUcsQ0FBQSxHQUFBWCxDQUFBLGNBQUFlLENBQUEsbUJBQUFoQyxLQUFBLEVBQUFpQixDQUFBLEVBQUEyQixJQUFBLEVBQUFWLENBQUEsU0FBQWhCLENBQUEsRUFBQUksQ0FBQSxFQUFBRSxDQUFBLFFBQUFJLENBQUEsUUFBQVMsQ0FBQSxnQkFBQVYsVUFBQSxjQUFBa0Isa0JBQUEsY0FBQUMsMkJBQUEsS0FBQTdCLENBQUEsR0FBQVksTUFBQSxDQUFBa0IsY0FBQSxNQUFBdEIsQ0FBQSxNQUFBTCxDQUFBLElBQUFILENBQUEsQ0FBQUEsQ0FBQSxJQUFBRyxDQUFBLFNBQUFXLG1CQUFBLENBQUFkLENBQUEsT0FBQUcsQ0FBQSxpQ0FBQUgsQ0FBQSxHQUFBVyxDQUFBLEdBQUFrQiwwQkFBQSxDQUFBcEIsU0FBQSxHQUFBQyxTQUFBLENBQUFELFNBQUEsR0FBQUcsTUFBQSxDQUFBQyxNQUFBLENBQUFMLENBQUEsWUFBQU8sRUFBQWhCLENBQUEsV0FBQWEsTUFBQSxDQUFBbUIsY0FBQSxHQUFBbkIsTUFBQSxDQUFBbUIsY0FBQSxDQUFBaEMsQ0FBQSxFQUFBOEIsMEJBQUEsS0FBQTlCLENBQUEsQ0FBQWlDLFNBQUEsR0FBQUgsMEJBQUEsRUFBQWYsbUJBQUEsQ0FBQWYsQ0FBQSxFQUFBTSxDQUFBLHlCQUFBTixDQUFBLENBQUFVLFNBQUEsR0FBQUcsTUFBQSxDQUFBQyxNQUFBLENBQUFGLENBQUEsR0FBQVosQ0FBQSxXQUFBNkIsaUJBQUEsQ0FBQW5CLFNBQUEsR0FBQW9CLDBCQUFBLEVBQUFmLG1CQUFBLENBQUFILENBQUEsaUJBQUFrQiwwQkFBQSxHQUFBZixtQkFBQSxDQUFBZSwwQkFBQSxpQkFBQUQsaUJBQUEsR0FBQUEsaUJBQUEsQ0FBQUssV0FBQSx3QkFBQW5CLG1CQUFBLENBQUFlLDBCQUFBLEVBQUF4QixDQUFBLHdCQUFBUyxtQkFBQSxDQUFBSCxDQUFBLEdBQUFHLG1CQUFBLENBQUFILENBQUEsRUFBQU4sQ0FBQSxnQkFBQVMsbUJBQUEsQ0FBQUgsQ0FBQSxFQUFBUixDQUFBLGlDQUFBVyxtQkFBQSxDQUFBSCxDQUFBLDhEQUFBdUIsWUFBQSxZQUFBQSxhQUFBLGFBQUFDLENBQUEsRUFBQTVCLENBQUEsRUFBQTZCLENBQUEsRUFBQXJCLENBQUE7QUFBQSxTQUFBRCxvQkFBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQSxRQUFBTyxDQUFBLEdBQUFLLE1BQUEsQ0FBQXlCLGNBQUEsUUFBQTlCLENBQUEsdUJBQUFSLENBQUEsSUFBQVEsQ0FBQSxRQUFBTyxtQkFBQSxZQUFBd0IsbUJBQUF2QyxDQUFBLEVBQUFFLENBQUEsRUFBQUUsQ0FBQSxFQUFBSCxDQUFBLGFBQUFLLEVBQUFKLENBQUEsRUFBQUUsQ0FBQSxJQUFBVyxtQkFBQSxDQUFBZixDQUFBLEVBQUFFLENBQUEsWUFBQUYsQ0FBQSxnQkFBQXdDLE9BQUEsQ0FBQXRDLENBQUEsRUFBQUUsQ0FBQSxFQUFBSixDQUFBLFNBQUFFLENBQUEsR0FBQU0sQ0FBQSxHQUFBQSxDQUFBLENBQUFSLENBQUEsRUFBQUUsQ0FBQSxJQUFBbEIsS0FBQSxFQUFBb0IsQ0FBQSxFQUFBcUMsVUFBQSxHQUFBeEMsQ0FBQSxFQUFBeUMsWUFBQSxHQUFBekMsQ0FBQSxFQUFBMEMsUUFBQSxHQUFBMUMsQ0FBQSxNQUFBRCxDQUFBLENBQUFFLENBQUEsSUFBQUUsQ0FBQSxJQUFBRSxDQUFBLGFBQUFBLENBQUEsY0FBQUEsQ0FBQSxtQkFBQVMsbUJBQUEsQ0FBQWYsQ0FBQSxFQUFBRSxDQUFBLEVBQUFFLENBQUEsRUFBQUgsQ0FBQTtBQUFBLFNBQUEyQyxlQUFBMUMsQ0FBQSxFQUFBRixDQUFBLFdBQUE2QyxlQUFBLENBQUEzQyxDQUFBLEtBQUE0QyxxQkFBQSxDQUFBNUMsQ0FBQSxFQUFBRixDQUFBLEtBQUErQywyQkFBQSxDQUFBN0MsQ0FBQSxFQUFBRixDQUFBLEtBQUFnRCxnQkFBQTtBQUFBLFNBQUFBLGlCQUFBLGNBQUF0QixTQUFBO0FBQUEsU0FBQXFCLDRCQUFBN0MsQ0FBQSxFQUFBbUIsQ0FBQSxRQUFBbkIsQ0FBQSwyQkFBQUEsQ0FBQSxTQUFBK0MsaUJBQUEsQ0FBQS9DLENBQUEsRUFBQW1CLENBQUEsT0FBQXBCLENBQUEsTUFBQWlELFFBQUEsQ0FBQXZCLElBQUEsQ0FBQXpCLENBQUEsRUFBQWlELEtBQUEsNkJBQUFsRCxDQUFBLElBQUFDLENBQUEsQ0FBQWtELFdBQUEsS0FBQW5ELENBQUEsR0FBQUMsQ0FBQSxDQUFBa0QsV0FBQSxDQUFBQyxJQUFBLGFBQUFwRCxDQUFBLGNBQUFBLENBQUEsR0FBQXFELEtBQUEsQ0FBQUMsSUFBQSxDQUFBckQsQ0FBQSxvQkFBQUQsQ0FBQSwrQ0FBQXVELElBQUEsQ0FBQXZELENBQUEsSUFBQWdELGlCQUFBLENBQUEvQyxDQUFBLEVBQUFtQixDQUFBO0FBQUEsU0FBQTRCLGtCQUFBL0MsQ0FBQSxFQUFBbUIsQ0FBQSxhQUFBQSxDQUFBLElBQUFBLENBQUEsR0FBQW5CLENBQUEsQ0FBQXNCLE1BQUEsTUFBQUgsQ0FBQSxHQUFBbkIsQ0FBQSxDQUFBc0IsTUFBQSxZQUFBeEIsQ0FBQSxNQUFBSSxDQUFBLEdBQUFrRCxLQUFBLENBQUFqQyxDQUFBLEdBQUFyQixDQUFBLEdBQUFxQixDQUFBLEVBQUFyQixDQUFBLElBQUFJLENBQUEsQ0FBQUosQ0FBQSxJQUFBRSxDQUFBLENBQUFGLENBQUEsVUFBQUksQ0FBQTtBQUFBLFNBQUEwQyxzQkFBQTVDLENBQUEsRUFBQXVCLENBQUEsUUFBQXhCLENBQUEsV0FBQUMsQ0FBQSxnQ0FBQUMsTUFBQSxJQUFBRCxDQUFBLENBQUFDLE1BQUEsQ0FBQUUsUUFBQSxLQUFBSCxDQUFBLDRCQUFBRCxDQUFBLFFBQUFELENBQUEsRUFBQUksQ0FBQSxFQUFBSSxDQUFBLEVBQUFJLENBQUEsRUFBQVMsQ0FBQSxPQUFBTCxDQUFBLE9BQUFWLENBQUEsaUJBQUFFLENBQUEsSUFBQVAsQ0FBQSxHQUFBQSxDQUFBLENBQUEwQixJQUFBLENBQUF6QixDQUFBLEdBQUF1RCxJQUFBLFFBQUFoQyxDQUFBLFFBQUFaLE1BQUEsQ0FBQVosQ0FBQSxNQUFBQSxDQUFBLFVBQUFlLENBQUEsdUJBQUFBLENBQUEsSUFBQWhCLENBQUEsR0FBQVEsQ0FBQSxDQUFBbUIsSUFBQSxDQUFBMUIsQ0FBQSxHQUFBMkIsSUFBQSxNQUFBUCxDQUFBLENBQUFxQyxJQUFBLENBQUExRCxDQUFBLENBQUFoQixLQUFBLEdBQUFxQyxDQUFBLENBQUFHLE1BQUEsS0FBQUMsQ0FBQSxHQUFBVCxDQUFBLGlCQUFBZCxDQUFBLElBQUFJLENBQUEsT0FBQUYsQ0FBQSxHQUFBRixDQUFBLHlCQUFBYyxDQUFBLFlBQUFmLENBQUEsZUFBQVcsQ0FBQSxHQUFBWCxDQUFBLGNBQUFZLE1BQUEsQ0FBQUQsQ0FBQSxNQUFBQSxDQUFBLDJCQUFBTixDQUFBLFFBQUFGLENBQUEsYUFBQWlCLENBQUE7QUFBQSxTQUFBd0IsZ0JBQUEzQyxDQUFBLFFBQUFvRCxLQUFBLENBQUFLLE9BQUEsQ0FBQXpELENBQUEsVUFBQUEsQ0FBQTtBQUFBLFNBQUEwRCxtQkFBQXhELENBQUEsRUFBQUgsQ0FBQSxFQUFBRCxDQUFBLEVBQUFFLENBQUEsRUFBQUksQ0FBQSxFQUFBZSxDQUFBLEVBQUFaLENBQUEsY0FBQUQsQ0FBQSxHQUFBSixDQUFBLENBQUFpQixDQUFBLEVBQUFaLENBQUEsR0FBQUcsQ0FBQSxHQUFBSixDQUFBLENBQUF4QixLQUFBLFdBQUFvQixDQUFBLGdCQUFBSixDQUFBLENBQUFJLENBQUEsS0FBQUksQ0FBQSxDQUFBb0IsSUFBQSxHQUFBM0IsQ0FBQSxDQUFBVyxDQUFBLElBQUFpRCxPQUFBLENBQUFDLE9BQUEsQ0FBQWxELENBQUEsRUFBQW1ELElBQUEsQ0FBQTdELENBQUEsRUFBQUksQ0FBQTtBQUFBLFNBQUEwRCxrQkFBQTVELENBQUEsNkJBQUFILENBQUEsU0FBQUQsQ0FBQSxHQUFBcEIsU0FBQSxhQUFBaUYsT0FBQSxXQUFBM0QsQ0FBQSxFQUFBSSxDQUFBLFFBQUFlLENBQUEsR0FBQWpCLENBQUEsQ0FBQTZELEtBQUEsQ0FBQWhFLENBQUEsRUFBQUQsQ0FBQSxZQUFBa0UsTUFBQTlELENBQUEsSUFBQXdELGtCQUFBLENBQUF2QyxDQUFBLEVBQUFuQixDQUFBLEVBQUFJLENBQUEsRUFBQTRELEtBQUEsRUFBQUMsTUFBQSxVQUFBL0QsQ0FBQSxjQUFBK0QsT0FBQS9ELENBQUEsSUFBQXdELGtCQUFBLENBQUF2QyxDQUFBLEVBQUFuQixDQUFBLEVBQUFJLENBQUEsRUFBQTRELEtBQUEsRUFBQUMsTUFBQSxXQUFBL0QsQ0FBQSxLQUFBOEQsS0FBQTtBQURBO0FBQ2lFO0FBQ3ZCO0FBQ2pCOztBQUV6QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsSUFBTUssYUFBYSxHQUFHSCw2Q0FBSyxDQUFDdEQsTUFBTSxDQUFDO0VBQ2pDMEQsT0FBTyxFQUFFSCx1REFBTSxDQUFDaEssT0FBTztFQUN2Qm9LLE9BQU8sRUFBRSxNQUFNLENBQUU7QUFDbkIsQ0FBQyxDQUFDO0FBR0ssSUFBTUMsYUFBYTtFQUFBLElBQUFDLElBQUEsR0FBQVgsaUJBQUEsY0FBQTdCLFlBQUEsR0FBQUUsQ0FBQSxDQUFHLFNBQUF1QyxRQUMzQkMsR0FBVyxFQUNYQyxNQUE0QixFQUM1QkMsT0FBMkIsRUFDM0JDLE1BQWtDO0lBQUEsSUFBQUMsS0FBQSxFQUFBQyxhQUFBLEVBQUFDLE9BQUEsRUFBQUMsUUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxhQUFBLEVBQUFDLHFCQUFBLEVBQUFDLGNBQUEsRUFBQUMsT0FBQSxFQUFBQyxLQUFBLEVBQUFDLEVBQUE7SUFBQSxPQUFBeEQsWUFBQSxHQUFBQyxDQUFBLFdBQUF3RCxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQTNFLENBQUEsR0FBQTJFLFFBQUEsQ0FBQXhGLENBQUE7UUFBQTtVQUFBd0YsUUFBQSxDQUFBM0UsQ0FBQTtVQUcxQmdFLEtBQUssR0FBR1ksY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUkseUlBQXlJLEVBRTFMO1VBQ01aLGFBQWtDLEdBQUcsQ0FBQyxDQUFDO1VBQzdDckUsTUFBTSxDQUFDa0YsT0FBTyxDQUFDakIsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNrQixPQUFPLENBQUMsVUFBQUMsS0FBQSxFQUFrQjtZQUFBLElBQUFDLEtBQUEsR0FBQXRELGNBQUEsQ0FBQXFELEtBQUE7Y0FBaEJsSCxHQUFHLEdBQUFtSCxLQUFBO2NBQUVsSCxLQUFLLEdBQUFrSCxLQUFBO1lBQy9DLElBQ0VsSCxLQUFLLEtBQUttSCxTQUFTLElBQ25CbkgsS0FBSyxLQUFLLElBQUksSUFDZEEsS0FBSyxLQUFLLEVBQUUsSUFDWixFQUFFc0UsS0FBSyxDQUFDSyxPQUFPLENBQUMzRSxLQUFLLENBQUMsSUFBSUEsS0FBSyxDQUFDd0MsTUFBTSxLQUFLLENBQUMsQ0FBQyxFQUM3QztjQUNBMEQsYUFBYSxDQUFDbkcsR0FBRyxDQUFDLEdBQUdDLEtBQUs7WUFDNUI7VUFDRixDQUFDLENBQUM7VUFFSW1HLE9BQU8sR0FBRztZQUNkaUIsT0FBTyxFQUFFO2NBQ1BDLGFBQWEsRUFBRXBCLEtBQUssYUFBQXFCLE1BQUEsQ0FBYXJCLEtBQUssSUFBSyxFQUFFO2NBQUU7Y0FDL0NzQixNQUFNLEVBQUU7WUFDVixDQUFDO1lBQ0R6QixNQUFNLEVBQUVJLGFBQWE7WUFDckJzQixnQkFBZ0IsRUFBRSxTQUFsQkEsZ0JBQWdCQSxDQUFHMUIsTUFBVztjQUFBLE9BQzVCUix5Q0FBWSxDQUFDUSxNQUFNLEVBQUU7Z0JBQ25CNEIsV0FBVyxFQUFFLFFBQVEsQ0FBRTtjQUN6QixDQUFDLENBQUM7WUFBQTtVQUNOLENBQUM7VUFBQWQsUUFBQSxDQUFBeEYsQ0FBQTtVQUFBLE9BR3dDbUUsYUFBYSxDQUFDb0MsR0FBRyxDQUFDOUIsR0FBRyxFQUFFTSxPQUFPLENBQUM7UUFBQTtVQUFsRUMsUUFBMEIsR0FBQVEsUUFBQSxDQUFBeEUsQ0FBQTtVQUdoQzJELE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUdLLFFBQVEsQ0FBQ3dCLElBQUksQ0FBQztVQUFDLE9BQUFoQixRQUFBLENBQUF2RSxDQUFBLElBRWxCK0QsUUFBUSxDQUFDd0IsSUFBSTtRQUFBO1VBQUFoQixRQUFBLENBQUEzRSxDQUFBO1VBQUEwRSxFQUFBLEdBQUFDLFFBQUEsQ0FBQXhFLENBQUE7VUFFcEJ5RixPQUFPLENBQUNuQixLQUFLLENBQUMsMkJBQTJCLEVBQUFDLEVBQUssQ0FBQztVQUV6Q0YsT0FBTyxJQUFBSixxQkFBQSxJQUFBQyxhQUFBLEdBQUdLLEVBQUEsQ0FBSVAsUUFBUSxjQUFBRSxhQUFBLGdCQUFBQSxhQUFBLEdBQVpBLGFBQUEsQ0FBY3NCLElBQUksY0FBQXRCLGFBQUEsdUJBQWxCQSxhQUFBLENBQW9CRyxPQUFPLGNBQUFKLHFCQUFBLGNBQUFBLHFCQUFBLEdBQUksZ0JBQWdCO1VBQ3pESyxLQUFLLElBQUFILHFCQUFBLElBQUFDLGNBQUEsR0FBR0csRUFBQSxDQUFJUCxRQUFRLGNBQUFJLGNBQUEsZ0JBQUFBLGNBQUEsR0FBWkEsY0FBQSxDQUFjb0IsSUFBSSxjQUFBcEIsY0FBQSx1QkFBbEJBLGNBQUEsQ0FBb0JFLEtBQUssY0FBQUgscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxnQkFBZ0I7VUFFM0RzQixPQUFPLENBQUNuQixLQUFLLENBQUM7WUFBRUEsS0FBSyxFQUFMQTtVQUFNLENBQUMsQ0FBQztVQUV4QlYsTUFBTSxhQUFOQSxNQUFNLGVBQU5BLE1BQU0sQ0FBR1MsT0FBTyxDQUFDO1VBQUMsT0FBQUcsUUFBQSxDQUFBdkUsQ0FBQSxJQUVYOEUsU0FBUztNQUFBO0lBQUEsR0FBQXZCLE9BQUE7RUFBQSxDQUVuQjtFQUFBLGdCQXJEWUYsYUFBYUEsQ0FBQW9DLEVBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBdEMsSUFBQSxDQUFBVixLQUFBLE9BQUFyRixTQUFBO0VBQUE7QUFBQSxHQXFEekI7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNc0ksY0FBYztFQUFBLElBQUFDLEtBQUEsR0FBQW5ELGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBK0UsU0FDNUJ2QyxHQUFXLEVBQ1grQixJQUF5QjtJQUFBLElBQUFTLHFCQUFBO0lBQUEsSUFBQXBDLEtBQUEsRUFBQW1CLE9BQUEsRUFBQS9CLE1BQUEsRUFBQWUsUUFBQSxFQUFBa0MsR0FBQTtJQUFBLE9BQUFuRixZQUFBLEdBQUFDLENBQUEsV0FBQW1GLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBdEcsQ0FBQSxHQUFBc0csU0FBQSxDQUFBbkgsQ0FBQTtRQUFBO1VBRW5CNkUsS0FBSyxJQUFBb0MscUJBQUEsR0FBR3hCLGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFBdUIscUJBQUEsY0FBQUEscUJBQUEsR0FBSSxFQUFFO1VBRTdDakIsT0FBK0IsR0FBRztZQUN0QyxjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDRyxNQUFNLEVBQUU7VUFDVixDQUFDO1VBRUQsSUFBSXRCLEtBQUssRUFBRTtZQUNUbUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFBRSxNQUFBLENBQWFyQixLQUFLLENBQUU7VUFDOUM7VUFFTVosTUFBMEIsR0FBRztZQUFFK0IsT0FBTyxFQUFQQTtVQUFRLENBQUM7VUFBQW1CLFNBQUEsQ0FBQXRHLENBQUE7VUFHNUM0RixPQUFPLENBQUNXLEdBQUcsQ0FBQyxtQkFBbUIsRUFBQ1osSUFBSSxDQUFDO1VBQUFXLFNBQUEsQ0FBQW5ILENBQUE7VUFBQSxPQUNJbUUsYUFBYSxDQUFDa0QsSUFBSSxDQUFDNUMsR0FBRyxFQUFFK0IsSUFBSSxFQUFFdkMsTUFBTSxDQUFDO1FBQUE7VUFBeEVlLFFBQTBCLEdBQUFtQyxTQUFBLENBQUFuRyxDQUFBO1VBQUEsT0FBQW1HLFNBQUEsQ0FBQWxHLENBQUEsSUFDekIrRCxRQUFRLENBQUN3QixJQUFJO1FBQUE7VUFBQVcsU0FBQSxDQUFBdEcsQ0FBQTtVQUFBcUcsR0FBQSxHQUFBQyxTQUFBLENBQUFuRyxDQUFBO1VBRXBCeUYsT0FBTyxDQUFDbkIsS0FBSyxDQUFDLHFCQUFxQixFQUFBNEIsR0FBTyxDQUFDO1VBQUMsTUFBQUEsR0FBQTtRQUFBO1VBQUEsT0FBQUMsU0FBQSxDQUFBbEcsQ0FBQTtNQUFBO0lBQUEsR0FBQStGLFFBQUE7RUFBQSxDQUcvQztFQUFBLGdCQXpCWUYsY0FBY0EsQ0FBQVEsR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQVIsS0FBQSxDQUFBbEQsS0FBQSxPQUFBckYsU0FBQTtFQUFBO0FBQUEsR0F5QjFCO0FBR00sSUFBTWdKLHNCQUFzQjtFQUFBLElBQUFDLEtBQUEsR0FBQTdELGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBeUYsU0FDcENqRCxHQUFXLEVBQ1grQixJQUFjO0lBQUEsSUFBQW1CLHNCQUFBO0lBQUEsSUFBQTlDLEtBQUEsRUFBQW1CLE9BQUEsRUFBQS9CLE1BQUEsRUFBQWUsUUFBQSxFQUFBNEMsR0FBQTtJQUFBLE9BQUE3RixZQUFBLEdBQUFDLENBQUEsV0FBQTZGLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBaEgsQ0FBQSxHQUFBZ0gsU0FBQSxDQUFBN0gsQ0FBQTtRQUFBO1VBRVI2RSxLQUFLLElBQUE4QyxzQkFBQSxHQUFHbEMsY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLGNBQUFpQyxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJLEVBQUU7VUFFbkRsQixPQUFPLENBQUNXLEdBQUcsQ0FBQyxXQUFXLEVBQUVaLElBQUksQ0FBQztVQUV4QlIsT0FBK0IsR0FBRztZQUN0QyxjQUFjLEVBQUUscUJBQXFCO1lBQ3JDRyxNQUFNLEVBQUU7VUFDVixDQUFDO1VBRUQsSUFBSXRCLEtBQUssRUFBRTtZQUNUbUIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxhQUFBRSxNQUFBLENBQWFyQixLQUFLLENBQUU7VUFDOUM7VUFFTVosTUFBMEIsR0FBRztZQUFFK0IsT0FBTyxFQUFQQTtVQUFRLENBQUM7VUFBQTZCLFNBQUEsQ0FBQWhILENBQUE7VUFBQWdILFNBQUEsQ0FBQTdILENBQUE7VUFBQSxPQUdIbUUsYUFBYSxDQUFDa0QsSUFBSSxDQUFDNUMsR0FBRyxFQUFFK0IsSUFBSSxFQUFFdkMsTUFBTSxDQUFDO1FBQUE7VUFBeEVlLFFBQTBCLEdBQUE2QyxTQUFBLENBQUE3RyxDQUFBO1VBQUEsT0FBQTZHLFNBQUEsQ0FBQTVHLENBQUEsSUFDekIrRCxRQUFRLENBQUN3QixJQUFJO1FBQUE7VUFBQXFCLFNBQUEsQ0FBQWhILENBQUE7VUFBQStHLEdBQUEsR0FBQUMsU0FBQSxDQUFBN0csQ0FBQTtVQUVwQnlGLE9BQU8sQ0FBQ25CLEtBQUssQ0FBQyxxQkFBcUIsRUFBQXNDLEdBQU8sQ0FBQztVQUFDLE1BQUFBLEdBQUE7UUFBQTtVQUFBLE9BQUFDLFNBQUEsQ0FBQTVHLENBQUE7TUFBQTtJQUFBLEdBQUF5RyxRQUFBO0VBQUEsQ0FHL0M7RUFBQSxnQkExQllGLHNCQUFzQkEsQ0FBQU0sR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQU4sS0FBQSxDQUFBNUQsS0FBQSxPQUFBckYsU0FBQTtFQUFBO0FBQUEsR0EwQmxDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTXdKLHVCQUF1QjtFQUFBLElBQUFDLEtBQUEsR0FBQXJFLGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBaUcsU0FDckN6RCxHQUFXLEVBQ1grQixJQUF5QjtJQUFBLElBQUEzQixLQUFBLEVBQUFzRCxVQUFBLEVBQUFDLElBQUEsRUFBQXBDLE9BQUEsRUFBQS9CLE1BQUEsRUFBQW9FLFlBQUEsRUFBQXJELFFBQUEsRUFBQXNELEdBQUE7SUFBQSxPQUFBdkcsWUFBQSxHQUFBQyxDQUFBLFdBQUF1RyxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQTFILENBQUEsR0FBQTBILFNBQUEsQ0FBQXZJLENBQUE7UUFBQTtVQUVuQjZFLEtBQUssR0FBR1ksY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUkseUlBQXlJO1VBRXBMeUMsVUFBVSxHQUFHMUMsY0FBYyxDQUFDQyxPQUFPLENBQUMsYUFBYSxDQUFDO1VBQ2xEMEMsSUFBSSxHQUFHRCxVQUFVLEdBQUdLLElBQUksQ0FBQ0MsS0FBSyxDQUFDTixVQUFVLENBQUMsR0FBRyxJQUFJLEVBQUc7VUFDcERuQyxPQUErQixHQUFHO1lBQ3RDLGNBQWMsRUFBRSxrQkFBa0I7WUFDbENHLE1BQU0sRUFBRTtVQUNWLENBQUM7VUFFRCxJQUFJdEIsS0FBSyxFQUFFO1lBQ1RtQixPQUFPLENBQUMsZUFBZSxDQUFDLGFBQUFFLE1BQUEsQ0FBYXJCLEtBQUssQ0FBRTtVQUM5QztVQUVNWixNQUEwQixHQUFHO1lBQUUrQixPQUFPLEVBQVBBO1VBQVEsQ0FBQztVQUFBdUMsU0FBQSxDQUFBMUgsQ0FBQTtVQUc1QztVQUNBMkYsSUFBSSxDQUFDa0MsWUFBWSxHQUFHbEMsSUFBSSxDQUFDa0MsWUFBWSxPQUFBeEMsTUFBQSxDQUFPTSxJQUFJLENBQUNrQyxZQUFZLENBQUNDLFdBQVcsT0FBQXpDLE1BQUEsQ0FBSU0sSUFBSSxDQUFDa0MsWUFBWSxDQUFDRSxRQUFRLE9BQUExQyxNQUFBLENBQUlNLElBQUksQ0FBQ2tDLFlBQVksQ0FBQ0csV0FBVyxJQUFLOUMsU0FBUztVQUN0SlMsSUFBSSxDQUFDc0MsbUJBQW1CLEdBQUcsQ0FBQztVQUM1QnRDLElBQUksQ0FBQ3VDLGdCQUFnQixHQUFHLFVBQVU7VUFDbEN2QyxJQUFJLENBQUN3QyxPQUFPLEdBQUdaLElBQUksQ0FBQ2EsRUFBRTtVQUNoQlosWUFBWSxHQUFJN0IsSUFBSSxDQUFDMEMsU0FBUyxDQUFDcEcsUUFBUSxDQUFDLENBQUM7VUFDL0MwRCxJQUFJLENBQUMwQyxTQUFTLEdBQUdiLFlBQVk7VUFBQ0UsU0FBQSxDQUFBdkksQ0FBQTtVQUFBLE9BQ1dtRSxhQUFhLENBQUNrRCxJQUFJLENBQUM1QyxHQUFHLEVBQUUrQixJQUFJLEVBQUV2QyxNQUFNLENBQUM7UUFBQTtVQUF4RWUsUUFBMEIsR0FBQXVELFNBQUEsQ0FBQXZILENBQUE7VUFBQSxPQUFBdUgsU0FBQSxDQUFBdEgsQ0FBQSxJQUN6QitELFFBQVEsQ0FBQ3dCLElBQUk7UUFBQTtVQUFBK0IsU0FBQSxDQUFBMUgsQ0FBQTtVQUFBeUgsR0FBQSxHQUFBQyxTQUFBLENBQUF2SCxDQUFBO1VBRXBCeUYsT0FBTyxDQUFDbkIsS0FBSyxDQUFDLHFCQUFxQixFQUFBZ0QsR0FBTyxDQUFDO1VBQUMsTUFBQUEsR0FBQTtRQUFBO1VBQUEsT0FBQUMsU0FBQSxDQUFBdEgsQ0FBQTtNQUFBO0lBQUEsR0FBQWlILFFBQUE7RUFBQSxDQUcvQztFQUFBLGdCQWpDWUYsdUJBQXVCQSxDQUFBbUIsR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQW5CLEtBQUEsQ0FBQXBFLEtBQUEsT0FBQXJGLFNBQUE7RUFBQTtBQUFBLEdBaUNuQzs7QUFHRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTTZLLGdCQUFnQjtFQUFBLElBQUFDLEtBQUEsR0FBQTFGLGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBc0gsU0FDOUI5RSxHQUFXLEVBQ1grQixJQUEwQixFQUMxQjdCLE9BQTJCLEVBQzNCQyxNQUFrQztJQUFBLElBQUE0RSxzQkFBQTtJQUFBLElBQUEzRSxLQUFBLEVBQUFFLE9BQUEsRUFBQUMsUUFBQSxFQUFBeUUsc0JBQUEsRUFBQUMsY0FBQSxFQUFBckUsT0FBQSxFQUFBc0UsR0FBQTtJQUFBLE9BQUE1SCxZQUFBLEdBQUFDLENBQUEsV0FBQTRILFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBL0ksQ0FBQSxHQUFBK0ksU0FBQSxDQUFBNUosQ0FBQTtRQUFBO1VBRTVCNkUsS0FBSyxJQUFBMkUsc0JBQUEsR0FBRy9ELGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFBOEQsc0JBQUEsY0FBQUEsc0JBQUEsR0FBSSxFQUFFO1VBQUEsTUFDL0MzRSxLQUFLLEtBQUssRUFBRTtZQUFBK0UsU0FBQSxDQUFBNUosQ0FBQTtZQUFBO1VBQUE7VUFDZDRFLE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUcsbUJBQW1CLENBQUM7VUFBQyxPQUFBZ0YsU0FBQSxDQUFBM0ksQ0FBQTtRQUFBO1VBSTFCOEQsT0FBMkIsR0FBRztZQUNsQ2lCLE9BQU8sRUFBRTtjQUNQQyxhQUFhLEVBQUUsVUFBQUMsTUFBQSxDQUFVckIsS0FBSyxjQUFBcUIsTUFBQSxDQUFlckIsS0FBSyxJQUFLLENBQUU7Y0FBRTtjQUMzRCxjQUFjLEVBQUUsa0JBQWtCO2NBQ2xDc0IsTUFBTSxFQUFFO1lBQ1YsQ0FBQztZQUNESyxJQUFJLEVBQUVBLElBQUksYUFBSkEsSUFBSSxjQUFKQSxJQUFJLEdBQUksQ0FBQztVQUNqQixDQUFDO1VBQUFvRCxTQUFBLENBQUEvSSxDQUFBO1VBQUErSSxTQUFBLENBQUE1SixDQUFBO1VBQUEsT0FHMENtRSxhQUFhLFVBQU8sQ0FBQ00sR0FBRyxFQUFFTSxPQUFPLENBQUM7UUFBQTtVQUFyRUMsUUFBMEIsR0FBQTRFLFNBQUEsQ0FBQTVJLENBQUE7VUFDaEMyRCxPQUFPLGFBQVBBLE9BQU8sZUFBUEEsT0FBTyxDQUFHSyxRQUFRLENBQUN3QixJQUFJLENBQUM7VUFBQ29ELFNBQUEsQ0FBQTVKLENBQUE7VUFBQTtRQUFBO1VBQUE0SixTQUFBLENBQUEvSSxDQUFBO1VBQUE4SSxHQUFBLEdBQUFDLFNBQUEsQ0FBQTVJLENBQUE7VUFFbkJxRSxPQUFPLElBQUFvRSxzQkFBQSxJQUFBQyxjQUFBLEdBQUdDLEdBQUEsQ0FBSTNFLFFBQVEsY0FBQTBFLGNBQUEsZ0JBQUFBLGNBQUEsR0FBWkEsY0FBQSxDQUFjbEQsSUFBSSxjQUFBa0QsY0FBQSx1QkFBbEJBLGNBQUEsQ0FBb0JyRSxPQUFPLGNBQUFvRSxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJLGdCQUFnQjtVQUMvRDdFLE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUdTLE9BQU8sQ0FBQztRQUFDO1VBQUEsT0FBQXVFLFNBQUEsQ0FBQTNJLENBQUE7TUFBQTtJQUFBLEdBQUFzSSxRQUFBO0VBQUEsQ0FFckI7RUFBQSxnQkE1QllGLGdCQUFnQkEsQ0FBQVEsR0FBQSxFQUFBQyxJQUFBLEVBQUFDLElBQUEsRUFBQUMsSUFBQTtJQUFBLE9BQUFWLEtBQUEsQ0FBQXpGLEtBQUEsT0FBQXJGLFNBQUE7RUFBQTtBQUFBLEdBNEI1Qjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTXlMLGFBQWE7RUFBQSxJQUFBQyxLQUFBLEdBQUF0RyxpQkFBQSxjQUFBN0IsWUFBQSxHQUFBRSxDQUFBLENBQUcsU0FBQWtJLFNBQzNCMUYsR0FBVyxFQUNYK0IsSUFBeUI7SUFBQSxJQUFBM0IsS0FBQSxFQUFBRSxPQUFBLEVBQUFDLFFBQUEsRUFBQW9GLEdBQUE7SUFBQSxPQUFBckksWUFBQSxHQUFBQyxDQUFBLFdBQUFxSSxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQXhKLENBQUEsR0FBQXdKLFNBQUEsQ0FBQXJLLENBQUE7UUFBQTtVQUVuQjZFLEtBQUssR0FBR1ksY0FBYyxDQUFDQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUkseUlBQXlJO1VBQUEsSUFFckxiLEtBQUs7WUFBQXdGLFNBQUEsQ0FBQXJLLENBQUE7WUFBQTtVQUFBO1VBQUEsTUFDRixJQUFJc0ssS0FBSyxDQUFDLG1CQUFtQixDQUFDO1FBQUE7VUFHaEN2RixPQUEyQixHQUFHO1lBQ2xDaUIsT0FBTyxFQUFFO2NBQ1BDLGFBQWEsWUFBQUMsTUFBQSxDQUFZckIsS0FBSyxDQUFFO2NBQ2hDc0IsTUFBTSxFQUFFO1lBQ1Y7VUFDRixDQUFDO1VBQUFrRSxTQUFBLENBQUF4SixDQUFBO1VBQUF3SixTQUFBLENBQUFySyxDQUFBO1VBQUEsT0FHMENtRSxhQUFhLENBQUNvRyxHQUFHLENBQUM5RixHQUFHLEVBQUUrQixJQUFJLEVBQUV6QixPQUFPLENBQUM7UUFBQTtVQUF4RUMsUUFBMEIsR0FBQXFGLFNBQUEsQ0FBQXJKLENBQUE7VUFBQSxPQUFBcUosU0FBQSxDQUFBcEosQ0FBQSxJQUN6QitELFFBQVEsQ0FBQ3dCLElBQUk7UUFBQTtVQUFBNkQsU0FBQSxDQUFBeEosQ0FBQTtVQUFBdUosR0FBQSxHQUFBQyxTQUFBLENBQUFySixDQUFBO1VBQUEsTUFBQW9KLEdBQUE7UUFBQTtVQUFBLE9BQUFDLFNBQUEsQ0FBQXBKLENBQUE7TUFBQTtJQUFBLEdBQUFrSixRQUFBO0VBQUEsQ0FJdkI7RUFBQSxnQkF2QllGLGFBQWFBLENBQUFPLElBQUEsRUFBQUMsSUFBQTtJQUFBLE9BQUFQLEtBQUEsQ0FBQXJHLEtBQUEsT0FBQXJGLFNBQUE7RUFBQTtBQUFBLEdBdUJ6Qjs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNa00sVUFBVTtFQUFBLElBQUFDLEtBQUEsR0FBQS9HLGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBMkksU0FBZ0JwRSxJQUFjO0lBQUEsSUFBQS9CLEdBQUEsRUFBQW9HLFNBQUEsRUFBQTdGLFFBQUEsRUFBQThGLEdBQUE7SUFBQSxPQUFBL0ksWUFBQSxHQUFBQyxDQUFBLFdBQUErSSxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQWxLLENBQUEsR0FBQWtLLFNBQUEsQ0FBQS9LLENBQUE7UUFBQTtVQUFBK0ssU0FBQSxDQUFBbEssQ0FBQTtVQUU5QzRELEdBQUcsTUFBQXlCLE1BQUEsQ0FBTWpDLHVEQUFNLENBQUM3SixVQUFVO1VBQzFCeVEsU0FBNkIsR0FBRztZQUNwQzdFLE9BQU8sRUFBRTtjQUNQbkIsS0FBSyxFQUFFLHNDQUFzQztjQUM3QyxjQUFjLEVBQUU7WUFDbEI7VUFDRixDQUFDO1VBQUFrRyxTQUFBLENBQUEvSyxDQUFBO1VBQUEsT0FDd0NnRSw2Q0FBSyxDQUFDcUQsSUFBSSxDQUFDNUMsR0FBRyxFQUFFK0IsSUFBSSxFQUFFcUUsU0FBUyxDQUFDO1FBQUE7VUFBbkU3RixRQUEwQixHQUFBK0YsU0FBQSxDQUFBL0osQ0FBQTtVQUFBLE9BQUErSixTQUFBLENBQUE5SixDQUFBLElBQ3pCK0QsUUFBUSxDQUFDd0IsSUFBSTtRQUFBO1VBQUF1RSxTQUFBLENBQUFsSyxDQUFBO1VBQUFpSyxHQUFBLEdBQUFDLFNBQUEsQ0FBQS9KLENBQUE7VUFFcEJ5RixPQUFPLENBQUNXLEdBQUcsQ0FBQTBELEdBQUksQ0FBQztRQUFDO1VBQUEsT0FBQUMsU0FBQSxDQUFBOUosQ0FBQTtNQUFBO0lBQUEsR0FBQTJKLFFBQUE7RUFBQSxDQUdwQjtFQUFBLGdCQWZZRixVQUFVQSxDQUFBTSxJQUFBO0lBQUEsT0FBQUwsS0FBQSxDQUFBOUcsS0FBQSxPQUFBckYsU0FBQTtFQUFBO0FBQUEsR0FldEI7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDTyxJQUFNeU0sZ0JBQWdCO0VBQUEsSUFBQUMsS0FBQSxHQUFBdEgsaUJBQUEsY0FBQTdCLFlBQUEsR0FBQUUsQ0FBQSxDQUFHLFNBQUFrSixTQUM5QkMsU0FBaUIsRUFDakJDLEtBQWEsRUFDYkMsV0FBbUIsRUFDbkJDLFFBQWlCLEVBQ2pCQyxLQUFjLEVBQ2Q1RyxNQUFrQztJQUFBLElBQUFILEdBQUEsRUFBQXVCLE9BQUEsRUFBQTZFLFNBQUEsRUFBQXJFLElBQUEsRUFBQXhCLFFBQUEsRUFBQXlHLHNCQUFBLEVBQUFDLGNBQUEsRUFBQXJHLE9BQUEsRUFBQXNHLEdBQUE7SUFBQSxPQUFBNUosWUFBQSxHQUFBQyxDQUFBLFdBQUE0SixTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQS9LLENBQUEsR0FBQStLLFNBQUEsQ0FBQTVMLENBQUE7UUFBQTtVQUU1QnlFLEdBQUcsTUFBQXlCLE1BQUEsQ0FBTWpDLHVEQUFNLENBQUN6SixnQkFBZ0I7VUFDaEN3TCxPQUErQixHQUFHdUYsUUFBUSxHQUM1QztZQUFFLGVBQWUsRUFBRTtVQUFPLENBQUMsR0FDM0IsQ0FBQyxDQUFDO1VBQ0FWLFNBQTZCLEdBQUc7WUFBRTdFLE9BQU8sRUFBUEE7VUFBUSxDQUFDO1VBRTNDUSxJQUFJLEdBQUc7WUFDWHFGLFVBQVUsRUFBRVQsU0FBUztZQUNyQlUsYUFBYSxFQUFFVCxLQUFLO1lBQ3BCVSxZQUFZLEVBQUVULFdBQVc7WUFDekJFLEtBQUssRUFBTEE7VUFDRixDQUFDO1VBQUFJLFNBQUEsQ0FBQS9LLENBQUE7VUFBQStLLFNBQUEsQ0FBQTVMLENBQUE7VUFBQSxPQUd3QmdFLDZDQUFLLENBQUNxRCxJQUFJLENBQUM1QyxHQUFHLEVBQUUrQixJQUFJLEVBQUVxRSxTQUFTLENBQUM7UUFBQTtVQUFqRDdGLFFBQVEsR0FBQTRHLFNBQUEsQ0FBQTVLLENBQUE7VUFBQTRLLFNBQUEsQ0FBQTVMLENBQUE7VUFBQTtRQUFBO1VBQUE0TCxTQUFBLENBQUEvSyxDQUFBO1VBQUE4SyxHQUFBLEdBQUFDLFNBQUEsQ0FBQTVLLENBQUE7VUFFUnFFLE9BQU8sSUFBQW9HLHNCQUFBLElBQUFDLGNBQUEsR0FBR0MsR0FBQSxDQUFJM0csUUFBUSxjQUFBMEcsY0FBQSxnQkFBQUEsY0FBQSxHQUFaQSxjQUFBLENBQWNsRixJQUFJLGNBQUFrRixjQUFBLHVCQUFsQkEsY0FBQSxDQUFvQnJHLE9BQU8sY0FBQW9HLHNCQUFBLGNBQUFBLHNCQUFBLEdBQUksZ0JBQWdCO1VBQy9EN0csTUFBTSxhQUFOQSxNQUFNLGVBQU5BLE1BQU0sQ0FBR1MsT0FBTyxDQUFDO1FBQUM7VUFBQSxPQUFBdUcsU0FBQSxDQUFBM0ssQ0FBQTtNQUFBO0lBQUEsR0FBQWtLLFFBQUE7RUFBQSxDQUVyQjtFQUFBLGdCQTNCWUYsZ0JBQWdCQSxDQUFBZSxJQUFBLEVBQUFDLElBQUEsRUFBQUMsSUFBQSxFQUFBQyxJQUFBLEVBQUFDLElBQUEsRUFBQUMsSUFBQTtJQUFBLE9BQUFuQixLQUFBLENBQUFySCxLQUFBLE9BQUFyRixTQUFBO0VBQUE7QUFBQSxHQTJCNUI7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ08sSUFBTThOLHNCQUFzQjtFQUFBLElBQUFDLEtBQUEsR0FBQTNJLGlCQUFBLGNBQUE3QixZQUFBLEdBQUFFLENBQUEsQ0FBRyxTQUFBdUssU0FDcENoRyxJQUF5QjtJQUFBLElBQUEvQixHQUFBLEVBQUFvRyxTQUFBLEVBQUE3RixRQUFBLEVBQUF5SCxHQUFBO0lBQUEsT0FBQTFLLFlBQUEsR0FBQUMsQ0FBQSxXQUFBMEssU0FBQTtNQUFBLGtCQUFBQSxTQUFBLENBQUE3TCxDQUFBLEdBQUE2TCxTQUFBLENBQUExTSxDQUFBO1FBQUE7VUFFbkJ5RSxHQUFHLE1BQUF5QixNQUFBLENBQU1qQyx1REFBTSxDQUFDekosZ0JBQWdCO1VBQ2hDcVEsU0FBNkIsR0FBRztZQUFFN0UsT0FBTyxFQUFFLENBQUM7VUFBRSxDQUFDO1VBQUEwRyxTQUFBLENBQUE3TCxDQUFBO1VBQUE2TCxTQUFBLENBQUExTSxDQUFBO1VBQUEsT0FHVmdFLDZDQUFLLENBQUNxRCxJQUFJLENBQUM1QyxHQUFHLEVBQUUrQixJQUFJLEVBQUVxRSxTQUFTLENBQUM7UUFBQTtVQUFuRTdGLFFBQTBCLEdBQUEwSCxTQUFBLENBQUExTCxDQUFBO1VBQUEsT0FBQTBMLFNBQUEsQ0FBQXpMLENBQUEsSUFDekIrRCxRQUFRLENBQUN3QixJQUFJO1FBQUE7VUFBQWtHLFNBQUEsQ0FBQTdMLENBQUE7VUFBQTRMLEdBQUEsR0FBQUMsU0FBQSxDQUFBMUwsQ0FBQTtVQUFBLE1BRWQsSUFBSXNKLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztRQUFBO1VBQUEsT0FBQW9DLFNBQUEsQ0FBQXpMLENBQUE7TUFBQTtJQUFBLEdBQUF1TCxRQUFBO0VBQUEsQ0FFekM7RUFBQSxnQkFaWUYsc0JBQXNCQSxDQUFBSyxJQUFBO0lBQUEsT0FBQUosS0FBQSxDQUFBMUksS0FBQSxPQUFBckYsU0FBQTtFQUFBO0FBQUEsR0FZbEMsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzlVc0U7QUFFRTtBQUNOO0FBQ1c7QUFDWTtBQUNqQztBQUNxQjtBQUNUO0FBQ2U7QUFDbkI7QUFDTjtBQUNtQjtBQUNFO0FBQ0Y7QUFDYjtBQUNSO0FBQ2lCO0FBQ047QUFDVTtBQUNKO0FBRW5FLElBQU13UCxLQUFLLEdBQUdwQixnRUFBYyxDQUFDO0VBQ2xDcUIsT0FBTyxFQUFFO0lBQ1BDLElBQUksRUFBRXJCLG1GQUFTO0lBQ2ZzQixTQUFTLEVBQUVyQix3RUFBYztJQUN6QnNCLGNBQWMsRUFBRXJCLDhFQUFtQjtJQUNuQ3NCLG9CQUFvQixFQUFFckIsb0ZBQXlCO0lBQy9Dc0IsSUFBSSxFQUFFckIsbUVBQVM7SUFDZnNCLGNBQWMsRUFBRXJCLDhFQUFtQjtJQUNuQ3NCLFVBQVUsRUFBRXJCLHlFQUFlO0lBQzNCc0IsaUJBQWlCLEVBQUVyQixpRkFBc0I7SUFDekNzQixRQUFRLEVBQUVyQix1RUFBYTtJQUN2QnNCLFFBQVEsRUFBRWpCLHdFQUFhO0lBQ3ZCa0IsS0FBSyxFQUFFdEIscUVBQVU7SUFDakJ1QixjQUFjLEVBQUV0QiwrRUFBbUI7SUFDbkN1QixlQUFlLEVBQUV0QixnRkFBb0I7SUFDckN1QixjQUFjLEVBQUV0QiwrRUFBbUI7SUFDbkNyRixJQUFJLEVBQUV1RixvRUFBUztJQUNmcUIsWUFBWSxFQUFFcEIsNkVBQWlCO0lBQy9CcUIsU0FBUyxFQUFFcEIsMEVBQWM7SUFDekJxQixjQUFjLEVBQUVwQiwrRUFBbUI7SUFDbkNxQixZQUFZLEVBQUVwQiw2RUFBaUJBO0VBQ2pDLENBQUM7RUFDRHFCLFFBQVEsRUFBRWxWLGFBQW9CLEtBQUs7QUFDckMsQ0FBQyxDQUFDLEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUM3Q3dCLENBQUM7QUFDc0M7QUFFdEI7QUFDRjtBQUNXO0FBQ0w7QUFDUjtBQUNpQjtBQUNnRDtBQUNyQjtBQUVuRixJQUFNK1YsU0FBbUIsR0FBRyxTQUF0QkEsU0FBbUJBLENBQUE7RUFBQSxvQkFDdkJ2WCwwREFBQSxDQUFDNlcsb0RBQVkscUJBRVg3VywwREFBQSxDQUFDOFcsbURBQUs7SUFBQ1UsSUFBSSxFQUFDLFFBQVE7SUFBQ0MsT0FBTyxlQUFFelgsMERBQUEsQ0FBQ2dYLDBEQUFLLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDM0NoWCwwREFBQSxDQUFDOFcsbURBQUs7SUFBQ1UsSUFBSSxFQUFDLE9BQU87SUFBQ0MsT0FBTyxlQUFFelgsMERBQUEsQ0FBQ21YLHlEQUFJLE1BQUU7RUFBRSxDQUFFLENBQUMsZUFDekNuWCwwREFBQSxDQUFDOFcsbURBQUs7SUFBQ1UsSUFBSSxFQUFDLGFBQWE7SUFBQ0MsT0FBTyxlQUFFelgsMERBQUEsQ0FBQ3FYLG9HQUF1QixNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBQ2xFclgsMERBQUEsQ0FBQzhXLG1EQUFLO0lBQUNVLElBQUksRUFBQyxLQUFLO0lBQUNDLE9BQU8sZUFBRXpYLDBEQUFBLENBQUNvWCxrRUFBWSxNQUFFO0VBQUUsQ0FBRSxDQUFDLGVBSS9DcFgsMERBQUEsQ0FBQzhXLG1EQUFLO0lBQ0pVLElBQUksRUFBQyxJQUFJO0lBQ1RDLE9BQU8sZUFDTHpYLDBEQUFBLENBQUNrWCx3REFBYyxxQkFDYmxYLDBEQUFBLENBQUMrVyw2REFBSSxNQUFFLENBQ087RUFDakIsQ0FDRixDQUFDLGVBRUYvVywwREFBQSxDQUFDOFcsbURBQUs7SUFDSlUsSUFBSSxFQUFDLFdBQVc7SUFDaEJDLE9BQU8sZUFDTHpYLDBEQUFBLENBQUNrWCx3REFBYyxxQkFDYmxYLDBEQUFBLENBQUNzWCxnRkFBeUIsTUFBRSxDQUVkO0VBQ2pCLENBQ0YsQ0FBQyxlQUdGdFgsMERBQUEsQ0FBQzhXLG1EQUFLO0lBQUNVLElBQUksRUFBQyxHQUFHO0lBQUNDLE9BQU8sZUFBRXpYLDBEQUFBLENBQUNpWCxrRUFBUSxNQUFFO0VBQUUsQ0FBRSxDQUM1QixDQUFDO0FBQUEsQ0FDaEI7QUFFRCxpRUFBZU0sU0FBUyxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQzlDRTtBQUNrQjtBQUc1QyxJQUFNTCxjQUE2QyxHQUFHLFNBQWhEQSxjQUE2Q0EsQ0FBQXJMLElBQUEsRUFBcUI7RUFBQSxJQUFmOEwsUUFBUSxHQUFBOUwsSUFBQSxDQUFSOEwsUUFBUTtFQUMvRCxJQUFNQyxXQUFXLEdBQUc3SyxjQUFjLENBQUNDLE9BQU8sQ0FBQyxPQUFPLENBQUM7RUFDbkQsSUFBTXlDLFVBQVUsR0FBRzFDLGNBQWMsQ0FBQ0MsT0FBTyxDQUFDLGFBQWEsQ0FBQztFQUN4RCxJQUFJMEMsSUFBSSxHQUFHLElBQUk7RUFFZixJQUFJRCxVQUFVLEVBQUU7SUFDZCxJQUFJO01BQ0ZDLElBQUksR0FBR0ksSUFBSSxDQUFDQyxLQUFLLENBQUNOLFVBQVUsQ0FBQztJQUMvQixDQUFDLENBQUMsT0FBTzdDLEtBQUssRUFBRTtNQUNkbUIsT0FBTyxDQUFDbkIsS0FBSyxDQUFDLGdEQUFnRCxFQUFFQSxLQUFLLENBQUM7SUFDeEU7RUFDRjtFQUVBbUIsT0FBTyxDQUFDVyxHQUFHLENBQUMsY0FBYyxFQUFFZ0IsSUFBSSxDQUFDOztFQUVqQztFQUNBLElBQU1tSSxlQUFlLEdBQ25CQyxPQUFPLENBQUNGLFdBQVcsSUFBSUEsV0FBVyxDQUFDbFAsTUFBTSxHQUFHLENBQUMsSUFBSWdILElBQUksQ0FBQztFQUV4RCxPQUFPbUksZUFBZSxnQkFBRzdYLDBEQUFBLENBQUFBLHVEQUFBLFFBQUcyWCxRQUFXLENBQUMsZ0JBQUczWCwwREFBQSxDQUFDMFgsc0RBQVE7SUFBQ00sRUFBRSxFQUFDO0VBQVEsQ0FBRSxDQUFDO0FBQ3JFLENBQUM7QUFFRCxpRUFBZWQsY0FBYyxFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQnNCO0FBZUk7QUFDUjtBQVdPO0FBR3RELElBQVE0QixNQUFNLEdBQUFDLHVEQUFBLENBQU5ELE1BQU07O0FBRWQ7O0FBU0E7QUFDQSxJQUFNRSxXQUFXLEdBQUc7RUFDbEJDLGVBQWUsRUFBRSwrQkFBK0I7RUFDaERDLGNBQWMsRUFBRTtBQUNsQixDQUFDO0FBT0QsSUFBTUMsZ0JBQWlELEdBQUcsU0FBcERBLGdCQUFpREEsQ0FBQXROLElBQUEsRUFHakQ7RUFBQSxJQUFBdU4scUJBQUE7RUFBQSxJQUZKQyxVQUFVLEdBQUF4TixJQUFBLENBQVZ3TixVQUFVO0lBQ1ZDLGFBQWEsR0FBQXpOLElBQUEsQ0FBYnlOLGFBQWE7RUFFYixJQUFBQyxhQUFBLEdBQWVDLHFEQUFBLENBQUtDLE9BQU8sQ0FBQyxDQUFDO0lBQUFDLGNBQUEsR0FBQTVQLGNBQUEsQ0FBQXlQLGFBQUE7SUFBdEJJLElBQUksR0FBQUQsY0FBQTtFQUNYLElBQU1FLFFBQVEsR0FBR3pCLHlEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFNMEIsUUFBUSxHQUFHeEIsOERBQVcsQ0FBQyxDQUFDO0VBQzlCLElBQUF5QixTQUFBLEdBQXNENUIsZ0RBQVEsQ0FBa0IsRUFBRSxDQUFDO0lBQUE2QixVQUFBLEdBQUFqUSxjQUFBLENBQUFnUSxTQUFBO0lBQTVFRSxtQkFBbUIsR0FBQUQsVUFBQTtJQUFFRSxzQkFBc0IsR0FBQUYsVUFBQTtFQUNsRCxJQUFBRyxZQUFBLEdBU0k5Qix5REFBVyxDQUFDLFVBQUMrQixLQUFnQjtNQUFBLE9BQUtBLEtBQUssQ0FBQzFELFlBQVksSUFBSSxDQUFDLENBQUM7SUFBQSxFQUFDO0lBQUEyRCxxQkFBQSxHQUFBRixZQUFBLENBUjdERyxTQUFTO0lBQVRBLFNBQVMsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBQUFKLFlBQUEsQ0FDZEssU0FBUztJQUFUQSxTQUFTLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUFBRSxxQkFBQSxHQUFBTixZQUFBLENBQ2RPLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxxQkFBQSxjQUFHLEVBQUUsR0FBQUEscUJBQUE7SUFBQUUscUJBQUEsR0FBQVIsWUFBQSxDQUNiUyxRQUFRO0lBQVJBLFFBQVEsR0FBQUQscUJBQUEsY0FBRyxFQUFFLEdBQUFBLHFCQUFBO0lBQUFFLHFCQUFBLEdBQUFWLFlBQUEsQ0FDYlcsZUFBZTtJQUFmQSxlQUFlLEdBQUFELHFCQUFBLGNBQUcsRUFBRSxHQUFBQSxxQkFBQTtJQUNwQkUsWUFBWSxHQUFBWixZQUFBLENBQVpZLFlBQVk7SUFDWkMsZUFBZSxHQUFBYixZQUFBLENBQWZhLGVBQWU7SUFDZkMsb0JBQW9CLEdBQUFkLFlBQUEsQ0FBcEJjLG9CQUFvQjtFQUd0QixJQUFNQyxZQUFZLEdBQUcsSUFBSUMsZUFBZSxDQUFDQyxRQUFRLENBQUNDLE1BQU0sQ0FBQztFQUN6RCxJQUFNN0ssRUFBRSxHQUFHMEssWUFBWSxDQUFDcE4sR0FBRyxDQUFDLElBQUksQ0FBQztFQUVqQyxJQUFBd04sVUFBQSxHQUE4Qm5ELGdEQUFRLENBQUMsS0FBSyxDQUFDO0lBQUFvRCxVQUFBLEdBQUF4UixjQUFBLENBQUF1UixVQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBOztFQUUxQjtFQUNBckQsaURBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTFILEVBQUUsRUFBRTtNQUNOcUosUUFBUSxDQUFDZix5RkFBa0IsQ0FBQzRDLE1BQU0sQ0FBQ2xMLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQyxNQUFNO01BQ0xvSixJQUFJLENBQUMrQixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEI7RUFDRixDQUFDLEVBQUUsQ0FBQzlCLFFBQVEsRUFBRXJKLEVBQUUsRUFBRW9KLElBQUksQ0FBQyxDQUFDOztFQUV4QjtFQUNBMUIsaURBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSTFILEVBQUUsSUFBSXVLLFlBQVksRUFBRTtNQUN0Qm5CLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztRQUNsQnBSLElBQUksRUFBRXVRLFlBQVksQ0FBQ3ZRLElBQUksSUFBSSxFQUFFO1FBQzdCcVIsS0FBSyxFQUFFZCxZQUFZLENBQUNjLEtBQUssSUFBSSxFQUFFO1FBQy9CQyxNQUFNLEVBQUVmLFlBQVksQ0FBQ2UsTUFBTSxJQUFJLEVBQUU7UUFDakNDLEdBQUcsRUFBRWhCLFlBQVksQ0FBQ2dCLEdBQUcsSUFBSSxDQUFDO1FBQzFCOUYsUUFBUSxFQUFFOEUsWUFBWSxDQUFDOUUsUUFBUSxJQUFJLEVBQUU7UUFDckMrRixRQUFRLEVBQUVqQixZQUFZLENBQUNpQixRQUFRLElBQUksRUFBRTtRQUNyQ0MsT0FBTyxFQUFFbEIsWUFBWSxDQUFDa0IsT0FBTyxJQUFJLEVBQUU7UUFDbkNDLE9BQU8sRUFBRW5CLFlBQVksQ0FBQ21CLE9BQU8sSUFBSSxFQUFFO1FBQ25DQyxZQUFZLEVBQUVwQixZQUFZLENBQUNvQixZQUFZLElBQUksQ0FBQztRQUM1Q0MsV0FBVyxFQUFFckIsWUFBWSxDQUFDcUIsV0FBVyxJQUFJLENBQUM7UUFDMUNDLGFBQWEsRUFBRXRCLFlBQVksQ0FBQ3NCLGFBQWEsSUFBSSxDQUFDO1FBQzlDQyxjQUFjLEVBQUV2QixZQUFZLENBQUN1QixjQUFjLElBQUksQ0FBQztRQUNoREMsVUFBVSxFQUFFeEIsWUFBWSxDQUFDd0IsVUFBVSxJQUFJLENBQUM7UUFDeENDLFNBQVMsRUFBRXpCLFlBQVksQ0FBQ3lCLFNBQVMsSUFBSSxDQUFDO1FBQ3RDQyxXQUFXLEVBQUUxQixZQUFZLENBQUMwQixXQUFXLElBQUksQ0FBQztRQUMxQ0MsV0FBVyxFQUFFM0IsWUFBWSxDQUFDMkIsV0FBVyxJQUFJLENBQUM7UUFDMUNDLFVBQVUsRUFBRTVCLFlBQVksQ0FBQzRCLFVBQVUsSUFBSSxDQUFDO1FBQ3hDQyxZQUFZLEVBQUU3QixZQUFZLENBQUM2QixZQUFZLElBQUksQ0FBQztRQUM1Q0MsV0FBVyxFQUFFOUIsWUFBWSxDQUFDOEIsV0FBVyxJQUFJLEtBQUs7UUFDOUNDLFVBQVUsRUFBRS9CLFlBQVksQ0FBQytCLFVBQVUsSUFBSSxLQUFLO1FBQzVDQyxpQkFBaUIsRUFBRWhDLFlBQVksQ0FBQ2dDLGlCQUFpQixJQUFJLElBQUk7UUFDekRDLElBQUksRUFBRWpDLFlBQVksQ0FBQ2lDLElBQUksSUFBSTtNQUM3QixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDakMsWUFBWSxFQUFFbkIsSUFBSSxFQUFFcEosRUFBRSxDQUFDLENBQUM7O0VBRTVCO0VBQ0EwSCxpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFJLENBQUM4QyxlQUFlLElBQUlRLE9BQU8sRUFBRTtNQUMvQixJQUFJUCxvQkFBb0IsRUFBRTtRQUN4QmdDLHVEQUFBLENBQVFwUSxLQUFLLENBQUNvTyxvQkFBb0IsQ0FBQztNQUNyQyxDQUFDLE1BQU07UUFDTGdDLHVEQUFBLENBQVEvUSxPQUFPLENBQUNzRSxFQUFFLEdBQUcsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkVzSixRQUFRLENBQUMsZ0JBQWdCLENBQUM7TUFDNUI7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDa0IsZUFBZSxFQUFFQyxvQkFBb0IsRUFBRXpLLEVBQUUsRUFBRWdMLE9BQU8sRUFBRTFCLFFBQVEsQ0FBQyxDQUFDO0VBRWxFNUIsaURBQVMsQ0FBQyxZQUFNO0lBQ2QyQixRQUFRLENBQUN0QixvRkFBYSxDQUFDLENBQUMsQ0FBQztJQUN6QnNCLFFBQVEsQ0FBQ2xCLDBGQUFtQixDQUFDLENBQUMsQ0FBQztFQUNqQyxDQUFDLEVBQUUsQ0FBQ2tCLFFBQVEsQ0FBQyxDQUFDOztFQUVkO0VBQ0EzQixpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFNZ0YsV0FBVyxHQUFHQyxZQUFZLENBQUNsUSxPQUFPLENBQUNnTSxXQUFXLENBQUNDLGVBQWUsQ0FBQztJQUNyRSxJQUFJZ0UsV0FBVyxFQUFFO01BQ2YsSUFBTUUsTUFBTSxHQUFHck4sSUFBSSxDQUFDQyxLQUFLLENBQUNrTixXQUFXLENBQUM7TUFDdENoRCxzQkFBc0IsQ0FBQ2tELE1BQU0sQ0FBQzs7TUFFOUI7TUFDQSxJQUFNQyxVQUFVLEdBQUdELE1BQU0sQ0FBQyxDQUFDLENBQUM7TUFDNUIsSUFBSUMsVUFBVSxFQUFFO1FBQ2RDLHVCQUF1QixDQUFDRCxVQUFVLENBQUM7TUFDckM7SUFDRjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNRSxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUFJQyxJQUFpQyxFQUFFclgsS0FBb0IsRUFBSztJQUMxRixJQUFJcVgsSUFBSSxLQUFLLFFBQVEsRUFBRTtNQUNyQixJQUFJLENBQUNyWCxLQUFLLEVBQUU7UUFDVnlULElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztVQUFFUSxXQUFXLEVBQUUsQ0FBQztVQUFFQyxhQUFhLEVBQUU7UUFBRSxDQUFDLENBQUM7TUFDM0QsQ0FBQyxNQUFNO1FBQ0wsSUFBTW9CLElBQUksR0FBRzdELElBQUksQ0FBQzhELGFBQWEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO1FBQ25ELElBQU1DLE1BQU0sR0FBRy9ELElBQUksQ0FBQzhELGFBQWEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1FBRXZELElBQUlELElBQUksR0FBRyxDQUFDLElBQUlBLElBQUksSUFBSXRYLEtBQUssRUFBRTtVQUM3QnlULElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztZQUFFUyxhQUFhLEVBQUVsVyxLQUFLLEdBQUdzWDtVQUFLLENBQUMsQ0FBQztRQUN0RCxDQUFDLE1BQU0sSUFBSUUsTUFBTSxHQUFHLENBQUMsSUFBSUEsTUFBTSxJQUFJeFgsS0FBSyxFQUFFO1VBQ3hDeVQsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1lBQUVRLFdBQVcsRUFBRWpXLEtBQUssR0FBR3dYO1VBQU8sQ0FBQyxDQUFDO1FBQ3REO01BQ0Y7SUFDRjtJQUVBLElBQUlILElBQUksS0FBSyxNQUFNLEVBQUU7TUFDbkIsSUFBSSxDQUFDclgsS0FBSyxFQUFFO1FBQ1Z5VCxJQUFJLENBQUNnQyxjQUFjLENBQUM7VUFBRVksU0FBUyxFQUFFLENBQUM7VUFBRUMsV0FBVyxFQUFFO1FBQUUsQ0FBQyxDQUFDO01BQ3ZELENBQUMsTUFBTTtRQUNMLElBQU1nQixLQUFJLEdBQUc3RCxJQUFJLENBQUM4RCxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUNqRCxJQUFNQyxPQUFNLEdBQUcvRCxJQUFJLENBQUM4RCxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztRQUVyRCxJQUFJRCxLQUFJLEdBQUcsQ0FBQyxJQUFJQSxLQUFJLElBQUl0WCxLQUFLLEVBQUU7VUFDN0J5VCxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRWEsV0FBVyxFQUFFdFcsS0FBSyxHQUFHc1g7VUFBSyxDQUFDLENBQUM7UUFDcEQsQ0FBQyxNQUFNLElBQUlFLE9BQU0sR0FBRyxDQUFDLElBQUlBLE9BQU0sSUFBSXhYLEtBQUssRUFBRTtVQUN4Q3lULElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztZQUFFWSxTQUFTLEVBQUVyVyxLQUFLLEdBQUd3WDtVQUFPLENBQUMsQ0FBQztRQUNwRDtNQUNGO0lBQ0Y7SUFFQSxJQUFJSCxJQUFJLEtBQUssT0FBTyxFQUFFO01BQ3BCLElBQUksQ0FBQ3JYLEtBQUssRUFBRTtRQUNWeVQsSUFBSSxDQUFDZ0MsY0FBYyxDQUFDO1VBQUVlLFVBQVUsRUFBRSxDQUFDO1VBQUVDLFlBQVksRUFBRTtRQUFFLENBQUMsQ0FBQztNQUN6RCxDQUFDLE1BQU07UUFDTCxJQUFNYSxNQUFJLEdBQUc3RCxJQUFJLENBQUM4RCxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUNsRCxJQUFNQyxRQUFNLEdBQUcvRCxJQUFJLENBQUM4RCxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQztRQUV0RCxJQUFJRCxNQUFJLEdBQUcsQ0FBQyxJQUFJQSxNQUFJLElBQUl0WCxLQUFLLEVBQUU7VUFDN0J5VCxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRWdCLFlBQVksRUFBRXpXLEtBQUssR0FBR3NYO1VBQUssQ0FBQyxDQUFDO1FBQ3JELENBQUMsTUFBTSxJQUFJRSxRQUFNLEdBQUcsQ0FBQyxJQUFJQSxRQUFNLElBQUl4WCxLQUFLLEVBQUU7VUFDeEN5VCxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRWUsVUFBVSxFQUFFeFcsS0FBSyxHQUFHd1g7VUFBTyxDQUFDLENBQUM7UUFDckQ7TUFDRjtJQUNGO0VBQ0YsQ0FBQztFQUVELElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlKLElBQWlDLEVBQUUxQixNQUF5QixFQUFFM1YsS0FBb0IsRUFBSztJQUN0SCxJQUFNMFgsVUFBVSxHQUFHO01BQ2pCQyxNQUFNLEVBQUUsY0FBYztNQUN0QkMsSUFBSSxFQUFFLFlBQVk7TUFDbEJDLEtBQUssRUFBRTtJQUNULENBQUMsQ0FBQ1IsSUFBSSxDQUFDO0lBRVAsSUFBTVMsS0FBSyxHQUFHckUsSUFBSSxDQUFDOEQsYUFBYSxDQUFDRyxVQUFVLENBQUMsSUFBSSxDQUFDO0lBRWpELElBQUlJLEtBQUssS0FBSyxDQUFDLEVBQUU7TUFDZnJFLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQXNDLGVBQUEsQ0FBQUEsZUFBQSxRQUFBelEsTUFBQSxDQUNiK1AsSUFBSSxZQUFVLENBQUMsTUFBQS9QLE1BQUEsQ0FDZitQLElBQUksY0FBWSxDQUFDLENBQ3RCLENBQUM7TUFDRjtJQUNGO0lBQ0EsSUFBSXJYLEtBQUssR0FBRzhYLEtBQUssRUFBRTtNQUNqQmhCLHVEQUFBLENBQVFrQixPQUFPLENBQUMsbUNBQW1DLENBQUM7TUFDcER2RSxJQUFJLENBQUNnQyxjQUFjLENBQUFzQyxlQUFBLFFBQUF6USxNQUFBLENBQU8rUCxJQUFJLE9BQUEvUCxNQUFBLENBQUlxTyxNQUFNLEdBQUttQyxLQUFLLENBQUUsQ0FBQztNQUNyRHJFLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQXNDLGVBQUEsUUFBQXpRLE1BQUEsQ0FBTytQLElBQUksT0FBQS9QLE1BQUEsQ0FBSXFPLE1BQU0sS0FBSyxNQUFNLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBSyxDQUFDLENBQUUsQ0FBQztNQUNoRjtJQUNGO0lBQ0FsQyxJQUFJLENBQUNnQyxjQUFjLENBQUFzQyxlQUFBLFFBQUF6USxNQUFBLENBQU8rUCxJQUFJLE9BQUEvUCxNQUFBLENBQUlxTyxNQUFNLEtBQUssTUFBTSxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUttQyxLQUFLLEdBQUc5WCxLQUFLLENBQUUsQ0FBQztFQUM5RixDQUFDOztFQUVEO0VBQ0EsSUFBTWlZLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFJQyxNQUEwQixFQUFLO0lBQ25ELElBQUk3TixFQUFFLEVBQUU7TUFDTnFKLFFBQVEsQ0FBQ2hCLHlGQUFrQixDQUFDO1FBQUVySSxFQUFFLEVBQUVrTCxNQUFNLENBQUNsTCxFQUFFLENBQUM7UUFBRXpDLElBQUksRUFBRXNRO01BQU8sQ0FBQyxDQUFDLENBQUM7TUFDOUR6RSxJQUFJLENBQUMrQixXQUFXLENBQUMsQ0FBQztJQUNwQixDQUFDLE1BQU07TUFDTDlCLFFBQVEsQ0FBQ2pCLHlGQUFrQixDQUFDO1FBQUU3SyxJQUFJLEVBQUVzUTtNQUFPLENBQUMsQ0FBQyxDQUFDO01BQzlDekUsSUFBSSxDQUFDK0IsV0FBVyxDQUFDLENBQUM7SUFDcEI7SUFDQUYsVUFBVSxDQUFDLElBQUksQ0FBQztFQUNsQixDQUFDO0VBRUQsSUFBTTZCLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlnQixhQUE0QixFQUFLO0lBQ2hFO0lBQ0EsSUFBSUEsYUFBYSxDQUFDckksUUFBUSxFQUFFO01BQzFCLElBQU1zSSxhQUFhLE1BQUE5USxNQUFBLENBQU02USxhQUFhLENBQUNySSxRQUFRLENBQUN6RixFQUFFLE9BQUEvQyxNQUFBLENBQUk2USxhQUFhLENBQUNySSxRQUFRLENBQUN6TCxJQUFJLENBQUU7TUFDbkZvUCxJQUFJLENBQUNnQyxjQUFjLENBQUM7UUFBRTNGLFFBQVEsRUFBRXNJO01BQWMsQ0FBQyxDQUFDO01BQ2hEMUUsUUFBUSxDQUFDckIsb0ZBQWEsQ0FBQztRQUFFaEksRUFBRSxFQUFFa0wsTUFBTSxDQUFDNEMsYUFBYSxDQUFDckksUUFBUSxDQUFDekYsRUFBRTtNQUFFLENBQUMsQ0FBQyxDQUFDOztNQUVsRTtNQUNBLElBQUk4TixhQUFhLENBQUN0QyxRQUFRLEVBQUU7UUFDMUIsSUFBTXdDLGFBQWEsTUFBQS9RLE1BQUEsQ0FBTTZRLGFBQWEsQ0FBQ3RDLFFBQVEsQ0FBQ3hMLEVBQUUsT0FBQS9DLE1BQUEsQ0FBSTZRLGFBQWEsQ0FBQ3RDLFFBQVEsQ0FBQ3hSLElBQUksQ0FBRTtRQUNuRm9QLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztVQUFFSSxRQUFRLEVBQUV3QztRQUFjLENBQUMsQ0FBQztRQUNoRDNFLFFBQVEsQ0FBQ3BCLG1GQUFZLENBQUM7VUFBRWpJLEVBQUUsRUFBRWtMLE1BQU0sQ0FBQzRDLGFBQWEsQ0FBQ3RDLFFBQVEsQ0FBQ3hMLEVBQUU7UUFBRSxDQUFDLENBQUMsQ0FBQzs7UUFFakU7UUFDQSxJQUFJOE4sYUFBYSxDQUFDckMsT0FBTyxFQUFFO1VBQ3pCLElBQU13QyxZQUFZLE1BQUFoUixNQUFBLENBQU02USxhQUFhLENBQUNyQyxPQUFPLENBQUN6TCxFQUFFLE9BQUEvQyxNQUFBLENBQUk2USxhQUFhLENBQUNyQyxPQUFPLENBQUN6UixJQUFJLENBQUU7VUFDaEZvUCxJQUFJLENBQUNnQyxjQUFjLENBQUM7WUFBRUssT0FBTyxFQUFFd0M7VUFBYSxDQUFDLENBQUM7VUFDOUM1RSxRQUFRLENBQUNuQiwwRkFBbUIsQ0FBQztZQUFFbEksRUFBRSxFQUFFa0wsTUFBTSxDQUFDNEMsYUFBYSxDQUFDckMsT0FBTyxDQUFDekwsRUFBRTtVQUFFLENBQUMsQ0FBQyxDQUFDOztVQUV2RTtVQUNBLElBQUk4TixhQUFhLENBQUNwQyxPQUFPLEVBQUU7WUFDekIsSUFBTXdDLFlBQVksTUFBQWpSLE1BQUEsQ0FBTTZRLGFBQWEsQ0FBQ3BDLE9BQU8sQ0FBQzFMLEVBQUUsT0FBQS9DLE1BQUEsQ0FBSTZRLGFBQWEsQ0FBQ3BDLE9BQU8sQ0FBQzFSLElBQUksQ0FBRTtZQUNoRm9QLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztjQUFFTSxPQUFPLEVBQUV3QztZQUFhLENBQUMsQ0FBQztVQUNoRDtRQUNGO01BQ0Y7SUFDRjtFQUNGLENBQUM7RUFFRCxJQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxRQUFnQyxFQUFLO0lBQzlELElBQU1DLFlBQVksR0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQ2JGLFFBQVE7TUFDWEcsU0FBUyxFQUFFLElBQUkzZCxJQUFJLENBQUMsQ0FBQyxDQUFDNGQsV0FBVyxDQUFDO0lBQUMsRUFDcEM7O0lBRUQ7SUFDQSxJQUFNQyxjQUFjLEdBQUdoRixtQkFBbUIsQ0FBQ2lGLE1BQU0sQ0FBQyxVQUFBQyxLQUFLO01BQUEsSUFBQUMscUJBQUEsRUFBQUMsZUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxjQUFBLEVBQUFDLHFCQUFBO01BQUEsT0FDckRMLEtBQUssQ0FBQ2xKLFFBQVEsQ0FBQ3pGLEVBQUUsT0FBQTRPLHFCQUFBLEdBQUtQLFlBQVksQ0FBQzVJLFFBQVEsY0FBQW1KLHFCQUFBLHVCQUFyQkEscUJBQUEsQ0FBdUI1TyxFQUFFLEtBQy9DLEVBQUE2TyxlQUFBLEdBQUFGLEtBQUssQ0FBQ25ELFFBQVEsY0FBQXFELGVBQUEsdUJBQWRBLGVBQUEsQ0FBZ0I3TyxFQUFFLFFBQUE4TyxxQkFBQSxHQUFLVCxZQUFZLENBQUM3QyxRQUFRLGNBQUFzRCxxQkFBQSx1QkFBckJBLHFCQUFBLENBQXVCOU8sRUFBRSxLQUNoRCxFQUFBK08sY0FBQSxHQUFBSixLQUFLLENBQUNsRCxPQUFPLGNBQUFzRCxjQUFBLHVCQUFiQSxjQUFBLENBQWUvTyxFQUFFLFFBQUFnUCxxQkFBQSxHQUFLWCxZQUFZLENBQUM1QyxPQUFPLGNBQUF1RCxxQkFBQSx1QkFBcEJBLHFCQUFBLENBQXNCaFAsRUFBRTtJQUFBLENBQ2hELENBQUM7SUFFRCxJQUFNaVAsU0FBUyxHQUFHLENBQUNaLFlBQVksRUFBQXBSLE1BQUEsQ0FBQWlTLGtCQUFBLENBQUtULGNBQWMsR0FBRTNVLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9ENFAsc0JBQXNCLENBQUN1RixTQUFTLENBQUM7SUFDakN0QyxZQUFZLENBQUN3QyxPQUFPLENBQUMxRyxXQUFXLENBQUNDLGVBQWUsRUFBRW5KLElBQUksQ0FBQ25DLFNBQVMsQ0FBQzZSLFNBQVMsQ0FBQyxDQUFDO0VBQzlFLENBQUM7RUFFRCxJQUFNRyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFJelosS0FBYyxFQUFLO0lBQy9DLElBQUksQ0FBQ0EsS0FBSyxFQUFFO0lBQ1osSUFBQTBaLFlBQUEsR0FBbUMxWixLQUFLLENBQUMyWixLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFDLGFBQUEsR0FBQWhXLGNBQUEsQ0FBQThWLFlBQUE7TUFBNUNHLFVBQVUsR0FBQUQsYUFBQTtNQUFFRSxZQUFZLEdBQUFGLGFBQUE7SUFDL0JsRyxRQUFRLENBQUNyQixvRkFBYSxDQUFDO01BQUVoSSxFQUFFLEVBQUVrTCxNQUFNLENBQUNzRSxVQUFVLENBQUNFLElBQUksQ0FBQyxDQUFDO0lBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUR0RyxJQUFJLENBQUNnQyxjQUFjLENBQUM7TUFBRUksUUFBUSxFQUFFMU8sU0FBUztNQUFFMk8sT0FBTyxFQUFFM08sU0FBUztNQUFFNE8sT0FBTyxFQUFFNU87SUFBVSxDQUFDLENBQUM7SUFFcEZxUixpQkFBaUIsQ0FBQztNQUNoQjFJLFFBQVEsRUFBRTtRQUNSekYsRUFBRSxFQUFFd1AsVUFBVSxDQUFDRSxJQUFJLENBQUMsQ0FBQztRQUNyQjFWLElBQUksRUFBRXlWLFlBQVksQ0FBQ0MsSUFBSSxDQUFDO01BQzFCO0lBQ0YsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUloYSxLQUFjLEVBQUs7SUFBQSxJQUFBaWEsbUJBQUE7SUFDL0MsSUFBSSxDQUFDamEsS0FBSyxFQUFFO0lBQ1osSUFBQWthLGFBQUEsR0FBbUNsYSxLQUFLLENBQUMyWixLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFRLGFBQUEsR0FBQXZXLGNBQUEsQ0FBQXNXLGFBQUE7TUFBNUNFLFVBQVUsR0FBQUQsYUFBQTtNQUFFRSxZQUFZLEdBQUFGLGFBQUE7SUFDL0J6RyxRQUFRLENBQUNwQixtRkFBWSxDQUFDO01BQUVqSSxFQUFFLEVBQUVrTCxNQUFNLENBQUM2RSxVQUFVLENBQUNMLElBQUksQ0FBQyxDQUFDO0lBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekR0RyxJQUFJLENBQUNnQyxjQUFjLENBQUM7TUFBRUssT0FBTyxFQUFFM08sU0FBUztNQUFFNE8sT0FBTyxFQUFFNU87SUFBVSxDQUFDLENBQUM7SUFFL0QsSUFBTW1ULGVBQWUsSUFBQUwsbUJBQUEsR0FBR3hHLElBQUksQ0FBQzhELGFBQWEsQ0FBQyxVQUFVLENBQUMsY0FBQTBDLG1CQUFBLHVCQUE5QkEsbUJBQUEsQ0FBZ0NOLEtBQUssQ0FBQyxHQUFHLENBQUM7SUFDbEUsSUFBSVcsZUFBZSxFQUFFO01BQ25COUIsaUJBQWlCLENBQUM7UUFDaEIxSSxRQUFRLEVBQUU7VUFDUnpGLEVBQUUsRUFBRWlRLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1AsSUFBSSxDQUFDLENBQUM7VUFDN0IxVixJQUFJLEVBQUVpVyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNQLElBQUksQ0FBQztRQUNoQyxDQUFDO1FBQ0RsRSxRQUFRLEVBQUU7VUFDUnhMLEVBQUUsRUFBRStQLFVBQVUsQ0FBQ0wsSUFBSSxDQUFDLENBQUM7VUFDckIxVixJQUFJLEVBQUVnVyxZQUFZLENBQUNOLElBQUksQ0FBQztRQUMxQjtNQUNGLENBQUMsQ0FBQztJQUNKO0VBQ0YsQ0FBQztFQUVELElBQU1RLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUl2YSxLQUFjLEVBQUs7SUFBQSxJQUFBd2Esb0JBQUEsRUFBQUMsb0JBQUE7SUFDOUMsSUFBSSxDQUFDemEsS0FBSyxFQUFFO0lBQ1osSUFBQTBhLGFBQUEsR0FBaUMxYSxLQUFLLENBQUMyWixLQUFLLENBQUMsR0FBRyxDQUFDO01BQUFnQixhQUFBLEdBQUEvVyxjQUFBLENBQUE4VyxhQUFBO01BQTFDRSxTQUFTLEdBQUFELGFBQUE7TUFBRUUsV0FBVyxHQUFBRixhQUFBO0lBQzdCakgsUUFBUSxDQUFDbkIsMEZBQW1CLENBQUM7TUFBRWxJLEVBQUUsRUFBRWtMLE1BQU0sQ0FBQ3FGLFNBQVMsQ0FBQ2IsSUFBSSxDQUFDLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRHRHLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQztNQUFFTSxPQUFPLEVBQUU1TztJQUFVLENBQUMsQ0FBQztJQUUzQyxJQUFNbVQsZUFBZSxJQUFBRSxvQkFBQSxHQUFHL0csSUFBSSxDQUFDOEQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxjQUFBaUQsb0JBQUEsdUJBQTlCQSxvQkFBQSxDQUFnQ2IsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRSxJQUFNbUIsZUFBZSxJQUFBTCxvQkFBQSxHQUFHaEgsSUFBSSxDQUFDOEQsYUFBYSxDQUFDLFVBQVUsQ0FBQyxjQUFBa0Qsb0JBQUEsdUJBQTlCQSxvQkFBQSxDQUFnQ2QsS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUNsRSxJQUFJVyxlQUFlLElBQUlRLGVBQWUsRUFBRTtNQUN0Q3RDLGlCQUFpQixDQUFDO1FBQ2hCMUksUUFBUSxFQUFFO1VBQ1J6RixFQUFFLEVBQUVpUSxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNQLElBQUksQ0FBQyxDQUFDO1VBQzdCMVYsSUFBSSxFQUFFaVcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDUCxJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNEbEUsUUFBUSxFQUFFO1VBQ1J4TCxFQUFFLEVBQUV5USxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUNmLElBQUksQ0FBQyxDQUFDO1VBQzdCMVYsSUFBSSxFQUFFeVcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDZixJQUFJLENBQUM7UUFDaEMsQ0FBQztRQUNEakUsT0FBTyxFQUFFO1VBQ1B6TCxFQUFFLEVBQUV1USxTQUFTLENBQUNiLElBQUksQ0FBQyxDQUFDO1VBQ3BCMVYsSUFBSSxFQUFFd1csV0FBVyxDQUFDZCxJQUFJLENBQUM7UUFDekI7TUFDRixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUM7RUFFRCxJQUFNZ0IsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztJQUN6QnRILElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDO0lBQ2xCd0IsWUFBWSxDQUFDZ0UsVUFBVSxDQUFDbEksV0FBVyxDQUFDRSxjQUFjLENBQUM7SUFDbkRXLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztFQUM1QixDQUFDO0VBRUQsSUFBTXNILFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFBLEVBQVM7SUFDdEIsSUFBTS9ELFVBQVUsR0FBR3BELG1CQUFtQixDQUFDLENBQUMsQ0FBQztJQUV6QyxJQUFJLENBQUNvRCxVQUFVLEVBQUUsT0FBTyxJQUFJO0lBRTVCLG9CQUNFcGQsMkRBQUE7TUFBS0ssS0FBSyxFQUFFO1FBQUUrZ0IsWUFBWSxFQUFFO01BQUc7SUFBRSxnQkFDL0JwaEIsMkRBQUEsQ0FBQXFoQixxREFBQTtNQUFPQyxLQUFLLEVBQUM7SUFBUSxnQkFDbkJ0aEIsMkRBQUEsZUFBTSx1RkFBb0MsQ0FBQyxlQUMzQ0EsMkRBQUEsQ0FBQXVoQixtREFBQTtNQUFLQyxLQUFLLEVBQUM7SUFBTSxHQUNkcEUsVUFBVSxDQUFDcEgsUUFBUSxDQUFDekwsSUFBSSxFQUN4QjZTLFVBQVUsQ0FBQ3JCLFFBQVEsVUFBQXZPLE1BQUEsQ0FBVTRQLFVBQVUsQ0FBQ3JCLFFBQVEsQ0FBQ3hSLElBQUksQ0FBRSxFQUN2RDZTLFVBQVUsQ0FBQ3BCLE9BQU8sVUFBQXhPLE1BQUEsQ0FBVTRQLFVBQVUsQ0FBQ3BCLE9BQU8sQ0FBQ3pSLElBQUksQ0FDakQsQ0FDQSxDQUNKLENBQUM7RUFFVixDQUFDOztFQUVEO0VBQ0EwTixpREFBUyxDQUFDLFlBQU07SUFDZCxJQUFNZ0YsV0FBVyxHQUFHQyxZQUFZLENBQUNsUSxPQUFPLENBQUNnTSxXQUFXLENBQUNDLGVBQWUsQ0FBQztJQUNyRSxJQUFJZ0UsV0FBVyxFQUFFO01BQ2YsSUFBTUUsTUFBTSxHQUFHck4sSUFBSSxDQUFDQyxLQUFLLENBQUNrTixXQUFXLENBQUM7TUFDdENoRCxzQkFBc0IsQ0FBQ2tELE1BQU0sQ0FBQzs7TUFFOUI7TUFDQSxJQUFNQyxVQUFVLEdBQUdELE1BQU0sQ0FBQyxDQUFDLENBQUM7TUFDNUIsSUFBSUMsVUFBVSxFQUFFO1FBQ2RDLHVCQUF1QixDQUFDRCxVQUFVLENBQUM7TUFDckM7SUFDRjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTm5GLGlEQUFTLENBQUMsWUFBTTtJQUNkLElBQUlxQixhQUFhLElBQUtELFVBQVcsRUFBRTtNQUNqQ00sSUFBSSxDQUFDZ0MsY0FBYyxDQUFDckMsYUFBYSxDQUFDO0lBQ3BDO0VBQ0YsQ0FBQyxFQUFFLENBQUNBLGFBQWEsRUFBRUssSUFBSSxFQUFFTixVQUFVLENBQUMsQ0FBQztFQUVyQyxvQkFDRXJaLDJEQUFBLENBQUF5aEIsb0RBQUEscUJBQ0V6aEIsMkRBQUEsQ0FBQXdaLHFEQUFBO0lBQ0VHLElBQUksRUFBRUEsSUFBSztJQUNYK0gsTUFBTSxFQUFDLFVBQVU7SUFDakJDLFFBQVEsRUFBRXhELFlBQWE7SUFDdkJ5RCxRQUFRLEVBQUV2SSxVQUFXO0lBQ3JCQyxhQUFhLEVBQUVBO0VBQWMsZ0JBRTdCdFosMkRBQUEsQ0FBQ21oQixTQUFTLE1BQUUsQ0FBQyxlQUNibmhCLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUNSQyxLQUFLLEVBQUMsd0ZBQTRCO0lBQ2xDeFgsSUFBSSxFQUFDLE1BQU07SUFDWHlYLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUV0VixPQUFPLEVBQUU7SUFBMkIsQ0FBQztFQUFFLGdCQUVqRTNNLDJEQUFBLENBQUFraUIscURBQUE7SUFBT0MsV0FBVyxFQUFDO0VBQW1CLENBQUUsQ0FDL0IsQ0FDUixDQUFDLGVBQ05uaUIsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS2toQixJQUFJLEVBQUU7RUFBRSxnQkFDWDdoQiwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFDUkMsS0FBSyxFQUFDLDRFQUFxQjtJQUMzQnhYLElBQUksRUFBQyxPQUFPO0lBQ1p5WCxLQUFLLEVBQUUsQ0FDTDtNQUFFQyxRQUFRLEVBQUUsSUFBSTtNQUFFdFYsT0FBTyxFQUFFO0lBQTRCLENBQUMsRUFDeEQ7TUFBRXlWLE9BQU8sRUFBRSxVQUFVO01BQUV6VixPQUFPLEVBQUU7SUFBNkIsQ0FBQztFQUM5RCxnQkFFRjNNLDJEQUFBLENBQUFraUIscURBQUE7SUFBT0MsV0FBVyxFQUFDO0VBQW9CLENBQUUsQ0FDaEMsQ0FDUixDQUNGLENBQUMsZUFHTm5pQiwyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS2toQixJQUFJLEVBQUU7RUFBRSxnQkFDWDdoQiwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFDUkMsS0FBSyxFQUFDLDZCQUFjO0lBQ3BCeFgsSUFBSSxFQUFDLFFBQVE7SUFDYnlYLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUV0VixPQUFPLEVBQUU7SUFBdUIsQ0FBQztFQUFFLGdCQUU3RDNNLDJEQUFBLENBQUErWSx1REFBQTtJQUFRb0osV0FBVyxFQUFDO0VBQWUsZ0JBQ2pDbmlCLDJEQUFBLENBQUM4WSxNQUFNO0lBQUM1UyxLQUFLLEVBQUM7RUFBTSxHQUFDLHVDQUFvQixDQUFDLGVBQzFDbEcsMkRBQUEsQ0FBQzhZLE1BQU07SUFBQzVTLEtBQUssRUFBQztFQUFRLEdBQUMsbUNBQXFCLENBQ3RDLENBQ0MsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUNSQyxLQUFLLEVBQUMsZ0NBQVk7SUFDbEJ4WCxJQUFJLEVBQUMsS0FBSztJQUNWeVgsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRXRWLE9BQU8sRUFBRTtJQUFtQixDQUFDO0VBQUUsZ0JBRXpEM00sMkRBQUEsQ0FBQXFpQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDamlCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU87RUFBRSxDQUFFLENBQ3ZDLENBQ1IsQ0FDRixDQUFDLGVBR052RywyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFBQ3ZYLElBQUksRUFBQyxVQUFVO0lBQUN3WCxLQUFLLEVBQUMsK0VBQTZCO0lBQUNDLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRTtJQUFLLENBQUM7RUFBRSxnQkFDekZqaUIsMkRBQUEsQ0FBQStZLHVEQUFBO0lBQVFvSixXQUFXLEVBQUMsaUJBQWlCO0lBQUNJLFFBQVEsRUFBRTVDO0VBQXFCLEdBQ2xFdEYsU0FBUyxDQUFDM1IsTUFBTSxHQUNmMlIsU0FBUyxDQUNONEUsTUFBTSxDQUFDLFVBQUE5VyxDQUFDO0lBQUEsT0FBSXFhLG9CQUFvQixDQUFDQyxRQUFRLENBQUN0YSxDQUFDLENBQUNvSSxFQUFFLENBQUNuRyxRQUFRLENBQUMsQ0FBQyxDQUFDc1ksUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztFQUFBLEVBQUMsQ0FDNUVDLEdBQUcsQ0FBQyxVQUFDeGEsQ0FBQztJQUFBLG9CQUNMbkksMkRBQUEsQ0FBQzhZLE1BQU07TUFBQzdTLEdBQUcsRUFBRWtDLENBQUMsQ0FBQ29JLEVBQUc7TUFBQ3JLLEtBQUssS0FBQXNILE1BQUEsQ0FBS3JGLENBQUMsQ0FBQ29JLEVBQUUsUUFBQS9DLE1BQUEsQ0FBS3JGLENBQUMsQ0FBQ29DLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTXJGLENBQUMsQ0FBQ29DLElBQUksQ0FBQ3NZLEtBQUs7SUFBRyxNQUFBclYsTUFBQSxDQUM5RHJGLENBQUMsQ0FBQ29DLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTXJGLENBQUMsQ0FBQ29DLElBQUksQ0FBQ3NZLEtBQUssQ0FDekIsQ0FBQztFQUFBLENBQ1YsQ0FBQyxnQkFFSjdpQiwyREFBQSxDQUFDOFksTUFBTTtJQUFDOEksUUFBUTtFQUFBLEdBQUMsd0JBQThCLENBRTNDLENBQ0MsQ0FDUixDQUFDLGVBQ041aEIsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFLEVBQUc7SUFBQ0MsRUFBRSxFQUFFO0VBQUUsZ0JBQ3pCZCwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFBQ3ZYLElBQUksRUFBQyxVQUFVO0lBQUN3WCxLQUFLLEVBQUMseUVBQTRCO0lBQUNDLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRTtJQUFLLENBQUM7RUFBRSxnQkFDeEZqaUIsMkRBQUEsQ0FBQStZLHVEQUFBO0lBQVFvSixXQUFXLEVBQUMsaUJBQWlCO0lBQUNJLFFBQVEsRUFBRXJDO0VBQXFCLEdBQ2xFM0YsU0FBUyxDQUFDN1IsTUFBTSxHQUNmNlIsU0FBUyxDQUFDb0ksR0FBRyxDQUFDLFVBQUNuYSxDQUFDO0lBQUEsb0JBQ2R4SSwyREFBQSxDQUFDOFksTUFBTTtNQUFDN1MsR0FBRyxFQUFFdUMsQ0FBQyxDQUFDK0gsRUFBRztNQUFDckssS0FBSyxLQUFBc0gsTUFBQSxDQUFLaEYsQ0FBQyxDQUFDK0gsRUFBRSxRQUFBL0MsTUFBQSxDQUFLaEYsQ0FBQyxDQUFDK0IsSUFBSSxDQUFDcVksRUFBRSxTQUFBcFYsTUFBQSxDQUFNaEYsQ0FBQyxDQUFDK0IsSUFBSSxDQUFDc1ksS0FBSztJQUFHLE1BQUFyVixNQUFBLENBQzlEaEYsQ0FBQyxDQUFDK0IsSUFBSSxDQUFDcVksRUFBRSxTQUFBcFYsTUFBQSxDQUFNaEYsQ0FBQyxDQUFDK0IsSUFBSSxDQUFDc1ksS0FBSyxDQUN6QixDQUFDO0VBQUEsQ0FDVixDQUFDLGdCQUVGN2lCLDJEQUFBLENBQUM4WSxNQUFNO0lBQUM4SSxRQUFRO0VBQUEsR0FBQyx3QkFBOEIsQ0FFM0MsQ0FDQyxDQUNSLENBQUMsZUFDTjVoQiwyREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUU7RUFBRSxnQkFDekJkLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDdlgsSUFBSSxFQUFDLFNBQVM7SUFBQ3dYLEtBQUssRUFBQyxpRkFBK0I7SUFBQ0MsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFO0lBQUssQ0FBQztFQUFFLGdCQUMxRmppQiwyREFBQSxDQUFBK1ksdURBQUE7SUFBUW9KLFdBQVcsRUFBQyxnQkFBZ0I7SUFBQ0ksUUFBUSxFQUFFOUI7RUFBb0IsR0FDaEVoRyxRQUFRLENBQUMvUixNQUFNLEdBQ2QrUixRQUFRLENBQUNrSSxHQUFHLENBQUMsVUFBQ2hiLENBQUM7SUFBQSxvQkFDYjNILDJEQUFBLENBQUM4WSxNQUFNO01BQUM3UyxHQUFHLEVBQUUwQixDQUFDLENBQUM0SSxFQUFHO01BQUNySyxLQUFLLEtBQUFzSCxNQUFBLENBQUs3RixDQUFDLENBQUM0SSxFQUFFLFFBQUEvQyxNQUFBLENBQUs3RixDQUFDLENBQUM0QyxJQUFJLENBQUNxWSxFQUFFLFNBQUFwVixNQUFBLENBQU03RixDQUFDLENBQUM0QyxJQUFJLENBQUNzWSxLQUFLO0lBQUcsTUFBQXJWLE1BQUEsQ0FDOUQ3RixDQUFDLENBQUM0QyxJQUFJLENBQUNxWSxFQUFFLFNBQUFwVixNQUFBLENBQU03RixDQUFDLENBQUM0QyxJQUFJLENBQUNzWSxLQUFLLENBQ3pCLENBQUM7RUFBQSxDQUNWLENBQUMsZ0JBRUY3aUIsMkRBQUEsQ0FBQzhZLE1BQU07SUFBQzhJLFFBQVE7RUFBQSxHQUFDLHVCQUE2QixDQUUxQyxDQUNDLENBQ1IsQ0FBQyxlQUNONWhCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRTtFQUFFLGdCQUN6QmQsMkRBQUEsQ0FBQXdaLHFEQUFBLENBQU1zSSxJQUFJO0lBQUN2WCxJQUFJLEVBQUMsU0FBUztJQUFDd1gsS0FBSyxFQUFDO0VBQWdCLGdCQUM5Qy9oQiwyREFBQSxDQUFBK1ksdURBQUE7SUFBUW9KLFdBQVcsRUFBQztFQUFnQixHQUNqQ3hILFFBQVEsQ0FBQ2pTLE1BQU0sR0FDZGlTLFFBQVEsQ0FBQ2dJLEdBQUcsQ0FBQyxVQUFDcmEsQ0FBQztJQUFBLG9CQUNidEksMkRBQUEsQ0FBQzhZLE1BQU07TUFBQzdTLEdBQUcsRUFBRXFDLENBQUMsQ0FBQ2lJLEVBQUc7TUFBQ3JLLEtBQUssS0FBQXNILE1BQUEsQ0FBS2xGLENBQUMsQ0FBQ2lDLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTWxGLENBQUMsQ0FBQ2lDLElBQUksQ0FBQ3NZLEtBQUs7SUFBRyxNQUFBclYsTUFBQSxDQUNyRGxGLENBQUMsQ0FBQ2lDLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTWxGLENBQUMsQ0FBQ2lDLElBQUksQ0FBQ3NZLEtBQUssQ0FDekIsQ0FBQztFQUFBLENBQ1YsQ0FBQyxnQkFFRjdpQiwyREFBQSxDQUFDOFksTUFBTTtJQUFDOEksUUFBUTtFQUFBLEdBQUMsdUJBQTZCLENBRTFDLENBQ0MsQ0FDUixDQUNGLENBQUMsZUFHTjVoQiwyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS2toQixJQUFJLEVBQUU7RUFBRSxnQkFDWDdoQiwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLDhFQUE0QjtJQUFDeFgsSUFBSSxFQUFDLGNBQWM7SUFBQ3lYLEtBQUssRUFBRSxDQUFDO01BQUVDLFFBQVEsRUFBRSxJQUFJO01BQUV0VixPQUFPLEVBQUU7SUFBNEIsQ0FBQztFQUFFLGdCQUNsSTNNLDJEQUFBLENBQUFxaUIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQ2ppQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQ2djLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHcmMsS0FBSztNQUFBLE9BQUtvWCxzQkFBc0IsQ0FBQyxRQUFRLEVBQUVwWCxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDckcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsbUZBQTRCO0lBQUN4WCxJQUFJLEVBQUMsYUFBYTtJQUFDeVgsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRXRWLE9BQU8sRUFBRTtJQUEyQixDQUFDO0VBQUUsZ0JBQ2hJM00sMkRBQUEsQ0FBQXFpQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDamlCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFDZ2MsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdyYyxLQUFLO01BQUEsT0FBS3lYLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUV6WCxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDOUcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsK0VBQTZCO0lBQUN4WCxJQUFJLEVBQUMsZUFBZTtJQUFDeVgsS0FBSyxFQUFFLENBQUM7TUFBRUMsUUFBUSxFQUFFLElBQUk7TUFBRXRWLE9BQU8sRUFBRTtJQUE2QixDQUFDO0VBQUUsZ0JBQ3JJM00sMkRBQUEsQ0FBQXFpQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDamlCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFDZ2MsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdyYyxLQUFLO01BQUEsT0FBS3lYLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUV6WCxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDaEgsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsbUhBQW1DO0lBQUN4WCxJQUFJLEVBQUM7RUFBZ0IsZ0JBQUN2SywyREFBQSxDQUFBcWlCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUNqaUIsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTztFQUFFLENBQUUsQ0FDaEgsQ0FDUixDQUNGLENBQUMsZUFHTnZHLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsc0hBQWdEO0lBQUN4WCxJQUFJLEVBQUM7RUFBWSxnQkFDakZ2SywyREFBQSxDQUFBcWlCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUNqaUIsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQUNnYyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3JjLEtBQUs7TUFBQSxPQUFLb1gsc0JBQXNCLENBQUMsTUFBTSxFQUFFcFgsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQ25HLENBQ1IsQ0FBQyxlQUNObEcsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS2toQixJQUFJLEVBQUU7RUFBRSxnQkFDWDdoQiwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFBQ0MsS0FBSyxFQUFDLG9FQUF1QjtJQUFDeFgsSUFBSSxFQUFDO0VBQVcsZ0JBQ3ZEdkssMkRBQUEsQ0FBQXFpQiw0REFBQTtJQUFhQyxHQUFHLEVBQUUsQ0FBRTtJQUFDamlCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUFDZ2MsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdyYyxLQUFLO01BQUEsT0FBS3lYLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUV6WCxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDNUcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsZ0VBQXdCO0lBQUN4WCxJQUFJLEVBQUM7RUFBYSxnQkFDMUR2SywyREFBQSxDQUFBcWlCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUNqaUIsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQUNnYyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3JjLEtBQUs7TUFBQSxPQUFLeVgsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRXpYLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUM5RyxDQUNSLENBQ0YsQ0FBQyxlQUNObEcsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFO0VBQUcsZ0JBQ2RWLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtraEIsSUFBSSxFQUFFO0VBQUUsZ0JBQ1g3aEIsMkRBQUEsQ0FBQXdaLHFEQUFBLENBQU1zSSxJQUFJO0lBQUNDLEtBQUssRUFBQywwSUFBcUQ7SUFBQ3hYLElBQUksRUFBQztFQUFhLGdCQUN2RnZLLDJEQUFBLENBQUFxaUIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQ2ppQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQ2djLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHcmMsS0FBSztNQUFBLE9BQUtvWCxzQkFBc0IsQ0FBQyxPQUFPLEVBQUVwWCxLQUFLLENBQUM7SUFBQTtFQUFDLENBQUUsQ0FDcEcsQ0FDUixDQUFDLGVBQ05sRywyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUFDQyxLQUFLLEVBQUMsMkVBQXlCO0lBQUN4WCxJQUFJLEVBQUM7RUFBWSxnQkFDMUR2SywyREFBQSxDQUFBcWlCLDREQUFBO0lBQWFDLEdBQUcsRUFBRSxDQUFFO0lBQUNqaUIsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQUNnYyxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3JjLEtBQUs7TUFBQSxPQUFLeVgsdUJBQXVCLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRXpYLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FBRSxDQUM3RyxDQUNSLENBQUMsZUFDTmxHLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtraEIsSUFBSSxFQUFFO0VBQUUsZ0JBQ1g3aEIsMkRBQUEsQ0FBQXdaLHFEQUFBLENBQU1zSSxJQUFJO0lBQUNDLEtBQUssRUFBQyw2RUFBMkI7SUFBQ3hYLElBQUksRUFBQztFQUFjLGdCQUM5RHZLLDJEQUFBLENBQUFxaUIsNERBQUE7SUFBYUMsR0FBRyxFQUFFLENBQUU7SUFBQ2ppQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFBQ2djLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFHcmMsS0FBSztNQUFBLE9BQUt5WCx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFelgsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQy9HLENBQ1IsQ0FDRixDQUFDLGVBR05sRywyREFBQSxDQUFBUyxtREFBQTtJQUFLQyxNQUFNLEVBQUU7RUFBRyxnQkFDZFYsMkRBQUEsQ0FBQVcsbURBQUE7SUFBS2toQixJQUFJLEVBQUU7RUFBRSxnQkFBQzdoQiwyREFBQSxDQUFBd1oscURBQUEsQ0FBTXNJLElBQUk7SUFBQ3ZYLElBQUksRUFBQyxhQUFhO0lBQUN1WSxhQUFhLEVBQUMsU0FBUztJQUFDQyxZQUFZLEVBQUU7RUFBTSxnQkFBQy9pQiwyREFBQSxDQUFBZ2pCLHdEQUFBLFFBQVUsK0VBQWdDLENBQVksQ0FBTSxDQUFDLGVBQ3RKaGpCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtraEIsSUFBSSxFQUFFO0VBQUUsZ0JBQUM3aEIsMkRBQUEsQ0FBQXdaLHFEQUFBLENBQU1zSSxJQUFJO0lBQUN2WCxJQUFJLEVBQUMsWUFBWTtJQUFDdVksYUFBYSxFQUFDLFNBQVM7SUFBQ0MsWUFBWSxFQUFFO0VBQU0sZ0JBQUMvaUIsMkRBQUEsQ0FBQWdqQix3REFBQSxRQUFVLDJHQUEyQyxDQUFZLENBQU0sQ0FDNUosQ0FBQyxlQUdOaGpCLDJEQUFBLENBQUFTLG1EQUFBO0lBQUtDLE1BQU0sRUFBRTtFQUFHLGdCQUNkViwyREFBQSxDQUFBVyxtREFBQTtJQUFLa2hCLElBQUksRUFBRTtFQUFFLGdCQUNYN2hCLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSTtJQUNSdlgsSUFBSSxFQUFDLG1CQUFtQjtJQUN4QndYLEtBQUssRUFBQztFQUFvQyxnQkFFMUMvaEIsMkRBQUEsQ0FBQStZLHVEQUFBO0lBQ0VvSixXQUFXLEVBQUMsZ0xBQW1EO0lBQy9EYyxVQUFVO0VBQUEsR0FFVHBJLGVBQWUsYUFBZkEsZUFBZSxnQkFBQXpCLHFCQUFBLEdBQWZ5QixlQUFlLENBQUUvTSxJQUFJLGNBQUFzTCxxQkFBQSx1QkFBckJBLHFCQUFBLENBQXVCdUosR0FBRyxDQUFDLFVBQUFPLE1BQU07SUFBQSxvQkFDaENsakIsMkRBQUEsQ0FBQzhZLE1BQU07TUFBQzdTLEdBQUcsRUFBRWlkLE1BQU0sQ0FBQzNTLEVBQUc7TUFBQ3JLLEtBQUssRUFBRWdkLE1BQU0sQ0FBQzNTO0lBQUcsR0FDdEMyUyxNQUFNLENBQUMzWSxJQUNGLENBQUM7RUFBQSxDQUNWLENBQ0ssQ0FDQyxDQUNSLENBQ0YsQ0FBQyxlQUdOdkssMkRBQUEsQ0FBQXdaLHFEQUFBLENBQU1zSSxJQUFJO0lBQUNDLEtBQUssRUFBQyxzRUFBb0I7SUFBQ3hYLElBQUksRUFBQztFQUFNLGdCQUMvQ3ZLLDJEQUFBLENBQUFraUIscURBQUEsQ0FBT2lCLFFBQVE7SUFBQ0MsSUFBSSxFQUFFLENBQUU7SUFBQ2pCLFdBQVcsRUFBQztFQUFpRCxDQUFFLENBQy9FLENBQUMsRUFFWCxDQUFDOUksVUFBVSxpQkFDVnJaLDJEQUFBLENBQUF3WixxREFBQSxDQUFNc0ksSUFBSSxxQkFDUjloQiwyREFBQSxDQUFBcWhCLHFEQUFBLHFCQUNFcmhCLDJEQUFBLENBQUFxakIsdURBQUE7SUFBUTlGLElBQUksRUFBQyxTQUFTO0lBQUMrRixRQUFRLEVBQUMsUUFBUTtJQUFDQyxPQUFPLEVBQUV4STtFQUFnQixHQUMvRCxpQkFDSyxDQUFDLGVBQ1QvYSwyREFBQSxDQUFBcWpCLHVEQUFBO0lBQVFHLE9BQU8sRUFBRXZDO0VBQWEsR0FBQywrQ0FFdkIsQ0FDSCxDQUNFLENBRVQsQ0FDRixDQUFDO0FBRVgsQ0FBQztBQUVELElBQU11QixvQkFBb0IsR0FBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUU7O0FBRXhELGlFQUFlckosZ0JBQWdCLEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQzVtQm9CO0FBQ0o7QUFFNkM7QUFDckM7QUFRRDtBQUNKO0FBQ25CO0FBTS9CLElBQU02SyxrQkFBbUMsR0FBRyxTQUF0Q0Esa0JBQW1DQSxDQUFBblksSUFBQSxFQUFtQjtFQUFBLElBQWJvWSxNQUFNLEdBQUFwWSxJQUFBLENBQU5vWSxNQUFNO0VBQ25ELElBQU1ySyxRQUFRLEdBQUd6Qix5REFBVyxDQUFDLENBQUM7RUFDOUIsSUFBTTBCLFFBQVEsR0FBR3hCLDhEQUFXLENBQUMsQ0FBQztFQUM5QixJQUFBa0IsYUFBQSxHQUFlQyxvREFBQSxDQUFLQyxPQUFPLENBQUMsQ0FBQztJQUFBQyxjQUFBLEdBQUE1UCxjQUFBLENBQUF5UCxhQUFBO0lBQXRCSSxJQUFJLEdBQUFELGNBQUE7RUFDWCxJQUFBSSxTQUFBLEdBQXNDNUIsZ0RBQVEsQ0FBQyxDQUFDLENBQUM7SUFBQTZCLFVBQUEsR0FBQWpRLGNBQUEsQ0FBQWdRLFNBQUE7SUFBMUNvSyxXQUFXLEdBQUFuSyxVQUFBO0lBQUVvSyxjQUFjLEdBQUFwSyxVQUFBO0VBQ2xDLElBQUFzQixVQUFBLEdBQWdDbkQsZ0RBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQW9ELFVBQUEsR0FBQXhSLGNBQUEsQ0FBQXVSLFVBQUE7SUFBckMrSSxRQUFRLEdBQUE5SSxVQUFBO0lBQUUrSSxXQUFXLEdBQUEvSSxVQUFBO0VBRTVCLElBQUFwQixZQUFBLEdBQTREOUIseURBQVcsQ0FDckUsVUFBQytCLEtBQWdCO01BQUEsT0FBS0EsS0FBSyxDQUFDMUQsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUFBLENBQ2hELENBQUM7SUFGTzZOLFFBQVEsR0FBQXBLLFlBQUEsQ0FBUm9LLFFBQVE7SUFBRWpLLFNBQVMsR0FBQUgsWUFBQSxDQUFURyxTQUFTO0lBQUVFLFNBQVMsR0FBQUwsWUFBQSxDQUFUSyxTQUFTO0lBQUVRLGVBQWUsR0FBQWIsWUFBQSxDQUFmYSxlQUFlO0VBSXZELElBQUF3SixVQUFBLEdBQTRDck0sZ0RBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXNNLFVBQUEsR0FBQTFhLGNBQUEsQ0FBQXlhLFVBQUE7SUFBcERFLGNBQWMsR0FBQUQsVUFBQTtJQUFFRSxpQkFBaUIsR0FBQUYsVUFBQTtFQUN4QyxJQUFBRyxVQUFBLEdBQW9Dek0sZ0RBQVEsQ0FBQyxFQUFFLENBQUM7SUFBQTBNLFVBQUEsR0FBQTlhLGNBQUEsQ0FBQTZhLFVBQUE7SUFBekNFLFVBQVUsR0FBQUQsVUFBQTtJQUFFRSxhQUFhLEdBQUFGLFVBQUE7RUFDaEMsSUFBQUcsVUFBQSxHQUFvQzdNLGdEQUFRLENBQUMsS0FBSyxDQUFDO0lBQUE4TSxVQUFBLEdBQUFsYixjQUFBLENBQUFpYixVQUFBO0lBQTVDMUwsVUFBVSxHQUFBMkwsVUFBQTtJQUFFQyxhQUFhLEdBQUFELFVBQUE7RUFDaEMsSUFBQUUsVUFBQSxHQUE0Q2hOLGdEQUFRLENBQXNCLElBQUksQ0FBQztJQUFBaU4sV0FBQSxHQUFBcmIsY0FBQSxDQUFBb2IsVUFBQTtJQUF4RUUsY0FBYyxHQUFBRCxXQUFBO0lBQUVFLGlCQUFpQixHQUFBRixXQUFBO0VBQ3hDLElBQUFHLFdBQUEsR0FBZ0NwTixnREFBUSxDQUFDLEVBQUUsQ0FBQztJQUFBcU4sV0FBQSxHQUFBemIsY0FBQSxDQUFBd2IsV0FBQTtJQUFyQ3RQLFFBQVEsR0FBQXVQLFdBQUE7SUFBRUMsV0FBVyxHQUFBRCxXQUFBO0VBQzVCLElBQUFFLFdBQUEsR0FBZ0N2TixnREFBUSxDQUFDLEVBQUUsQ0FBQztJQUFBd04sV0FBQSxHQUFBNWIsY0FBQSxDQUFBMmIsV0FBQTtJQUFyQzFKLFFBQVEsR0FBQTJKLFdBQUE7SUFBRUMsV0FBVyxHQUFBRCxXQUFBO0VBQzVCLElBQUFFLFdBQUEsR0FBc0MxTixnREFBUSxDQUFnQixJQUFJLENBQUM7SUFBQTJOLFdBQUEsR0FBQS9iLGNBQUEsQ0FBQThiLFdBQUE7SUFBNURFLFdBQVcsR0FBQUQsV0FBQTtJQUFFRSxjQUFjLEdBQUFGLFdBQUE7RUFDbEMsSUFBQUcsV0FBQSxHQUFzQjlOLGdEQUFRLENBQWdCLElBQUksQ0FBQztJQUFBK04sV0FBQSxHQUFBbmMsY0FBQSxDQUFBa2MsV0FBQTtJQUE1Q2xLLEdBQUcsR0FBQW1LLFdBQUE7SUFBRUMsTUFBTSxHQUFBRCxXQUFBOztFQUVsQjtFQUNBLElBQU1FLFVBQVUsR0FBRyxDQUFBN0IsUUFBUSxhQUFSQSxRQUFRLHVCQUFSQSxRQUFRLENBQUV4VyxJQUFJLEtBQUksRUFBRTtFQUN2QyxJQUFNc1ksSUFBSSxHQUFHLENBQUE5QixRQUFRLGFBQVJBLFFBQVEsdUJBQVJBLFFBQVEsQ0FBRThCLElBQUksS0FBSTtJQUFFcEksS0FBSyxFQUFFLENBQUM7SUFBRXFJLElBQUksRUFBRSxDQUFDO0lBQUVqQyxRQUFRLEVBQUU7RUFBRyxDQUFDO0VBRWxFbk0saURBQVMsQ0FBQyxZQUFNO0lBQ2QyQixRQUFRLENBQUN0QixvRkFBYSxDQUFDLENBQUMsQ0FBQztFQUMzQixDQUFDLEVBQUUsQ0FBQ3NCLFFBQVEsQ0FBQyxDQUFDOztFQUVkO0VBQ0EzQixpREFBUyxDQUFDLFlBQU07SUFDZDJCLFFBQVEsQ0FBQ2lLLHdGQUFpQixDQUFDO01BQ3pCekksTUFBTSxFQUFFeUosVUFBVTtNQUNsQjdPLFFBQVEsRUFBRUEsUUFBUTtNQUNsQitGLFFBQVEsRUFBRUEsUUFBUTtNQUNsQkcsWUFBWSxFQUFFNEosV0FBVztNQUN6QmhLLEdBQUcsRUFBRUEsR0FBRztNQUNSdUssSUFBSSxFQUFFbkMsV0FBVztNQUNqQkUsUUFBUSxFQUFSQTtJQUNGLENBQUMsQ0FBQyxDQUFDO0VBQ0wsQ0FBQyxFQUFFLENBQUN4SyxRQUFRLEVBQUVpTCxVQUFVLEVBQUU3TyxRQUFRLEVBQUUrRixRQUFRLEVBQUUrSixXQUFXLEVBQUVoSyxHQUFHLEVBQUVvSSxXQUFXLEVBQUVFLFFBQVEsQ0FBQyxDQUFDO0VBRXZGLElBQU1rQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxVQUFlLEVBQUs7SUFDN0NwQyxjQUFjLENBQUNvQyxVQUFVLENBQUNDLE9BQU8sQ0FBQztJQUNsQ25DLFdBQVcsQ0FBQ2tDLFVBQVUsQ0FBQ25DLFFBQVEsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBTXFDLFlBQVksR0FBRyxTQUFmQSxZQUFZQSxDQUFBLEVBQVM7SUFDekJ0QyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQnZLLFFBQVEsQ0FBQ2lLLHdGQUFpQixDQUFDO01BQ3pCekksTUFBTSxFQUFFeUosVUFBVTtNQUNsQndCLElBQUksRUFBRSxDQUFDO01BQ1BqQyxRQUFRLEVBQVJBO0lBQ0YsQ0FBQyxDQUFDLENBQUM7RUFDTCxDQUFDO0VBRUQsSUFBTXpFLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUl6WixLQUFjLEVBQUs7SUFDL0MsSUFBSSxDQUFDQSxLQUFLLEVBQUU7SUFDWnNmLFdBQVcsQ0FBQ3RmLEtBQUssQ0FBQztJQUNsQixJQUFBMFosWUFBQSxHQUFtQzFaLEtBQUssQ0FBQzJaLEtBQUssQ0FBQyxHQUFHLENBQUM7TUFBQUMsYUFBQSxHQUFBaFcsY0FBQSxDQUFBOFYsWUFBQTtNQUE1Q0csVUFBVSxHQUFBRCxhQUFBO01BQUVFLFlBQVksR0FBQUYsYUFBQTtJQUMvQmxHLFFBQVEsQ0FBQ3JCLG9GQUFhLENBQUM7TUFBRWhJLEVBQUUsRUFBRWtMLE1BQU0sQ0FBQ3NFLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDLENBQUM7SUFBRSxDQUFDLENBQUMsQ0FBQztFQUM1RCxDQUFDO0VBRUQsSUFBTXlHLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7SUFDeEI1QixhQUFhLENBQUMsRUFBRSxDQUFDO0lBQ2pCWCxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ2pCdkssUUFBUSxDQUFDaUssd0ZBQWlCLENBQUM7TUFDekJ6SSxNQUFNLEVBQUUsRUFBRTtNQUNWaUwsSUFBSSxFQUFFLENBQUM7TUFDUGpDLFFBQVEsRUFBUkE7SUFDRixDQUFDLENBQUMsQ0FBQztFQUNMLENBQUM7RUFFRCxJQUFNdUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLE1BQW9CLEVBQUs7SUFDM0N2QixpQkFBaUIsQ0FBQ3VCLE1BQU0sQ0FBQztJQUN6QmxDLGlCQUFpQixDQUFDLElBQUksQ0FBQztJQUN2Qk8sYUFBYSxDQUFDLElBQUksQ0FBQztJQUNuQnRMLElBQUksQ0FBQ2dDLGNBQWMsQ0FBQ2lMLE1BQU0sQ0FBQztFQUM3QixDQUFDO0VBRUQsSUFBTUMsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUl0VyxFQUFPLEVBQUs7SUFDOUJzSixRQUFRLDJCQUFBck0sTUFBQSxDQUEyQitDLEVBQUUsQ0FBRSxDQUFDO0VBQzFDLENBQUM7RUFFRCxJQUFNdVcsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUl2VyxFQUFVLEVBQUs7SUFDbkN3VCx3REFBUyxDQUFDO01BQ1JwUixLQUFLLEVBQUUsaUNBQWlDO01BQ3hDcVUsSUFBSSxFQUFFLG9DQUFvQztNQUMxQ0MsSUFBSSxFQUFFLFNBQVM7TUFDZkMsaUJBQWlCLEVBQUUsS0FBSztNQUN4QkMsZ0JBQWdCLEVBQUUsS0FBSztNQUN2QkMsSUFBSSx1YkFLSDtNQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO1FBQUEsSUFBQUMsY0FBQSxFQUFBQyxlQUFBO1FBQ2IsSUFBTUMsYUFBYSxJQUFBRixjQUFBLEdBQUd2RCw0REFBYSxDQUFDLENBQUMsY0FBQXVELGNBQUEsdUJBQWZBLGNBQUEsQ0FBaUJJLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RSxJQUFNQyxZQUFZLElBQUFKLGVBQUEsR0FBR3hELDREQUFhLENBQUMsQ0FBQyxjQUFBd0QsZUFBQSx1QkFBZkEsZUFBQSxDQUFpQkcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO1FBRXJFRixhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFSSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsWUFBTTtVQUM3Q2hPLFFBQVEsQ0FBQ2tLLHlGQUFrQixDQUFDdlQsRUFBRSxDQUFDLENBQUMsQ0FDN0JzWCxNQUFNLENBQUMsQ0FBQyxDQUNSNWMsSUFBSSxDQUFDLFlBQU07WUFDVjhZLHdEQUFTLENBQUM7Y0FDUnBSLEtBQUssRUFBRSxvQkFBb0I7Y0FDM0JxVSxJQUFJLEVBQUUsOEJBQThCO2NBQ3BDQyxJQUFJLEVBQUU7WUFDUixDQUFDLENBQUM7WUFDRnJOLFFBQVEsQ0FBQ2lLLHdGQUFpQixDQUFDO2NBQ3pCekksTUFBTSxFQUFFeUosVUFBVTtjQUNsQndCLElBQUksRUFBRW5DLFdBQVc7Y0FDakJFLFFBQVEsRUFBUkE7WUFDRixDQUFDLENBQUMsQ0FBQztVQUNMLENBQUMsQ0FBQyxTQUNJLENBQUMsWUFBTTtZQUNYTCx3REFBUyxDQUFDO2NBQ1JwUixLQUFLLEVBQUUsUUFBUTtjQUNmcVUsSUFBSSxFQUFFLDBCQUEwQjtjQUNoQ0MsSUFBSSxFQUFFO1lBQ1IsQ0FBQyxDQUFDO1VBQ0osQ0FBQyxDQUFDO1VBQ0psRCx5REFBVSxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRjRELFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUVDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFNO1VBQzVDN0QseURBQVUsQ0FBQyxDQUFDO1FBQ2QsQ0FBQyxDQUFDO01BQ0o7SUFDRixDQUFDLENBQUM7RUFDSixDQUFDO0VBRUQsSUFBTWdFLE9BQU8sR0FBRyxDQUNkO0lBQ0VwVixLQUFLLEVBQUUsS0FBSztJQUNaMU0sR0FBRyxFQUFFLElBQUk7SUFDVE0sS0FBSyxFQUFFLEVBQUU7SUFDVEosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUc2aEIsQ0FBTSxFQUFFQyxFQUFPLEVBQUVDLEtBQWE7TUFBQSxPQUNyQyxDQUFDaEUsV0FBVyxHQUFHLENBQUMsSUFBSUUsUUFBUSxHQUFHOEQsS0FBSyxHQUFHLENBQUM7SUFBQTtFQUM1QyxDQUFDLEVBQ0Q7SUFDRXZWLEtBQUssRUFBRSxjQUFjO0lBQ3JCd1YsU0FBUyxFQUFFLE1BQU07SUFDakJsaUIsR0FBRyxFQUFFLE1BQU07SUFDWE0sS0FBSyxFQUFFLEdBQUc7SUFDVjZoQixRQUFRLEVBQUU7RUFDWixDQUFDLEVBQ0Q7SUFDRXpWLEtBQUssRUFBRSxhQUFhO0lBQ3BCd1YsU0FBUyxFQUFFLE9BQU87SUFDbEJsaUIsR0FBRyxFQUFFLE9BQU87SUFDWk0sS0FBSyxFQUFFLEdBQUc7SUFDVjZoQixRQUFRLEVBQUU7RUFDWixDQUFDLEVBQ0Q7SUFDRXpWLEtBQUssRUFBRSxXQUFXO0lBQ2xCMU0sR0FBRyxFQUFFLFNBQVM7SUFDZE0sS0FBSyxFQUFFLEdBQUc7SUFDVkosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUd5Z0IsTUFBVztNQUFBLFVBQUFwWixNQUFBLENBQ2ZvWixNQUFNLENBQUM1SyxPQUFPLElBQUksRUFBRSxRQUFBeE8sTUFBQSxDQUFLb1osTUFBTSxDQUFDN0ssUUFBUSxJQUFJLEVBQUUsUUFBQXZPLE1BQUEsQ0FBS29aLE1BQU0sQ0FBQzVRLFFBQVEsSUFBSSxFQUFFO0lBQUE7RUFDL0UsQ0FBQyxFQUNEO0lBQ0VyRCxLQUFLLEVBQUUsTUFBTTtJQUNid1YsU0FBUyxFQUFFLEtBQUs7SUFDaEJsaUIsR0FBRyxFQUFFLEtBQUs7SUFDVk0sS0FBSyxFQUFFO0VBQ1QsQ0FBQyxFQUNEO0lBQ0VvTSxLQUFLLEVBQUUsWUFBWTtJQUNuQndWLFNBQVMsRUFBRSxjQUFjO0lBQ3pCbGlCLEdBQUcsRUFBRSxjQUFjO0lBQ25CTSxLQUFLLEVBQUU7RUFDVCxDQUFDLEVBQ0Q7SUFDRW9NLEtBQUssRUFBRSxhQUFhO0lBQ3BCd1YsU0FBUyxFQUFFLGFBQWE7SUFDeEJsaUIsR0FBRyxFQUFFLGFBQWE7SUFDbEJNLEtBQUssRUFBRTtFQUNULENBQUMsRUFDRDtJQUNFb00sS0FBSyxFQUFFLFlBQVk7SUFDbkJ3VixTQUFTLEVBQUUsZUFBZTtJQUMxQmxpQixHQUFHLEVBQUUsZUFBZTtJQUNwQk0sS0FBSyxFQUFFO0VBQ1QsQ0FBQyxFQUNEO0lBQ0VvTSxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCd1YsU0FBUyxFQUFFLGdCQUFnQjtJQUMzQmxpQixHQUFHLEVBQUUsZ0JBQWdCO0lBQ3JCTSxLQUFLLEVBQUU7RUFDVCxDQUFDLEVBQ0Q7SUFDRW9NLEtBQUssRUFBRSxhQUFhO0lBQ3BCd1YsU0FBUyxFQUFFLGFBQWE7SUFDeEJsaUIsR0FBRyxFQUFFLGFBQWE7SUFDbEJNLEtBQUssRUFBRSxHQUFHO0lBQ1ZKLE1BQU0sRUFBRSxTQUFSQSxNQUFNQSxDQUFHRCxLQUFjO01BQUEsT0FBTUEsS0FBSyxHQUFHLEdBQUcsR0FBRyxHQUFHO0lBQUE7RUFDaEQsQ0FBQyxFQUNEO0lBQ0V5TSxLQUFLLEVBQUUsZUFBZTtJQUN0QndWLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCbGlCLEdBQUcsRUFBRSxZQUFZO0lBQ2pCTSxLQUFLLEVBQUUsR0FBRztJQUNWSixNQUFNLEVBQUUsU0FBUkEsTUFBTUEsQ0FBR0QsS0FBYztNQUFBLE9BQU1BLEtBQUssR0FBRyxHQUFHLEdBQUcsR0FBRztJQUFBO0VBQ2hELENBQUMsRUFDRDtJQUNFeU0sS0FBSyxFQUFFLFVBQVU7SUFDakIxTSxHQUFHLEVBQUUsUUFBUTtJQUNib2lCLEtBQUssRUFBRSxPQUFPO0lBQ2Q5aEIsS0FBSyxFQUFFLEdBQUc7SUFDVkosTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUc2aEIsQ0FBTSxFQUFFcEIsTUFBVztNQUFBLG9CQUMxQjVtQiwyREFBQSxDQUFBcWhCLHFEQUFBO1FBQU9yYSxJQUFJLEVBQUM7TUFBUSxnQkFDbEJoSCwyREFBQSxDQUFBcWpCLHVEQUFBO1FBQ0U0RCxJQUFJLGVBQUVqbkIsMkRBQUEsQ0FBQzRqQiwwREFBVyxNQUFFLENBQUU7UUFDdEJKLE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUW1ELFVBQVUsQ0FBQ0MsTUFBTSxDQUFDO1FBQUEsQ0FBQztRQUNsQ2pVLEtBQUssRUFBQztNQUFZLENBQ25CLENBQUMsZUFDRjNTLDJEQUFBLENBQUFxakIsdURBQUE7UUFDRTlGLElBQUksRUFBQyxTQUFTO1FBQ2QwSixJQUFJLGVBQUVqbkIsMkRBQUEsQ0FBQzJqQiwwREFBWSxNQUFFLENBQUU7UUFDdkJILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO1VBQUEsT0FBUXFELFVBQVUsQ0FBQ0QsTUFBTSxDQUFDclcsRUFBRSxDQUFDO1FBQUEsQ0FBQztRQUNyQ29DLEtBQUssRUFBQztNQUFlLENBQ3RCLENBQUMsZUFDRjNTLDJEQUFBLENBQUFxakIsdURBQUE7UUFDRWlGLE1BQU07UUFDTnJCLElBQUksZUFBRWpuQiwyREFBQSxDQUFDMGpCLDBEQUFjLE1BQUUsQ0FBRTtRQUN6QkYsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQUE7VUFBQSxPQUFRc0QsWUFBWSxDQUFDRixNQUFNLENBQUNyVyxFQUFFLENBQUM7UUFBQSxDQUFDO1FBQ3ZDb0MsS0FBSyxFQUFDO01BQWMsQ0FDckIsQ0FDSSxDQUFDO0lBQUE7RUFFWixDQUFDLENBQ0Y7RUFFRCxvQkFDRTNTLDJEQUFBLDJCQUVFQSwyREFBQTtJQUNFSyxLQUFLLEVBQUU7TUFDTEUsT0FBTyxFQUFFLE1BQU07TUFDZkQsVUFBVSxFQUFFLFNBQVM7TUFDckI4Z0IsWUFBWSxFQUFFO0lBQ2hCO0VBQUUsZ0JBR0ZwaEIsMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRTtJQUFDNm5CLE9BQU8sRUFBQyxlQUFlO0lBQUNqSCxLQUFLLEVBQUMsUUFBUTtJQUFDamhCLEtBQUssRUFBRTtNQUFFbW9CLE1BQU0sRUFBRTtJQUFPO0VBQUUsZ0JBQ3RGeG9CLDJEQUFBLENBQUFxaEIscURBQUE7SUFBT29ILElBQUk7RUFBQSxnQkFDVHpvQiwyREFBQSxlQUFNLG9DQUFjLEVBQUMsQ0FBQW1tQixVQUFVLGFBQVZBLFVBQVUsdUJBQVZBLFVBQVUsQ0FBRXpkLE1BQU0sS0FBSSxDQUFRLENBQUMsZUFDcEQxSSwyREFBQSxDQUFBa2lCLHFEQUFBO0lBQ0VDLFdBQVcsRUFBQyx3REFBcUI7SUFDakM5aEIsS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBSSxDQUFFO0lBQ3RCTCxLQUFLLEVBQUUyZSxVQUFXO0lBQ2xCdEMsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUdyYixDQUFDO01BQUEsT0FBSzRkLGFBQWEsQ0FBQzVkLENBQUMsQ0FBQ2xHLE1BQU0sQ0FBQ2tGLEtBQUssQ0FBQztJQUFBO0VBQUMsQ0FDaEQsQ0FBQyxlQUNGbEcsMkRBQUEsQ0FBQXFqQix1REFBQTtJQUFRRyxPQUFPLEVBQUVpRCxZQUFhO0lBQUNsSixJQUFJLEVBQUM7RUFBUyxHQUFDLCtDQUV0QyxDQUFDLGVBQ1R2ZCwyREFBQSxDQUFBcWpCLHVEQUFBO0lBQVFHLE9BQU8sRUFBRWtEO0VBQVksR0FBQyw0RUFFdEIsQ0FDSCxDQUFDLGVBQ1IxbUIsMkRBQUEsQ0FBQXFoQixxREFBQTtJQUFPb0gsSUFBSTtFQUFBLGdCQUNUem9CLDJEQUFBLENBQUFxakIsdURBQUE7SUFDRTRELElBQUksZUFBRWpuQiwyREFBQSxDQUFDeWpCLDBEQUFZLE1BQUUsQ0FBRTtJQUN2QmxHLElBQUksRUFBQyxTQUFTO0lBQ2RpRyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQTtNQUFBLE9BQVEzSixRQUFRLHNCQUFzQixDQUFDO0lBQUE7RUFBQyxHQUNoRCx3RUFFTyxDQUNILENBQ0osQ0FBQyxlQUdON1osMkRBQUEsQ0FBQVMsbURBQUE7SUFBS0MsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBRTtJQUFDTCxLQUFLLEVBQUU7TUFBRW1vQixNQUFNLEVBQUU7SUFBTTtFQUFFLGdCQUM5Q3hvQiwyREFBQSxDQUFBVyxtREFBQTtJQUFLQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsRUFBRztJQUFDQyxFQUFFLEVBQUUsQ0FBRTtJQUFDNG5CLEVBQUUsRUFBRTtFQUFFLGdCQUNoQzFvQiwyREFBQSxlQUFNLDRFQUFvQixDQUFDLGVBQzNCQSwyREFBQSxDQUFBK1ksc0RBQUE7SUFDRTFZLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUN6QjBjLFVBQVU7SUFDVmQsV0FBVyxFQUFDLDJCQUEyQjtJQUN2Q0ksUUFBUSxFQUFFNUMsb0JBQXFCO0lBQy9CZ0osVUFBVTtFQUFBLEdBRVRuZSxLQUFLLENBQUNLLE9BQU8sQ0FBQ3dQLFNBQVMsQ0FBQyxJQUFJQSxTQUFTLENBQUMzUixNQUFNLEdBQUcsQ0FBQyxHQUMvQzJSLFNBQVMsQ0FBQzRFLE1BQU0sQ0FBQyxVQUFBOVcsQ0FBQztJQUFBLE9BQUlxYSxvQkFBb0IsQ0FBQ0MsUUFBUSxDQUFDdGEsQ0FBQyxDQUFDb0ksRUFBRSxDQUFDbkcsUUFBUSxDQUFDLENBQUMsQ0FBQ3NZLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7RUFBQSxFQUFDLENBQUNDLEdBQUcsQ0FBQyxVQUFDM00sUUFBUTtJQUFBLG9CQUNsR2hXLDJEQUFBLENBQUErWSxzREFBQSxDQUFRRCxNQUFNO01BQ1o3UyxHQUFHLEVBQUUrUCxRQUFRLENBQUN6RixFQUFHO01BQ2pCckssS0FBSyxLQUFBc0gsTUFBQSxDQUFLd0ksUUFBUSxDQUFDekYsRUFBRSxRQUFBL0MsTUFBQSxDQUFLd0ksUUFBUSxDQUFDekwsSUFBSSxDQUFDcVksRUFBRSxTQUFBcFYsTUFBQSxDQUFNd0ksUUFBUSxDQUFDekwsSUFBSSxDQUFDc1ksS0FBSztJQUFHLE1BQUFyVixNQUFBLENBRWxFd0ksUUFBUSxDQUFDekwsSUFBSSxDQUFDcVksRUFBRSxTQUFBcFYsTUFBQSxDQUFNd0ksUUFBUSxDQUFDekwsSUFBSSxDQUFDc1ksS0FBSyxDQUNoQyxDQUFDO0VBQUEsQ0FDakIsQ0FBQyxnQkFFRjdpQiwyREFBQSxDQUFBK1ksc0RBQUEsQ0FBUUQsTUFBTTtJQUFDOEksUUFBUTtFQUFBLEdBQUMsd0JBQXFDLENBRXpELENBQ0wsQ0FBQyxlQUNONWhCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUM0bkIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDMW9CLDJEQUFBLGVBQU0sc0VBQW1CLENBQUMsZUFDMUJBLDJEQUFBLENBQUErWSxzREFBQTtJQUNFMVksS0FBSyxFQUFFO01BQUVrRyxLQUFLLEVBQUU7SUFBTyxDQUFFO0lBQ3pCMGMsVUFBVTtJQUNWZCxXQUFXLEVBQUMsMkJBQTJCO0lBQ3ZDSSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBR3JjLEtBQVU7TUFBQSxPQUFLeWYsV0FBVyxDQUFDemYsS0FBSyxDQUFDO0lBQUEsQ0FBQztJQUM3Q3lpQixVQUFVO0VBQUEsR0FFVHBPLFNBQVMsQ0FBQzdSLE1BQU0sR0FDZjZSLFNBQVMsQ0FBQ29JLEdBQUcsQ0FBQyxVQUFDbmEsQ0FBQztJQUFBLG9CQUNkeEksMkRBQUEsQ0FBQzhZLE1BQU07TUFBQzdTLEdBQUcsRUFBRXVDLENBQUMsQ0FBQytILEVBQUc7TUFBQ3JLLEtBQUssS0FBQXNILE1BQUEsQ0FBS2hGLENBQUMsQ0FBQytILEVBQUUsUUFBQS9DLE1BQUEsQ0FBS2hGLENBQUMsQ0FBQytCLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTWhGLENBQUMsQ0FBQytCLElBQUksQ0FBQ3NZLEtBQUs7SUFBRyxNQUFBclYsTUFBQSxDQUM5RGhGLENBQUMsQ0FBQytCLElBQUksQ0FBQ3FZLEVBQUUsU0FBQXBWLE1BQUEsQ0FBTWhGLENBQUMsQ0FBQytCLElBQUksQ0FBQ3NZLEtBQUssQ0FDekIsQ0FBQztFQUFBLENBQ1YsQ0FBQyxnQkFFRjdpQiwyREFBQSxDQUFDOFksTUFBTTtJQUFDOEksUUFBUTtFQUFBLEdBQUMsd0JBQThCLENBRTNDLENBQ0wsQ0FBQyxlQUNONWhCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUM0bkIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDMW9CLDJEQUFBLGVBQU0sOERBQWdCLENBQUMsZUFDdkJBLDJEQUFBLENBQUFxaUIsNERBQUE7SUFDRWhpQixLQUFLLEVBQUU7TUFBRWtHLEtBQUssRUFBRTtJQUFPLENBQUU7SUFDekI0YixXQUFXLEVBQUMsY0FBYztJQUMxQkcsR0FBRyxFQUFFLENBQUU7SUFDUHBjLEtBQUssRUFBRTRmLFdBQVk7SUFDbkJ2RCxRQUFRLEVBQUV3RDtFQUFlLENBQzFCLENBQ0UsQ0FBQyxlQUNOL2xCLDJEQUFBLENBQUFXLG1EQUFBO0lBQUtDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxFQUFHO0lBQUNDLEVBQUUsRUFBRSxDQUFFO0lBQUM0bkIsRUFBRSxFQUFFO0VBQUUsZ0JBQ2hDMW9CLDJEQUFBLGVBQU0sMEJBQVUsQ0FBQyxlQUNqQkEsMkRBQUEsQ0FBQXFpQiw0REFBQTtJQUNFaGlCLEtBQUssRUFBRTtNQUFFa0csS0FBSyxFQUFFO0lBQU8sQ0FBRTtJQUN6QjRiLFdBQVcsRUFBQyxLQUFLO0lBQ2pCRyxHQUFHLEVBQUUsQ0FBRTtJQUNQcGMsS0FBSyxFQUFFNFYsR0FBSTtJQUNYeUcsUUFBUSxFQUFFMkQ7RUFBTyxDQUNsQixDQUNFLENBQ0YsQ0FDRixDQUFDLGVBR05sbUIsMkRBQUEsQ0FBQTRvQixxREFBQTtJQUNFekMsVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCNEIsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCeEUsT0FBTyxFQUFFeEksZUFBZ0I7SUFDekI4TixNQUFNLEVBQUMsSUFBSTtJQUNYQyxNQUFNLEVBQUU7TUFBRUMsQ0FBQyxFQUFFO0lBQUssQ0FBRTtJQUNwQnhDLFVBQVUsRUFBRTtNQUNWQyxPQUFPLEVBQUV0QyxXQUFXO01BQ3BCRSxRQUFRLEVBQUVBLFFBQVE7TUFDbEJwRyxLQUFLLEVBQUVvSSxJQUFJLENBQUNwSSxLQUFLO01BQ2pCZ0wsZUFBZSxFQUFFLElBQUk7TUFDckJDLFNBQVMsRUFBRSxTQUFYQSxTQUFTQSxDQUFHakwsS0FBSyxFQUFFa0wsS0FBSztRQUFBLFVBQUExYixNQUFBLENBQVEwYixLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQUExYixNQUFBLENBQUkwYixLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUExYixNQUFBLENBQU93USxLQUFLO01BQUE7SUFDbEUsQ0FBRTtJQUNGdUUsUUFBUSxFQUFFK0Q7RUFBa0IsQ0FDN0IsQ0FBQyxlQUdGdG1CLDJEQUFBLENBQUFzRyxxREFBQTtJQUNFcU0sS0FBSyxFQUFFLHlDQUEwQztJQUNqRHdXLElBQUksRUFBRTFFLGNBQWU7SUFDckIyRSxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBQSxFQUFRO01BQ2QxRSxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7TUFDeEJPLGFBQWEsQ0FBQyxLQUFLLENBQUM7TUFDcEJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztNQUN2QjFMLElBQUksQ0FBQytCLFdBQVcsQ0FBQyxDQUFDO0lBQ3BCLENBQUU7SUFDRmpWLE1BQU0sRUFBRSxJQUFLO0lBQ2JGLEtBQUssRUFBRTtFQUFJLGdCQUVYdkcsMkRBQUEsQ0FBQ21aLDBEQUFnQjtJQUNmRSxVQUFVLEVBQUVBLFVBQVc7SUFDdkJDLGFBQWEsRUFBRThMO0VBQWUsQ0FDL0IsQ0FDSSxDQUNKLENBQUM7QUFFVixDQUFDO0FBRUQsSUFBTTVDLG9CQUFvQixHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBRTs7QUFFeEQsaUVBQWV3QixrQkFBa0IsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNqWlA7QUFFZ0U7QUFFMUYsSUFBTTVNLFlBQXNCLEdBQUcsU0FBekJBLFlBQXNCQSxDQUFBLEVBQVM7RUFDbkMsb0JBQ0VwWCwwREFBQSxDQUFDcXBCLG1GQUF1QixNQUFFLENBQUM7QUFDL0IsQ0FBQztBQUVELGlFQUFlalMsWUFBWSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1REO0FBRWlEO0FBRTNFLElBQU1ELElBQWMsR0FBRyxTQUFqQkEsSUFBY0EsQ0FBQSxFQUFTO0VBQzNCLG9CQUNFblgsMERBQUEsQ0FBQ3NwQixrRkFBUyxNQUFFLENBQUM7QUFDakIsQ0FBQztBQUVELGlFQUFlblMsSUFBSSxFOzs7Ozs7Ozs7Ozs7Ozs7OztBQ1RPO0FBR2lEO0FBRTNFLElBQU1ILEtBQWUsR0FBRyxTQUFsQkEsS0FBZUEsQ0FBQSxFQUFTO0VBQzVCO0lBQUE7SUFDRTtJQUNBaFgsMERBQUEsQ0FBQ3NwQixrRkFBUyxNQUFFO0VBQUM7QUFFakIsQ0FBQztBQUVELGlFQUFldFMsS0FBSyxFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLWNvbXBvbmVudC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25maWcudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29uZmlncy9jb25zdGFudHMudHMiLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvY29udGFpbmVyL2RpYWxvZ3MvbG9hZGluZy1kaWFsb2cudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL2NvcmUvYmFzZS9zZXJ2aWNlcy50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yZWR1eC9zdG9yZS50cyIsIndlYnBhY2s6Ly9AY29yZS92b2x1bnRlZXJfYXBwLy4vc3JjL3NoYXJlZC9yb3V0ZXMvaW5kZXgudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3JvdXRlcy9wcm90ZWN0ZWQtcm91dGUudHN4Iiwid2VicGFjazovL0Bjb3JlL3ZvbHVudGVlcl9hcHAvLi9zcmMvc2hhcmVkL3ZpZXdzL2ZhbWlseV9zdXJ2ZXkvRmFtaWx5U3VydmV5Rm9ybS50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvZmFtaWx5X3N1cnZleS9pbmRleC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXR0ZW5kYW5jZV9xci50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vYXV0aC50c3giLCJ3ZWJwYWNrOi8vQGNvcmUvdm9sdW50ZWVyX2FwcC8uL3NyYy9zaGFyZWQvdmlld3MvbG9naW4vbG9naW4udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMYXlvdXQsIFJvdywgQ29sIH0gZnJvbSAnYW50ZCc7XG5cbmNvbnN0IHsgRm9vdGVyIH0gPSBMYXlvdXQ7XG5cbmNvbnN0IEZvb3RlckNvbXBvbmVudDogUmVhY3QuRkMgPSAoKSA9PiAoXG4gIDxGb290ZXJcbiAgICBzdHlsZT17eyBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsIHBhZGRpbmc6ICcyNHB4JywgdGV4dEFsaWduOiAnY2VudGVyJyB9fVxuICA+XG4gICAgPFJvdyBndXR0ZXI9e1sxNiwgMTZdfT5cbiAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fT5cbiAgICAgICAgPGg0PkFib3V0IFVzPC9oND5cbiAgICAgICAgPHA+TGVhcm4gbW9yZSBhYm91dCBvdXIgbWlzc2lvbiBhbmQgdmFsdWVzLjwvcD5cbiAgICAgIDwvQ29sPlxuICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9PlxuICAgICAgICA8aDQ+Q29udGFjdDwvaDQ+XG4gICAgICAgIDxwPkVtYWlsOiBzdXBwb3J0QGdtYWlsLmNvbTwvcD5cbiAgICAgICAgPHA+UGhvbmU6ICs4NTUgMTIzIDQ1NiA3ODkwPC9wPlxuICAgICAgPC9Db2w+XG4gICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0+XG4gICAgICAgIDxoND5Gb2xsb3cgVXM8L2g0PlxuICAgICAgICA8cD5cbiAgICAgICAgICA8YSBocmVmPScnIHRhcmdldD0nX2JsYW5rJyByZWw9JyMnPlxuICAgICAgICAgICAgI1xuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9wPlxuICAgICAgPC9Db2w+XG4gICAgPC9Sb3c+XG4gICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Ub3A6ICcxNnB4JyB9fT7CqSB7bmV3IERhdGUoKS5nZXRGdWxsWWVhcigpfSAjPC9kaXY+XG4gIDwvRm9vdGVyPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRm9vdGVyQ29tcG9uZW50O1xuIiwiZXhwb3J0IGRlZmF1bHQge1xuICAvLyBlbnY6IHByb2Nlc3MuZW52Lk5PREVfRU5WLFxuICBlbnY6ICdkZXZlbG9wbWVudCcsXG4gIC8vIGFzc2V0X3VybDogcHJvY2Vzcy5lbnYuUzNJTUFHRVNCVUNLRVQsXG4gIGFzc2V0X3VybDogJycsXG4gIGFwaV91cmw6IHByb2Nlc3MuZW52LkJBU0VfVVJMLFxuICB1cGxvYWRfdXJsOiBwcm9jZXNzLmVudi5NRURJQV9BUEksXG4gIHNvY2tldF91cmw6IHByb2Nlc3MuZW52LlNPQ0tFUl9TRVJWRVIsXG4gIG5vdGlmaWNhdGlvbl91cmw6IHByb2Nlc3MuZW52Lk5PVElGSUNBVElPTixcbiAgQVdTX0FDQ0VTU19LRVlfSUQ6IHByb2Nlc3MuZW52LkFXU19BQ0NFU1NfS0VZX0lELFxuICBBV1NfU0VDUkVUX0FDQ0VTU19LRVk6IHByb2Nlc3MuZW52LkFXU19TRUNSRVRfQUNDRVNTX0tFWSxcbiAgUkVBQ1RfQVBQX0FQSV9UT0tFTjogcHJvY2Vzcy5lbnYuUkVBQ1RfQVBQX0FQSV9UT0tFTixcbiAgUzNfQlVDS0VUOiBwcm9jZXNzLmVudi5TM19CVUNLRVQsXG4gIGZpcmViYXNlX2NvbmZpZ19oZWFkZXJzOiB7XG4gIH0sXG4gIGxpbWl0OiAxMCxcbiAgd2FsbGV0X2xpbWl0OiAxMDAwMCxcbiAgd2Vic29ja2V0RXZlbnQ6IHtcbiAgICBEUklWRVJfTElWRV9MT0NBVElPTjogJ0RSSVZFUl9MSVZFX0xPQ0FUSU9OJyxcbiAgICBVUERBVEVfSk5fV0FMTEVUOiAnVVBEQVRFX0pOX1dBTExFVCcsXG4gICAgQ0FTSF9JTl9TVUNDRVNTOiAnQ0FTSF9JTl9TVUNDRVNTJyxcbiAgICBDQVNIX09VVF9TVUNDRVNTOiAnQ0FTSF9PVVRfU1VDQ0VTUycsXG4gICAgTk9fRFJJVkVSX0FWQUlMQUJMRTogJ05PX0RSSVZFUl9BVkFJTEFCTEUnLFxuICAgIFBBQ0tBR0VfVFJBQ0tJTkc6ICdQQUNLQUdFX1RSQUNLSU5HJyxcbiAgfSxcbiAgZGVmYXVsdEFkbWluQWNjb3VudDogJ0RFRkFVTFRfQURNSU5fQUNDT1VOVF9JRCcsXG4gIHRlbGVncmFtSWQ6IHtcbiAgICBkZXY6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZGV2TG9nZ2VyOiAnLTEwMDE0OTU2MTYzODYnLFxuICAgIGV4cHJlc3NIdWI6ICctMTAwMTEzNjI4NDU1NycsXG4gICAgZXhwcmVzc01lcmNoYW50OiAnLTEwMDExMzYyODQ1NTcnLFxuICAgIGV4cHJlc3NGaW5hbmNlOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3JyxcbiAgICBleHByZXNzRHJpdmVyOlxuICAgICAgJy0xMDAxMTM2Mjg0NTU3J1xuICAgICxcbiAgfSxcbn07XG4iLCJpbXBvcnQgeyBVU0VSX0FUVEVOREFOQ0UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vY29yZS9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IFNUQVJUX0xPR0lOID0gJ1NUQVJUX0xPR0lOJztcbmV4cG9ydCBjb25zdCBBVVRIX0xPR0lOID0gJ0FVVEhfTE9HSU4nO1xuZXhwb3J0IGNvbnN0IExPR0lOX0ZBSUxFRCA9ICdMT0dJTl9GQUlMRUQnO1xuZXhwb3J0IGNvbnN0IFVSTCA9IHtcbiAgTE9HSU46ICcvYXV0aC9sb2dpbicsXG4gIExPR0lOX1RFTEVHUkFNOiAnL2F1dGgvbG9naW4nLFxuICBWRVJJRllfVE9QOiAnYXBpL3YxL3ZlcmlmeScsXG4gIFNJR05VUDogJ2F1dGgvcmVnaXN0ZXInLFxuICBESVNBQklMSVRZX1RZUEU6ICdkaXNhYmlsaXR5LXR5cGVzLycsXG4gIFBST1ZJTkNFOiAncHJvdmluY2VzLycsXG4gIE9DQ1VQQVRJT046ICdvY2N1cGF0aW9ucy8nLFxuICBFRFVDQVRJT05fSU5TVElUVVRJT046ICdlZHVjYXRpb24taW5zdGl0dXRpb25zLycsXG4gIEZPT0RTOiAnZm9vZHMvJyxcbiAgRk9PRDogJ2Zvb2RzLycsXG4gIEZBTUlMSUVTOiAnZmFtaWxpZXMvJyxcbiAgVFJBTlNQT1JUQVRJT05TOiAndHJhbnNwb3J0YXRpb25zLycsXG4gIFRFQU06ICdpbnRlcmVzdGVkLXRlYW1zLycsXG4gIEVWRU5UOiAndm9sdW50ZWVyLWV2ZW50cy8nLFxuICBTT1VSQ0U6ICdvcHBvcnR1bml0eS1zb3VyY2VzLycsXG4gIFRSQUlOSU5HX1NFU1NJT046ICd0cmFpbmluZy1zZXNzaW9ucy8nLFxuICBMQU5HVUFHRTogJ2xhbmd1YWdlcy8nLFxuICBTS0lMTDogJ3NraWxscy8nLFxuICBURVJNU19DT05ESVRJT046ICd0ZXJtcy1jb25kaXRpb25zLycsXG4gIFZPTFVOVEVFUl9FVkVOVDogJ3ZvbHVudGVlci1ldmVudHMvJyxcbiAgVk9MVU5URUVSUzogJ3ZvbHVudGVlcnMvJyxcbiAgREFTSEJPQVJEOiAnZGFzaGJvYXJkLycsXG4gIE9GRkVSX1BST0dSQU06ICdvZmZlci1wcm9ncmFtcy8nLFxuICBUUkFWRUxfREFZOiAndHJhdmVsLWRheXMvJyxcbiAgVVNFUjogJ3VzZXJzLycsXG4gIFBVQkxJQzogJ3B1YmxpYy8nLFxuICBOT1RJRlk6ICdub3RpZnkvc2VuZC90ZWxlZ3JhbScsXG4gIE5PVElGWV9TVEFUVVM6ICdub3RpZnkvc2VuZC9zdGF0dXMnLFxuICBVU0VSX0FUVEVOREFOQ0U6ICcvdXNlci1hdHRlbmRhbmNlcy8nXG59O1xuXG5leHBvcnQgY29uc3QgQ1VSUkVOQ1lfVFlQRSA9IHtcbiAgVVNEOiAnVVNEJyxcbiAgS0hSOiAnS0hSJyxcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTW9kYWwsIFNwaW4gfSBmcm9tICdhbnRkJztcblxuaW50ZXJmYWNlIExvYWRpbmdEaWFsb2dQcm9wcyB7XG4gIHZpc2libGU6IGJvb2xlYW47XG59XG5cbmNsYXNzIExvYWRpbmdEaWFsb2cgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8TG9hZGluZ0RpYWxvZ1Byb3BzPiB7XG4gIHJlbmRlcigpOiBSZWFjdC5SZWFjdE5vZGUge1xuICAgIGNvbnN0IHsgdmlzaWJsZSB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWxcbiAgICAgICAgd2lkdGg9ezIwMH1cbiAgICAgICAgdmlzaWJsZT17dmlzaWJsZX1cbiAgICAgICAgY2VudGVyZWRcbiAgICAgICAgZm9vdGVyPXtudWxsfVxuICAgICAgICBjbG9zYWJsZT17ZmFsc2V9XG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG1hcmdpblRvcDogMjAsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxTcGluIHNpemU9J2xhcmdlJyAvPlxuICAgICAgICAgIDxwIHN0eWxlPXt7IHRleHRBbGlnbjogJ2NlbnRlcicsIG1hcmdpblRvcDogJzFyZW0nIH19PkxvYWRpbmcuLi48L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9Nb2RhbD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IExvYWRpbmdEaWFsb2c7XG4iLCIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgYXhpb3MsIHsgQXhpb3NSZXF1ZXN0Q29uZmlnLCBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWdzL2NvbmZpZyc7XG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIG1ha2UgR0VUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbiBhbmQgb3B0aW9uYWwgcGFyYW1ldGVycy5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBwYXJhbXMgLSBPcHRpb25hbCBxdWVyeSBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cblxuLy8gRW5zdXJlIGF4aW9zSW5zdGFuY2UgaXMgY29uZmlndXJlZCBwcm9wZXJseVxuY29uc3QgYXhpb3NJbnN0YW5jZSA9IGF4aW9zLmNyZWF0ZSh7XG4gIGJhc2VVUkw6IGNvbmZpZy5hcGlfdXJsLFxuICB0aW1lb3V0OiAxMDAwMDAsIC8vIEV4YW1wbGUgdGltZW91dFxufSlcblxuXG5leHBvcnQgY29uc3QgZ2V0V2l0aENvbmZpZyA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIHBhcmFtcz86IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHN1Y2Nlc3M/OiAoZGF0YTogVCkgPT4gdm9pZCxcbiAgZmFpbGVkPzogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZFxuKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPiA9PiB7ICAvLyDinIUgTm93IHJldHVybnMgZGF0YVxuICB0cnkge1xuICAgIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgICAvLyDwn5SlIHJlbW92ZSBlbXB0eSwgbnVsbCwgdW5kZWZpbmVkXG4gICAgY29uc3QgY2xlYW5lZFBhcmFtczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcyB8fCB7fSkuZm9yRWFjaCgoW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIHZhbHVlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgdmFsdWUgIT09IFwiXCIgJiZcbiAgICAgICAgIShBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApXG4gICAgICApIHtcbiAgICAgICAgY2xlYW5lZFBhcmFtc1trZXldID0gdmFsdWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBjb25maWdzID0ge1xuICAgICAgaGVhZGVyczoge1xuICAgICAgICBBdXRob3JpemF0aW9uOiB0b2tlbiA/IGBCZWFyZXIgJHt0b2tlbn1gIDogXCJcIiwgLy8g4pyFIEZpeGVkIGluY29ycmVjdCBjb25kaXRpb25hbFxuICAgICAgICBBY2NlcHQ6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgfSxcbiAgICAgIHBhcmFtczogY2xlYW5lZFBhcmFtcyxcbiAgICAgIHBhcmFtc1NlcmlhbGl6ZXI6IChwYXJhbXM6IGFueSkgPT5cbiAgICAgICAgcXMuc3RyaW5naWZ5KHBhcmFtcywge1xuICAgICAgICAgIGFycmF5Rm9ybWF0OiBcInJlcGVhdFwiLCAvLyDwn5SlIGV2ZW50X2lkcz0xJmV2ZW50X2lkcz0zXG4gICAgICAgIH0pLFxuICAgIH07XG5cblxuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5nZXQodXJsLCBjb25maWdzKTtcblxuXG4gICAgc3VjY2Vzcz8uKHJlc3BvbnNlLmRhdGEpO1xuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7IC8vIOKchSBFbnN1cmVzIGNhbGxpbmcgZnVuY3Rpb25zIHJlY2VpdmUgZGF0YVxuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJBeGlvcyBHRVQgcmVxdWVzdCBmYWlsZWQ6XCIsIGVycik7XG5cbiAgICBjb25zdCBtZXNzYWdlID0gZXJyLnJlc3BvbnNlPy5kYXRhPy5tZXNzYWdlID8/IFwiVW5rbm93biBlcnJvciFcIjtcbiAgICBjb25zdCBlcnJvciA9IGVyci5yZXNwb25zZT8uZGF0YT8uZXJyb3IgPz8gXCJVbmtub3duIGVycm9yIVwiO1xuXG4gICAgY29uc29sZS5lcnJvcih7IGVycm9yIH0pO1xuXG4gICAgZmFpbGVkPy4obWVzc2FnZSk7XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyDinIUgUHJldmVudCB1bmRlZmluZWQgaXNzdWVzIGluIFJlZHV4XG4gIH1cbn07XG5cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQT1NUIHJlcXVlc3RzIHdpdGggdG9rZW4gYXV0aG9yaXphdGlvbi5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIEFQSSBlbmRwb2ludC5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcG9zdFdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgdG9rZW4gPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCd0b2tlbicpID8/ICcnO1xuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zb2xlLmxvZygncG9zZWQ9PT09PT09PT0gOiAnLGRhdGEpXG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnBvc3QodXJsLCBkYXRhLCBjb25maWcpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1BPU1QgcmVxdWVzdCBlcnJvcjonLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IHBvc3RXaXRoQ29uZmlnRm9ybURhdGEgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhOiBGb3JtRGF0YVxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcblxuICBjb25zb2xlLmxvZygnZm9ybURhdGEgJywgZGF0YSk7XG5cbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnQ29udGVudC1UeXBlJzogJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICB9O1xuXG4gIGlmICh0b2tlbikge1xuICAgIGhlYWRlcnNbJ0F1dGhvcml6YXRpb24nXSA9IGBCZWFyZXIgJHt0b2tlbn1gO1xuICB9XG5cbiAgY29uc3QgY29uZmlnOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnMgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPFQ+ID0gYXdhaXQgYXhpb3NJbnN0YW5jZS5wb3N0KHVybCwgZGF0YSwgY29uZmlnKTtcbiAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdQT1NUIHJlcXVlc3QgZXJyb3I6JywgZXJyb3IpO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbiB0byBtYWtlIFBPU1QgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBUaGUgcmVxdWVzdCBwYXlsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHdpdGggdGhlIHJlc3BvbnNlIGRhdGEuXG4gKi9cbmV4cG9ydCBjb25zdCBwb3N0V2l0aENvbmZpZ1doaXRlbGlzdCA9IGFzeW5jIDxUID0gYW55PihcbiAgdXJsOiBzdHJpbmcsXG4gIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB0b2tlbiA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oXCJ0b2tlblwiKSB8fCBcImV5SmhiR2NpT2lKSVV6STFOaUlzSW5SNWNDSTZJa3BYVkNKOS5leUp6ZFdJaU9pSnFZWGxBWjIxaGFXd3VZMjl0SWl3aVpYaHdJam94TnprNE5UZzNOVEUyZlEuOGRyZ25vUTdmNGRZUVliMzFGY0J2QmEyQmRnQUdqdVJKWGNoaVBtUzdkQVwiO1xuXG4gIGNvbnN0IHN0b3JlZFVzZXIgPSBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdjdXJyZW50VXNlcicpO1xuICBjb25zdCB1c2VyID0gc3RvcmVkVXNlciA/IEpTT04ucGFyc2Uoc3RvcmVkVXNlcikgOiBudWxsOyAgLy8g4pyFIFByZXZlbnRzXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgfTtcblxuICBpZiAodG9rZW4pIHtcbiAgICBoZWFkZXJzWydBdXRob3JpemF0aW9uJ10gPSBgQmVhcmVyICR7dG9rZW59YDtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZzogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgdHJ5IHtcbiAgICAvLyBFbnN1cmUgcmVxdWlyZWQgZmllbGRzIGFyZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBwYXlsb2FkXG4gICAgZGF0YS5waG9uZV9udW1iZXIgPSBkYXRhLnBob25lX251bWJlciA/IGArJHtkYXRhLnBob25lX251bWJlci5jb3VudHJ5Q29kZX0gJHtkYXRhLnBob25lX251bWJlci5hcmVhQ29kZX0gJHtkYXRhLnBob25lX251bWJlci5waG9uZU51bWJlcn1gIDogdW5kZWZpbmVkO1xuICAgIGRhdGEudGVybXNfY29uZGl0aW9uc19pZCA9IDI7XG4gICAgZGF0YS52b2x1bnRlZXJfc3RhdHVzID0gXCJSZWdpc3RlclwiO1xuICAgIGRhdGEudXNlcl9pZCA9IHVzZXIuaWQ7XG4gICAgY29uc3QgZXhwZXJ0aXNlU3RyID0gIGRhdGEuZXhwZXJ0aXNlLnRvU3RyaW5nKCk7XG4gICAgZGF0YS5leHBlcnRpc2UgPSBleHBlcnRpc2VTdHI7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnBvc3QodXJsLCBkYXRhLCBjb25maWcpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoJ1BPU1QgcmVxdWVzdCBlcnJvcjonLCBlcnJvcik7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBERUxFVEUgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uIGFuZCBvcHRpb25hbCBkYXRhLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBPcHRpb25hbCBwYXlsb2FkIGZvciB0aGUgREVMRVRFIHJlcXVlc3QuXG4gKiBAcGFyYW0gc3VjY2VzcyAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBzdWNjZXNzIHJlc3BvbnNlLlxuICogQHBhcmFtIGZhaWxlZCAtIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSBlcnJvciByZXNwb25zZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbW92ZVdpdGhDb25maWcgPSBhc3luYyA8VCA9IGFueT4oXG4gIHVybDogc3RyaW5nLFxuICBkYXRhPzogUmVjb3JkPHN0cmluZywgYW55PixcbiAgc3VjY2Vzcz86IChkYXRhOiBUKSA9PiB2b2lkLFxuICBmYWlsZWQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKSA/PyAnJztcbiAgaWYgKHRva2VuID09PSAnJykge1xuICAgIGZhaWxlZD8uKCdUb2tlbiBpcyBtaXNzaW5nLicpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNvbmZpZ3M6IEF4aW9zUmVxdWVzdENvbmZpZyA9IHtcbiAgICBoZWFkZXJzOiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCA/IGBCZWFyZXIgJHt0b2tlbn1gIDogJycsIC8vIEVuc3VyZSBjb3JyZWN0IEJlYXJlciBmb3JtYXRcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICB9LFxuICAgIGRhdGE6IGRhdGEgPz8ge30sXG4gIH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zSW5zdGFuY2UuZGVsZXRlKHVybCwgY29uZmlncyk7XG4gICAgc3VjY2Vzcz8uKHJlc3BvbnNlLmRhdGEpO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIucmVzcG9uc2U/LmRhdGE/Lm1lc3NhZ2UgPz8gJ1Vua25vd24gZXJyb3IhJztcbiAgICBmYWlsZWQ/LihtZXNzYWdlKTtcbiAgfVxufTtcblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gbWFrZSBQVVQgcmVxdWVzdHMgd2l0aCB0b2tlbiBhdXRob3JpemF0aW9uLlxuICpcbiAqIEBwYXJhbSB1cmwgLSBUaGUgQVBJIGVuZHBvaW50LlxuICogQHBhcmFtIGRhdGEgLSBUaGUgcmVxdWVzdCBwYXlsb2FkLlxuICogQHBhcmFtIHN1Y2Nlc3MgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgc3VjY2VzcyByZXNwb25zZS5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBwdXRXaXRoQ29uZmlnID0gYXN5bmMgPFQgPSBhbnk+KFxuICB1cmw6IHN0cmluZyxcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuKTogUHJvbWlzZTxUPiA9PiB7XG4gIGNvbnN0IHRva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRva2VuXCIpIHx8IFwiZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SnpkV0lpT2lKcVlYbEFaMjFoYVd3dVkyOXRJaXdpWlhod0lqb3hOems0TlRnM05URTJmUS44ZHJnbm9RN2Y0ZFlRWWIzMUZjQnZCYTJCZGdBR2p1UkpYY2hpUG1TN2RBXCI7XG5cbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRva2VuIGlzIG1pc3NpbmcuXCIpO1xuICB9XG5cbiAgY29uc3QgY29uZmlnczogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge1xuICAgIGhlYWRlcnM6IHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICB9LFxuICB9O1xuXG4gIHRyeSB7XG4gICAgY29uc3QgcmVzcG9uc2U6IEF4aW9zUmVzcG9uc2U8VD4gPSBhd2FpdCBheGlvc0luc3RhbmNlLnB1dCh1cmwsIGRhdGEsIGNvbmZpZ3MpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gdXBsb2FkIGZpbGVzLlxuICpcbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGZpbGUgZGF0YSB0byB1cGxvYWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2Ugd2l0aCB0aGUgcmVzcG9uc2UgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IHBvc3RVcGxvYWQgPSBhc3luYyA8VCA9IGFueT4oZGF0YTogRm9ybURhdGEpOiBQcm9taXNlPFQ+ID0+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmwgPSBgJHtjb25maWcudXBsb2FkX3VybH0vbWVkaWEvZmlsZWA7XG4gICAgY29uc3QgY29uZmlndXJlOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7XG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIHRva2VuOiAnOTQ5YjcxZWYtYTVkMi00YTNjLThhOTUtZDc3YmI3ZmIyZmY0JyxcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdtdWx0aXBhcnQvZm9ybS1kYXRhJyxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIGNvbnNvbGUubG9nKGVycik7XG4gIH1cblxufTtcblxuLyoqXG4gKiBGdW5jdGlvbiB0byBwdXNoIG5vdGlmaWNhdGlvbnMgdG8gYSBzcGVjaWZpYyByZWNpcGllbnQuXG4gKlxuICogQHBhcmFtIHJlY2lwaWVudCAtIFRoZSB0b3BpYyBvciBjdXJyZW50VXNlciBJRC5cbiAqIEBwYXJhbSB0aXRsZSAtIFRoZSBub3RpZmljYXRpb24gdGl0bGUuXG4gKiBAcGFyYW0gbWVzc2FnZUJvZHkgLSBUaGUgYm9keSBvZiB0aGUgbm90aWZpY2F0aW9uLlxuICogQHBhcmFtIGlzRHJpdmVyIC0gSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJlY2lwaWVudCBpcyBhIGRyaXZlci5cbiAqIEBwYXJhbSBwaG90byAtIE9wdGlvbmFsIHBob3RvIFVSTCBmb3IgdGhlIG5vdGlmaWNhdGlvbi5cbiAqIEBwYXJhbSBmYWlsZWQgLSBDYWxsYmFjayBmdW5jdGlvbiB0byBoYW5kbGUgZXJyb3IgcmVzcG9uc2UuXG4gKi9cbmV4cG9ydCBjb25zdCBwdXNoTm90aWZpY2F0aW9uID0gYXN5bmMgKFxuICByZWNpcGllbnQ6IHN0cmluZyxcbiAgdGl0bGU6IHN0cmluZyxcbiAgbWVzc2FnZUJvZHk6IHN0cmluZyxcbiAgaXNEcml2ZXI6IGJvb2xlYW4sXG4gIHBob3RvPzogc3RyaW5nLFxuICBmYWlsZWQ/OiAobWVzc2FnZTogc3RyaW5nKSA9PiB2b2lkLFxuKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gIGNvbnN0IHVybCA9IGAke2NvbmZpZy5ub3RpZmljYXRpb25fdXJsfW5vdGlmaWNhdGlvbi9gO1xuICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0gaXNEcml2ZXJcbiAgICA/IHsgJ0RyaXZlci1IZWFkZXInOiAndHJ1ZScgfVxuICAgIDoge307XG4gIGNvbnN0IGNvbmZpZ3VyZTogQXhpb3NSZXF1ZXN0Q29uZmlnID0geyBoZWFkZXJzIH07XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICB0b3BpY19uYW1lOiByZWNpcGllbnQsXG4gICAgbWVzc2FnZV90aXRsZTogdGl0bGUsXG4gICAgbWVzc2FnZV9ib2R5OiBtZXNzYWdlQm9keSxcbiAgICBwaG90byxcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MucG9zdCh1cmwsIGRhdGEsIGNvbmZpZ3VyZSk7XG4gIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5yZXNwb25zZT8uZGF0YT8ubWVzc2FnZSA/PyAnVW5rbm93biBlcnJvciEnO1xuICAgIGZhaWxlZD8uKG1lc3NhZ2UpO1xuICB9XG59O1xuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIHB1c2ggbm90aWZpY2F0aW9ucyB0byBhbGwgdXNlcnMgaW4gdGhlIGFwcC5cbiAqXG4gKiBAcGFyYW0gZGF0YSAtIFRoZSBub3RpZmljYXRpb24gcGF5bG9hZC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB3aXRoIHRoZSByZXNwb25zZSBkYXRhLlxuICovXG5leHBvcnQgY29uc3QgcHVzaE5vdGlmaWNhdGlvbkFsbEFwcCA9IGFzeW5jIDxUID0gYW55PihcbiAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55Pixcbik6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB1cmwgPSBgJHtjb25maWcubm90aWZpY2F0aW9uX3VybH1ub3RpZmljYXRpb24vYDtcbiAgY29uc3QgY29uZmlndXJlOiBBeGlvc1JlcXVlc3RDb25maWcgPSB7IGhlYWRlcnM6IHt9IH07XG5cbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZTogQXhpb3NSZXNwb25zZTxUPiA9IGF3YWl0IGF4aW9zLnBvc3QodXJsLCBkYXRhLCBjb25maWd1cmUpO1xuICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgIHRocm93IG5ldyBFcnJvcignTm90aWZpY2F0aW9uIGZhaWxlZCcpO1xuICB9XG59O1xuIiwiaW1wb3J0IHsgY29uZmlndXJlU3RvcmUsIFRodW5rQWN0aW9uLCBBY3Rpb24gfSBmcm9tICdAcmVkdXhqcy90b29sa2l0JztcblxuaW1wb3J0IGF1dGhTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHZvbHVudGVlclNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3ZvbHVudGVlci9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGRpc2FiaWxpdHlUeXBlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZGlzYWJpbGl0eV90eXBlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9lZHVjYXRpb25faW5zdGl0dXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBmb29kU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZm9vZC9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IGludGVyZXN0ZWRUZWFtU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvaW50ZXJlc3RlZF90ZWFtL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgb2NjdXBhdGlvblNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL29jY3VwYXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCBvcHBvcnR1bml0eVNvdXJjZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL29wcG9ydHVuaXR5X3NvdXJjZS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHByb3ZpbmNlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvcHJvdmluY2UvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBza2lsbFNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3NraWxsL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdGVybXNDb25kaXRpb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90ZXJtc19jb25kaXRpb24vY29yZS9yZWR1Y2VyJztcbmltcG9ydCB0cmFpbmluZ1Nlc3Npb25TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFpbmluZ19zZXNzaW9uL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdm9sdW50ZWVyRXZlbnRTbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92b2x1bnRlZXJfZXZlbnQvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBsYW5ndWFnZVNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL2xhbmd1YWdlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdXNlclNsaWNlIGZyb20gJy4uLy4uL3NlcnZpY2VzL3VzZXIvY29yZS9yZWR1Y2VyJztcbmltcG9ydCBvZmZlclByb2dyYW1TbGljZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vZmZlcl9wcm9ncmFtL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgdHJhdmVsRGF5U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdHJhdmVsX2RheS9jb3JlL3JlZHVjZXInO1xuaW1wb3J0IHVzZXJBdHRlbmRhbmNlU2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlcl9hdHRlbmRhbmNlL2NvcmUvcmVkdWNlcic7XG5pbXBvcnQgZmFtaWxpU3VydmV5U2xpY2UgZnJvbSAnLi4vLi4vc2VydmljZXMvZmFtaWx5X3N1cnZleS9jb3JlL3JlZHVjZXInO1xuXG5leHBvcnQgY29uc3Qgc3RvcmUgPSBjb25maWd1cmVTdG9yZSh7XG4gIHJlZHVjZXI6IHtcbiAgICBhdXRoOiBhdXRoU2xpY2UsXG4gICAgdm9sdW50ZWVyOiB2b2x1bnRlZXJTbGljZSxcbiAgICBkaXNhYmlsaXR5VHlwZTogZGlzYWJpbGl0eVR5cGVTbGljZSxcbiAgICBlZHVjYXRpb25JbnN0aXR1dGlvbjogZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSxcbiAgICBmb29kOiBmb29kU2xpY2UsXG4gICAgaW50ZXJlc3RlZFRlYW06IGludGVyZXN0ZWRUZWFtU2xpY2UsXG4gICAgb2NjdXBhdGlvbjogb2NjdXBhdGlvblNsaWNlLFxuICAgIG9wcG9ydHVuaXR5U291cmNlOiBvcHBvcnR1bml0eVNvdXJjZVNsaWNlLFxuICAgIHByb3ZpbmNlOiBwcm92aW5jZVNsaWNlLFxuICAgIGxhbmd1YWdlOiBsYW5ndWFnZVNsaWNlLFxuICAgIHNraWxsOiBza2lsbFNsaWNlLFxuICAgIHRlcm1zQ29uZGl0aW9uOiB0ZXJtc0NvbmRpdGlvblNsaWNlLFxuICAgIHRyYWluaW5nU2Vzc2lvbjogdHJhaW5pbmdTZXNzaW9uU2xpY2UsXG4gICAgdm9sdW50ZWVyRXZlbnQ6IHZvbHVudGVlckV2ZW50U2xpY2UsXG4gICAgdXNlcjogdXNlclNsaWNlLFxuICAgIG9mZmVyUHJvZ3JhbTogb2ZmZXJQcm9ncmFtU2xpY2UsXG4gICAgdHJhdmVsRGF5OiB0cmF2ZWxEYXlTbGljZSxcbiAgICB1c2VyQXR0ZW5kYW5jZTogdXNlckF0dGVuZGFuY2VTbGljZSxcbiAgICBmYW1pbGlTdXJ2ZXk6IGZhbWlsaVN1cnZleVNsaWNlXG4gIH0sXG4gIGRldlRvb2xzOiBwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gJ3Byb2R1Y3Rpb24nLFxufSk7XG5cbmV4cG9ydCB0eXBlIEFwcERpc3BhdGNoID0gdHlwZW9mIHN0b3JlLmRpc3BhdGNoO1xuZXhwb3J0IHR5cGUgUm9vdFN0YXRlID0gUmV0dXJuVHlwZTx0eXBlb2Ygc3RvcmUuZ2V0U3RhdGU+O1xuZXhwb3J0IHR5cGUgQXBwVGh1bms8UmV0dXJuVHlwZSA9IHZvaWQ+ID0gVGh1bmtBY3Rpb248XG4gIFJldHVyblR5cGUsXG4gIFJvb3RTdGF0ZSxcbiAgdW5rbm93bixcbiAgQWN0aW9uPHN0cmluZz5cbj47XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnOyAvLyBSZXF1aXJlZCBmb3IgSlNYXG5pbXBvcnQgeyBSb3V0ZXMgYXMgUm91dGVyUm91dGVzLCBSb3V0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuXG5pbXBvcnQgTWFpbiBmcm9tICcuLi92aWV3cy9tYWluL2hvbWUvbWFpbic7XG5pbXBvcnQgTG9naW4gZnJvbSAnLi4vdmlld3MvbG9naW4vbG9naW4nO1xuaW1wb3J0IE5vdEZvdW5kIGZyb20gJy4uL3ZpZXdzL25vdC1mb3VuZC9ub3QtZm91bmQnO1xuaW1wb3J0IFByb3RlY3RlZFJvdXRlIGZyb20gJy4vcHJvdGVjdGVkLXJvdXRlJztcbmltcG9ydCBBdXRoIGZyb20gJy4uL3ZpZXdzL2xvZ2luL2F1dGgnO1xuaW1wb3J0IEF0dGVuZGFuY2VRUiBmcm9tICcuLi92aWV3cy9sb2dpbi9hdHRlbmRhbmNlX3FyJztcbmltcG9ydCBUZWxlZ3JhbUxvZ2luQXR0ZW5kYW5jZSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9hdHRlbmRhbmNlX3ZlcmlmaWNhdGlvbic7XG5pbXBvcnQgVm9sdW50ZWVyUmVnaXN0ZXJHYW1lRm9ybSBmcm9tICcuLi92aWV3cy92b2x1bnRlZXIvdm9sdW50ZWVyLXJlZ2lzdGVyLWdhbWUnO1xuXG5jb25zdCBBcHBSb3V0ZXM6IFJlYWN0LkZDID0gKCkgPT4gKFxuICA8Um91dGVyUm91dGVzPlxuICAgIHsvKiBQdWJsaWMgUm91dGVzICovfVxuICAgIDxSb3V0ZSBwYXRoPScvbG9naW4nIGVsZW1lbnQ9ezxMb2dpbiAvPn0gLz5cbiAgICA8Um91dGUgcGF0aD0nL2F1dGgnIGVsZW1lbnQ9ezxBdXRoIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvYXR0ZW5kYW5jZScgZWxlbWVudD17PFRlbGVncmFtTG9naW5BdHRlbmRhbmNlIC8+fSAvPlxuICAgIDxSb3V0ZSBwYXRoPScvcXInIGVsZW1lbnQ9ezxBdHRlbmRhbmNlUVIgLz59IC8+XG4gICAgXG5cbiAgICB7LyogUHJvdGVjdGVkIFJvdXRlcyAtIFdyYXBwaW5nIGV2ZXJ5dGhpbmcgaW5zaWRlIE1haW4gKi99XG4gICAgPFJvdXRlXG4gICAgICBwYXRoPScvKidcbiAgICAgIGVsZW1lbnQ9e1xuICAgICAgICA8UHJvdGVjdGVkUm91dGU+XG4gICAgICAgICAgPE1haW4gLz5cbiAgICAgICAgPC9Qcm90ZWN0ZWRSb3V0ZT5cbiAgICAgIH1cbiAgICAvPlxuICAgIHsvKiBQcm90ZWN0ZWQgUm91dGVzIC0gV3JhcHBpbmcgZXZlcnl0aGluZyBpbnNpZGUgTWFpbiAqL31cbiAgICA8Um91dGVcbiAgICAgIHBhdGg9Jy9yZWdpc3RlcidcbiAgICAgIGVsZW1lbnQ9e1xuICAgICAgICA8UHJvdGVjdGVkUm91dGU+XG4gICAgICAgICAgPFZvbHVudGVlclJlZ2lzdGVyR2FtZUZvcm0gLz5cbiAgICAgICAgICB7LyogPFZvbHVudGVlclJlZ2lzdGVyb3JtIC8+ICovfVxuICAgICAgICA8L1Byb3RlY3RlZFJvdXRlPlxuICAgICAgfVxuICAgIC8+XG4gICAgXG4gICAgey8qIENhdGNoLUFsbCBSb3V0ZSAqL31cbiAgICA8Um91dGUgcGF0aD0nKicgZWxlbWVudD17PE5vdEZvdW5kIC8+fSAvPlxuICA8L1JvdXRlclJvdXRlcz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEFwcFJvdXRlcztcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBOYXZpZ2F0ZSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgUHJvdGVjdGVkUm91dGVQcm9wcyB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5jb25zdCBQcm90ZWN0ZWRSb3V0ZTogUmVhY3QuRkM8UHJvdGVjdGVkUm91dGVQcm9wcz4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IGFjY2Vzc1Rva2VuID0gc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbSgndG9rZW4nKTtcbiAgY29uc3Qgc3RvcmVkVXNlciA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ2N1cnJlbnRVc2VyJyk7XG4gIGxldCB1c2VyID0gbnVsbDtcblxuICBpZiAoc3RvcmVkVXNlcikge1xuICAgIHRyeSB7XG4gICAgICB1c2VyID0gSlNPTi5wYXJzZShzdG9yZWRVc2VyKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgcGFyc2luZyBjdXJyZW50VXNlciBmcm9tIHNlc3Npb25TdG9yYWdlOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBjb25zb2xlLmxvZygnUGFyc2VkIHVzZXI6JywgdXNlcik7XG5cbiAgLy8gQ2hlY2sgZm9yIGEgdmFsaWQgdG9rZW4gYW5kIHRoYXQgdGhlIHVzZXIncyByb2xlIGlzIG5vdCBcIlVTRVJcIlxuICBjb25zdCBpc0F1dGhlbnRpY2F0ZWQgPVxuICAgIEJvb2xlYW4oYWNjZXNzVG9rZW4gJiYgYWNjZXNzVG9rZW4ubGVuZ3RoID4gMCAmJiB1c2VyKTtcblxuICByZXR1cm4gaXNBdXRoZW50aWNhdGVkID8gPD57Y2hpbGRyZW59PC8+IDogPE5hdmlnYXRlIHRvPVwiL2xvZ2luXCIgLz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBQcm90ZWN0ZWRSb3V0ZTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBGb3JtLFxuICBJbnB1dCxcbiAgQnV0dG9uLFxuICBDaGVja2JveCxcbiAgUm93LFxuICBDb2wsXG4gIElucHV0TnVtYmVyLFxuICBTZWxlY3QsXG4gIENhcmQsXG4gIG1lc3NhZ2UsXG4gIFNwYWNlLFxuICBUYWdcbn0gZnJvbSBcImFudGRcIjtcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gXCJyZWFjdC1yZWR1eFwiO1xuaW1wb3J0IHsgdXNlTmF2aWdhdGUgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvcmVkdXgvc3RvcmVcIjtcbmltcG9ydCB7XG4gIGZldGNoUHJvdmluY2UsXG4gIGZldGNoRGlzdHJpY3QsXG4gIGZldGNoQ29tbXVuZSxcbiAgZmV0Y2hWaWxsYWdlU2VydmljZSxcbiAgZmV0Y2hUcmFuc3BvcnRhdGlvbixcbiAgY3JlYXRlRmFtaWx5QWN0aW9uLFxuICB1cGRhdGVGYW1pbHlBY3Rpb24sXG4gIGZhbWlseURldGFpbEFjdGlvblxufSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZmFtaWx5X3N1cnZleS9jb3JlL2FjdGlvbnNcIjtcbmltcG9ydCB7IENyZWF0ZUZhbWlseU1lbWJlciB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlcy9pbmRleFwiO1xuXG5jb25zdCB7IE9wdGlvbiB9ID0gU2VsZWN0O1xuXG4vLyBBZGQgaW50ZXJmYWNlc1xuaW50ZXJmYWNlIExvY2F0aW9uQ2hhaW4ge1xuICBwcm92aW5jZTogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgZGlzdHJpY3Q/OiB7IGlkOiBzdHJpbmc7IG5hbWU6IHN0cmluZyB9O1xuICBjb21tdW5lPzogeyBpZDogc3RyaW5nOyBuYW1lOiBzdHJpbmcgfTtcbiAgdmlsbGFnZT86IHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH07XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xufVxuXG4vLyBVcGRhdGUgc3RvcmFnZSBrZXlcbmNvbnN0IFNUT1JBR0VfS0VZID0ge1xuICBMT0NBVElPTl9DSEFJTlM6ICdmYW1pbHlfc3VydmV5X2xvY2F0aW9uX2NoYWlucycsXG4gIExBU1RfU0VMRUNUSU9OOiAnZmFtaWx5X3N1cnZleV9sYXN0X3NlbGVjdGlvbidcbn07XG5cbmludGVyZmFjZSBGYW1pbHlTdXJ2ZXlGb3JtUHJvcHMge1xuICBpc1ZpZXdNb2RlPzogYm9vbGVhbjtcbiAgaW5pdGlhbFZhbHVlcz86IGFueTtcbn1cblxuY29uc3QgRmFtaWx5U3VydmV5Rm9ybTogUmVhY3QuRkM8RmFtaWx5U3VydmV5Rm9ybVByb3BzPiA9ICh7XG4gIGlzVmlld01vZGUsXG4gIGluaXRpYWxWYWx1ZXNcbn0pID0+IHtcbiAgY29uc3QgW2Zvcm1dID0gRm9ybS51c2VGb3JtKCk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgbmF2aWdhdGUgPSB1c2VOYXZpZ2F0ZSgpO1xuICBjb25zdCBbc2F2ZWRMb2NhdGlvbkNoYWlucywgc2V0U2F2ZWRMb2NhdGlvbkNoYWluc10gPSB1c2VTdGF0ZTxMb2NhdGlvbkNoYWluW10+KFtdKTtcbiAgY29uc3Qge1xuICAgIHByb3ZpbmNlcyA9IFtdLFxuICAgIGRpc3RyaWN0cyA9IFtdLFxuICAgIGNvbW11bmVzID0gW10sXG4gICAgdmlsbGFnZXMgPSBbXSxcbiAgICB0cmFuc3BvcnRhdGlvbnMgPSBbXSxcbiAgICBmYW1pbHlTdXJ2ZXksXG4gICAgcmVnaXN0ZXJQZW5kaW5nLFxuICAgIHJlZ2lzdGVyRXJyb3JNZXNzYWdlLFxuICB9ID0gdXNlU2VsZWN0b3IoKHN0YXRlOiBSb290U3RhdGUpID0+IHN0YXRlLmZhbWlsaVN1cnZleSB8fCB7fSk7XG5cbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCBpZCA9IHNlYXJjaFBhcmFtcy5nZXQoJ2lkJyk7XG5cbiAgY29uc3QgW2lzQ2xpY2ssIHNldElzQ2xpY2tdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIC8vIPCfkYkgRmV0Y2ggZGF0YSB3aGVuIGVkaXRpbmcgb3IgcmVzZXQgZm9ybSB3aGVuIGFkZGluZ1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpZCkge1xuICAgICAgZGlzcGF0Y2goZmFtaWx5RGV0YWlsQWN0aW9uKE51bWJlcihpZCkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZm9ybS5yZXNldEZpZWxkcygpOyAvLyBSZXNldCBmb3JtIGZpZWxkcyB3aGVuIGFkZGluZyBhIG5ldyBpdGVtXG4gICAgfVxuICB9LCBbZGlzcGF0Y2gsIGlkLCBmb3JtXSk7XG5cbiAgLy8g8J+RiSBQb3B1bGF0ZSBmb3JtIHdpdGggZmV0Y2hlZCBkYXRhXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlkICYmIGZhbWlseVN1cnZleSkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIG5hbWU6IGZhbWlseVN1cnZleS5uYW1lIHx8ICcnLFxuICAgICAgICBwaG9uZTogZmFtaWx5U3VydmV5LnBob25lIHx8ICcnLFxuICAgICAgICBnZW5kZXI6IGZhbWlseVN1cnZleS5nZW5kZXIgfHwgJycsXG4gICAgICAgIGFnZTogZmFtaWx5U3VydmV5LmFnZSB8fCAwLFxuICAgICAgICBwcm92aW5jZTogZmFtaWx5U3VydmV5LnByb3ZpbmNlIHx8ICcnLFxuICAgICAgICBkaXN0cmljdDogZmFtaWx5U3VydmV5LmRpc3RyaWN0IHx8ICcnLFxuICAgICAgICBjb21tdW5lOiBmYW1pbHlTdXJ2ZXkuY29tbXVuZSB8fCAnJyxcbiAgICAgICAgdmlsbGFnZTogZmFtaWx5U3VydmV5LnZpbGxhZ2UgfHwgJycsXG4gICAgICAgIHRvdGFsX21lbWJlcjogZmFtaWx5U3VydmV5LnRvdGFsX21lbWJlciB8fCAwLFxuICAgICAgICBtZW1iZXJfbWFsZTogZmFtaWx5U3VydmV5Lm1lbWJlcl9tYWxlIHx8IDAsXG4gICAgICAgIG1lbWJlcl9mZW1hbGU6IGZhbWlseVN1cnZleS5tZW1iZXJfZmVtYWxlIHx8IDAsXG4gICAgICAgIHRvdGFsX3ByZWduYW50OiBmYW1pbHlTdXJ2ZXkudG90YWxfcHJlZ25hbnQgfHwgMCxcbiAgICAgICAgdG90YWxfYmFieTogZmFtaWx5U3VydmV5LnRvdGFsX2JhYnkgfHwgMCxcbiAgICAgICAgYmFieV9tYWxlOiBmYW1pbHlTdXJ2ZXkuYmFieV9tYWxlIHx8IDAsXG4gICAgICAgIGJhYnlfZmVtYWxlOiBmYW1pbHlTdXJ2ZXkuYmFieV9mZW1hbGUgfHwgMCxcbiAgICAgICAgdG90YWxfY2hpbGQ6IGZhbWlseVN1cnZleS50b3RhbF9jaGlsZCB8fCAwLFxuICAgICAgICBjaGlsZF9tYWxlOiBmYW1pbHlTdXJ2ZXkuY2hpbGRfbWFsZSB8fCAwLFxuICAgICAgICBjaGlsZF9mZW1hbGU6IGZhbWlseVN1cnZleS5jaGlsZF9mZW1hbGUgfHwgMCxcbiAgICAgICAgaXNfZGlzYWJsZWQ6IGZhbWlseVN1cnZleS5pc19kaXNhYmxlZCB8fCBmYWxzZSxcbiAgICAgICAgaXNfb2xkX2FnZTogZmFtaWx5U3VydmV5LmlzX29sZF9hZ2UgfHwgZmFsc2UsXG4gICAgICAgIHRyYW5zcG9ydGF0aW9uX2lkOiBmYW1pbHlTdXJ2ZXkudHJhbnNwb3J0YXRpb25faWQgfHwgbnVsbCxcbiAgICAgICAgbm90ZTogZmFtaWx5U3VydmV5Lm5vdGUgfHwgJycsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtmYW1pbHlTdXJ2ZXksIGZvcm0sIGlkXSk7XG5cbiAgLy8g8J+RiSBTaG93IHN1Y2Nlc3Mgb3IgZXJyb3IgYWxlcnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFyZWdpc3RlclBlbmRpbmcgJiYgaXNDbGljaykge1xuICAgICAgaWYgKHJlZ2lzdGVyRXJyb3JNZXNzYWdlKSB7XG4gICAgICAgIG1lc3NhZ2UuZXJyb3IocmVnaXN0ZXJFcnJvck1lc3NhZ2UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbWVzc2FnZS5zdWNjZXNzKGlkID8gJ1VwZGF0ZWQgc3VjY2Vzc2Z1bGx5IScgOiAnQ3JlYXRlZCBzdWNjZXNzZnVsbHkhJyk7XG4gICAgICAgIG5hdmlnYXRlKCcvZmFtaWx5LXN1cnZleScpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3JlZ2lzdGVyUGVuZGluZywgcmVnaXN0ZXJFcnJvck1lc3NhZ2UsIGlkLCBpc0NsaWNrLCBuYXZpZ2F0ZV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hQcm92aW5jZSgpKTtcbiAgICBkaXNwYXRjaChmZXRjaFRyYW5zcG9ydGF0aW9uKCkpO1xuICB9LCBbZGlzcGF0Y2hdKTtcblxuICAvLyBMb2FkIHNhdmVkIGxvY2F0aW9uIGNoYWlucyBvbiBtb3VudFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNhdmVkQ2hhaW5zID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkFHRV9LRVkuTE9DQVRJT05fQ0hBSU5TKTtcbiAgICBpZiAoc2F2ZWRDaGFpbnMpIHtcbiAgICAgIGNvbnN0IGNoYWlucyA9IEpTT04ucGFyc2Uoc2F2ZWRDaGFpbnMpO1xuICAgICAgc2V0U2F2ZWRMb2NhdGlvbkNoYWlucyhjaGFpbnMpO1xuXG4gICAgICAvLyBBdXRvLXNlbGVjdCBtb3N0IHJlY2VudCBsb2NhdGlvbiBjaGFpblxuICAgICAgY29uc3QgbW9zdFJlY2VudCA9IGNoYWluc1swXTtcbiAgICAgIGlmIChtb3N0UmVjZW50KSB7XG4gICAgICAgIGF1dG9TZWxlY3RMb2NhdGlvbkNoYWluKG1vc3RSZWNlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IGhhbmRsZUNvdW50VG90YWxDaGFuZ2UgPSAodHlwZTogJ21lbWJlcicgfCAnYmFieScgfCAnY2hpbGQnLCB2YWx1ZTogbnVtYmVyIHwgbnVsbCkgPT4ge1xuICAgIGlmICh0eXBlID09PSAnbWVtYmVyJykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgbWVtYmVyX21hbGU6IDAsIG1lbWJlcl9mZW1hbGU6IDAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdtZW1iZXJfbWFsZScpIHx8IDA7XG4gICAgICAgIGNvbnN0IGZlbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnbWVtYmVyX2ZlbWFsZScpIHx8IDA7XG5cbiAgICAgICAgaWYgKG1hbGUgPiAwICYmIG1hbGUgPD0gdmFsdWUpIHtcbiAgICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgbWVtYmVyX2ZlbWFsZTogdmFsdWUgLSBtYWxlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZlbWFsZSA+IDAgJiYgZmVtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IG1lbWJlcl9tYWxlOiB2YWx1ZSAtIGZlbWFsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlID09PSAnYmFieScpIHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGJhYnlfbWFsZTogMCwgYmFieV9mZW1hbGU6IDAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtYWxlID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdiYWJ5X21hbGUnKSB8fCAwO1xuICAgICAgICBjb25zdCBmZW1hbGUgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ2JhYnlfZmVtYWxlJykgfHwgMDtcblxuICAgICAgICBpZiAobWFsZSA+IDAgJiYgbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBiYWJ5X2ZlbWFsZTogdmFsdWUgLSBtYWxlIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKGZlbWFsZSA+IDAgJiYgZmVtYWxlIDw9IHZhbHVlKSB7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGJhYnlfbWFsZTogdmFsdWUgLSBmZW1hbGUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodHlwZSA9PT0gJ2NoaWxkJykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY2hpbGRfbWFsZTogMCwgY2hpbGRfZmVtYWxlOiAwIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnY2hpbGRfbWFsZScpIHx8IDA7XG4gICAgICAgIGNvbnN0IGZlbWFsZSA9IGZvcm0uZ2V0RmllbGRWYWx1ZSgnY2hpbGRfZmVtYWxlJykgfHwgMDtcblxuICAgICAgICBpZiAobWFsZSA+IDAgJiYgbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjaGlsZF9mZW1hbGU6IHZhbHVlIC0gbWFsZSB9KTtcbiAgICAgICAgfSBlbHNlIGlmIChmZW1hbGUgPiAwICYmIGZlbWFsZSA8PSB2YWx1ZSkge1xuICAgICAgICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBjaGlsZF9tYWxlOiB2YWx1ZSAtIGZlbWFsZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSA9ICh0eXBlOiAnbWVtYmVyJyB8ICdiYWJ5JyB8ICdjaGlsZCcsIGdlbmRlcjogJ21hbGUnIHwgJ2ZlbWFsZScsIHZhbHVlOiBudW1iZXIgfCBudWxsKSA9PiB7XG4gICAgY29uc3QgdG90YWxGaWVsZCA9IHtcbiAgICAgIG1lbWJlcjogJ3RvdGFsX21lbWJlcicsXG4gICAgICBiYWJ5OiAndG90YWxfYmFieScsXG4gICAgICBjaGlsZDogJ3RvdGFsX2NoaWxkJyxcbiAgICB9W3R5cGVdO1xuXG4gICAgY29uc3QgdG90YWwgPSBmb3JtLmdldEZpZWxkVmFsdWUodG90YWxGaWVsZCkgfHwgMDtcblxuICAgIGlmICh0b3RhbCA9PT0gMCkge1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7XG4gICAgICAgIFtgJHt0eXBlfV9tYWxlYF06IDAsXG4gICAgICAgIFtgJHt0eXBlfV9mZW1hbGVgXTogMCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodmFsdWUgPiB0b3RhbCkge1xuICAgICAgbWVzc2FnZS53YXJuaW5nKFwiR2VuZGVyIGNvdW50IGNhbm5vdCBleGNlZWQgdG90YWwuXCIpO1xuICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IFtgJHt0eXBlfV8ke2dlbmRlcn1gXTogdG90YWwgfSk7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgW2Ake3R5cGV9XyR7Z2VuZGVyID09PSAnbWFsZScgPyAnZmVtYWxlJyA6ICdtYWxlJ31gXTogMCB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IFtgJHt0eXBlfV8ke2dlbmRlciA9PT0gJ21hbGUnID8gJ2ZlbWFsZScgOiAnbWFsZSd9YF06IHRvdGFsIC0gdmFsdWUgfSk7XG4gIH07XG5cbiAgLy8g8J+RiSBIYW5kbGUgZm9ybSBzdWJtaXRcbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKHZhbHVlczogQ3JlYXRlRmFtaWx5TWVtYmVyKSA9PiB7XG4gICAgaWYgKGlkKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVGYW1pbHlBY3Rpb24oeyBpZDogTnVtYmVyKGlkKSwgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGlzcGF0Y2goY3JlYXRlRmFtaWx5QWN0aW9uKHsgZGF0YTogdmFsdWVzIH0pKTtcbiAgICAgIGZvcm0ucmVzZXRGaWVsZHMoKTtcbiAgICB9XG4gICAgc2V0SXNDbGljayh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBhdXRvU2VsZWN0TG9jYXRpb25DaGFpbiA9IChsb2NhdGlvbkNoYWluOiBMb2NhdGlvbkNoYWluKSA9PiB7XG4gICAgLy8gU2V0IHByb3ZpbmNlIGFuZCBmZXRjaCBkaXN0cmljdHNcbiAgICBpZiAobG9jYXRpb25DaGFpbi5wcm92aW5jZSkge1xuICAgICAgY29uc3QgcHJvdmluY2VWYWx1ZSA9IGAke2xvY2F0aW9uQ2hhaW4ucHJvdmluY2UuaWR9LCR7bG9jYXRpb25DaGFpbi5wcm92aW5jZS5uYW1lfWA7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgcHJvdmluY2U6IHByb3ZpbmNlVmFsdWUgfSk7XG4gICAgICBkaXNwYXRjaChmZXRjaERpc3RyaWN0KHsgaWQ6IE51bWJlcihsb2NhdGlvbkNoYWluLnByb3ZpbmNlLmlkKSB9KSk7XG5cbiAgICAgIC8vIFNldCBkaXN0cmljdCBhbmQgZmV0Y2ggY29tbXVuZXNcbiAgICAgIGlmIChsb2NhdGlvbkNoYWluLmRpc3RyaWN0KSB7XG4gICAgICAgIGNvbnN0IGRpc3RyaWN0VmFsdWUgPSBgJHtsb2NhdGlvbkNoYWluLmRpc3RyaWN0LmlkfSwke2xvY2F0aW9uQ2hhaW4uZGlzdHJpY3QubmFtZX1gO1xuICAgICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgZGlzdHJpY3Q6IGRpc3RyaWN0VmFsdWUgfSk7XG4gICAgICAgIGRpc3BhdGNoKGZldGNoQ29tbXVuZSh7IGlkOiBOdW1iZXIobG9jYXRpb25DaGFpbi5kaXN0cmljdC5pZCkgfSkpO1xuXG4gICAgICAgIC8vIFNldCBjb21tdW5lIGFuZCBmZXRjaCB2aWxsYWdlc1xuICAgICAgICBpZiAobG9jYXRpb25DaGFpbi5jb21tdW5lKSB7XG4gICAgICAgICAgY29uc3QgY29tbXVuZVZhbHVlID0gYCR7bG9jYXRpb25DaGFpbi5jb21tdW5lLmlkfSwke2xvY2F0aW9uQ2hhaW4uY29tbXVuZS5uYW1lfWA7XG4gICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IGNvbW11bmU6IGNvbW11bmVWYWx1ZSB9KTtcbiAgICAgICAgICBkaXNwYXRjaChmZXRjaFZpbGxhZ2VTZXJ2aWNlKHsgaWQ6IE51bWJlcihsb2NhdGlvbkNoYWluLmNvbW11bmUuaWQpIH0pKTtcblxuICAgICAgICAgIC8vIFNldCB2aWxsYWdlIGlmIGV4aXN0c1xuICAgICAgICAgIGlmIChsb2NhdGlvbkNoYWluLnZpbGxhZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IHZpbGxhZ2VWYWx1ZSA9IGAke2xvY2F0aW9uQ2hhaW4udmlsbGFnZS5pZH0sJHtsb2NhdGlvbkNoYWluLnZpbGxhZ2UubmFtZX1gO1xuICAgICAgICAgICAgZm9ybS5zZXRGaWVsZHNWYWx1ZSh7IHZpbGxhZ2U6IHZpbGxhZ2VWYWx1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc2F2ZUxvY2F0aW9uQ2hhaW4gPSAobmV3Q2hhaW46IFBhcnRpYWw8TG9jYXRpb25DaGFpbj4pID0+IHtcbiAgICBjb25zdCB1cGRhdGVkQ2hhaW4gPSB7XG4gICAgICAuLi5uZXdDaGFpbixcbiAgICAgIHRpbWVzdGFtcDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpXG4gICAgfTtcblxuICAgIC8vIEtlZXAgb25seSB1bmlxdWUgY2hhaW5zLCBsaW1pdGVkIHRvIDUgbW9zdCByZWNlbnRcbiAgICBjb25zdCBleGlzdGluZ0NoYWlucyA9IHNhdmVkTG9jYXRpb25DaGFpbnMuZmlsdGVyKGNoYWluID0+XG4gICAgICBjaGFpbi5wcm92aW5jZS5pZCAhPT0gdXBkYXRlZENoYWluLnByb3ZpbmNlPy5pZCB8fFxuICAgICAgY2hhaW4uZGlzdHJpY3Q/LmlkICE9PSB1cGRhdGVkQ2hhaW4uZGlzdHJpY3Q/LmlkIHx8XG4gICAgICBjaGFpbi5jb21tdW5lPy5pZCAhPT0gdXBkYXRlZENoYWluLmNvbW11bmU/LmlkXG4gICAgKTtcblxuICAgIGNvbnN0IG5ld0NoYWlucyA9IFt1cGRhdGVkQ2hhaW4sIC4uLmV4aXN0aW5nQ2hhaW5zXS5zbGljZSgwLCA1KTtcbiAgICBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zKG5ld0NoYWlucyk7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oU1RPUkFHRV9LRVkuTE9DQVRJT05fQ0hBSU5TLCBKU09OLnN0cmluZ2lmeShuZXdDaGFpbnMpKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVQcm92aW5jZUNoYW5nZSA9ICh2YWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBjb25zdCBbcHJvdmluY2VJZCwgcHJvdmluY2VOYW1lXSA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcbiAgICBkaXNwYXRjaChmZXRjaERpc3RyaWN0KHsgaWQ6IE51bWJlcihwcm92aW5jZUlkLnRyaW0oKSkgfSkpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyBkaXN0cmljdDogdW5kZWZpbmVkLCBjb21tdW5lOiB1bmRlZmluZWQsIHZpbGxhZ2U6IHVuZGVmaW5lZCB9KTtcblxuICAgIHNhdmVMb2NhdGlvbkNoYWluKHtcbiAgICAgIHByb3ZpbmNlOiB7XG4gICAgICAgIGlkOiBwcm92aW5jZUlkLnRyaW0oKSxcbiAgICAgICAgbmFtZTogcHJvdmluY2VOYW1lLnRyaW0oKVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZURpc3RyaWN0Q2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIGNvbnN0IFtkaXN0cmljdElkLCBkaXN0cmljdE5hbWVdID0gdmFsdWUuc3BsaXQoXCIsXCIpO1xuICAgIGRpc3BhdGNoKGZldGNoQ29tbXVuZSh7IGlkOiBOdW1iZXIoZGlzdHJpY3RJZC50cmltKCkpIH0pKTtcbiAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKHsgY29tbXVuZTogdW5kZWZpbmVkLCB2aWxsYWdlOiB1bmRlZmluZWQgfSk7XG5cbiAgICBjb25zdCBjdXJyZW50UHJvdmluY2UgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ3Byb3ZpbmNlJyk/LnNwbGl0KCcsJyk7XG4gICAgaWYgKGN1cnJlbnRQcm92aW5jZSkge1xuICAgICAgc2F2ZUxvY2F0aW9uQ2hhaW4oe1xuICAgICAgICBwcm92aW5jZToge1xuICAgICAgICAgIGlkOiBjdXJyZW50UHJvdmluY2VbMF0udHJpbSgpLFxuICAgICAgICAgIG5hbWU6IGN1cnJlbnRQcm92aW5jZVsxXS50cmltKClcbiAgICAgICAgfSxcbiAgICAgICAgZGlzdHJpY3Q6IHtcbiAgICAgICAgICBpZDogZGlzdHJpY3RJZC50cmltKCksXG4gICAgICAgICAgbmFtZTogZGlzdHJpY3ROYW1lLnRyaW0oKVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlQ29tbXVuZUNoYW5nZSA9ICh2YWx1ZT86IHN0cmluZykgPT4ge1xuICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICBjb25zdCBbY29tbXVuZUlkLCBjb21tdW5lTmFtZV0gPSB2YWx1ZS5zcGxpdChcIixcIik7XG4gICAgZGlzcGF0Y2goZmV0Y2hWaWxsYWdlU2VydmljZSh7IGlkOiBOdW1iZXIoY29tbXVuZUlkLnRyaW0oKSkgfSkpO1xuICAgIGZvcm0uc2V0RmllbGRzVmFsdWUoeyB2aWxsYWdlOiB1bmRlZmluZWQgfSk7XG5cbiAgICBjb25zdCBjdXJyZW50UHJvdmluY2UgPSBmb3JtLmdldEZpZWxkVmFsdWUoJ3Byb3ZpbmNlJyk/LnNwbGl0KCcsJyk7XG4gICAgY29uc3QgY3VycmVudERpc3RyaWN0ID0gZm9ybS5nZXRGaWVsZFZhbHVlKCdkaXN0cmljdCcpPy5zcGxpdCgnLCcpO1xuICAgIGlmIChjdXJyZW50UHJvdmluY2UgJiYgY3VycmVudERpc3RyaWN0KSB7XG4gICAgICBzYXZlTG9jYXRpb25DaGFpbih7XG4gICAgICAgIHByb3ZpbmNlOiB7XG4gICAgICAgICAgaWQ6IGN1cnJlbnRQcm92aW5jZVswXS50cmltKCksXG4gICAgICAgICAgbmFtZTogY3VycmVudFByb3ZpbmNlWzFdLnRyaW0oKVxuICAgICAgICB9LFxuICAgICAgICBkaXN0cmljdDoge1xuICAgICAgICAgIGlkOiBjdXJyZW50RGlzdHJpY3RbMF0udHJpbSgpLFxuICAgICAgICAgIG5hbWU6IGN1cnJlbnREaXN0cmljdFsxXS50cmltKClcbiAgICAgICAgfSxcbiAgICAgICAgY29tbXVuZToge1xuICAgICAgICAgIGlkOiBjb21tdW5lSWQudHJpbSgpLFxuICAgICAgICAgIG5hbWU6IGNvbW11bmVOYW1lLnRyaW0oKVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDYW5jZWwgPSAoKSA9PiB7XG4gICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFNUT1JBR0VfS0VZLkxBU1RfU0VMRUNUSU9OKTtcbiAgICBuYXZpZ2F0ZSgnL2ZhbWlseS1zdXJ2ZXknKVxuICB9O1xuXG4gIGNvbnN0IFF1aWNrRmlsbCA9ICgpID0+IHtcbiAgICBjb25zdCBtb3N0UmVjZW50ID0gc2F2ZWRMb2NhdGlvbkNoYWluc1swXTtcblxuICAgIGlmICghbW9zdFJlY2VudCkgcmV0dXJuIG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdiBzdHlsZT17eyBtYXJnaW5Cb3R0b206IDE2IH19PlxuICAgICAgICA8U3BhY2UgYWxpZ249XCJjZW50ZXJcIj5cbiAgICAgICAgICA8c3Bhbj7hnpHhnrjhno/hnrbhn4bhnoThnpDhn5Lhnpjhnrjhn5cgLyBSZWNlbnQgbG9jYXRpb246PC9zcGFuPlxuICAgICAgICAgIDxUYWcgY29sb3I9XCJibHVlXCI+XG4gICAgICAgICAgICB7bW9zdFJlY2VudC5wcm92aW5jZS5uYW1lfVxuICAgICAgICAgICAge21vc3RSZWNlbnQuZGlzdHJpY3QgJiYgYCA+ICR7bW9zdFJlY2VudC5kaXN0cmljdC5uYW1lfWB9XG4gICAgICAgICAgICB7bW9zdFJlY2VudC5jb21tdW5lICYmIGAgPiAke21vc3RSZWNlbnQuY29tbXVuZS5uYW1lfWB9XG4gICAgICAgICAgPC9UYWc+XG4gICAgICAgIDwvU3BhY2U+XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9O1xuXG4gIC8vIEF1dG8tc2VsZWN0IGxvY2F0aW9uIG9uIG1vdW50XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRDaGFpbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShTVE9SQUdFX0tFWS5MT0NBVElPTl9DSEFJTlMpO1xuICAgIGlmIChzYXZlZENoYWlucykge1xuICAgICAgY29uc3QgY2hhaW5zID0gSlNPTi5wYXJzZShzYXZlZENoYWlucyk7XG4gICAgICBzZXRTYXZlZExvY2F0aW9uQ2hhaW5zKGNoYWlucyk7XG5cbiAgICAgIC8vIEF1dG8tc2VsZWN0IG1vc3QgcmVjZW50IGxvY2F0aW9uIGNoYWluIHdpdGhvdXQgdXNlciBpbnRlcmFjdGlvblxuICAgICAgY29uc3QgbW9zdFJlY2VudCA9IGNoYWluc1swXTtcbiAgICAgIGlmIChtb3N0UmVjZW50KSB7XG4gICAgICAgIGF1dG9TZWxlY3RMb2NhdGlvbkNoYWluKG1vc3RSZWNlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGluaXRpYWxWYWx1ZXMgJiYgKGlzVmlld01vZGUpKSB7XG4gICAgICBmb3JtLnNldEZpZWxkc1ZhbHVlKGluaXRpYWxWYWx1ZXMpO1xuICAgIH1cbiAgfSwgW2luaXRpYWxWYWx1ZXMsIGZvcm0sIGlzVmlld01vZGVdKTtcblxuICByZXR1cm4gKFxuICAgIDxDYXJkPlxuICAgICAgPEZvcm1cbiAgICAgICAgZm9ybT17Zm9ybX1cbiAgICAgICAgbGF5b3V0PVwidmVydGljYWxcIlxuICAgICAgICBvbkZpbmlzaD17aGFuZGxlU3VibWl0fVxuICAgICAgICBkaXNhYmxlZD17aXNWaWV3TW9kZX1cbiAgICAgICAgaW5pdGlhbFZhbHVlcz17aW5pdGlhbFZhbHVlc31cbiAgICAgID5cbiAgICAgICAgPFF1aWNrRmlsbCAvPlxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPVwi4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6C4Z+S4Z6a4Z694Z6f4Z624Z6aIC8gRmFtaWx5IE5hbWVcIlxuICAgICAgICAgICAgICBuYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgZmFtaWx5IG5hbWVcIiB9XX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPElucHV0IHBsYWNlaG9sZGVyPVwiRW50ZXIgZmFtaWx5IG5hbWVcIiAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnpvhn4HhnoHhnpHhnrzhnprhnp/hn5Dhnpbhn5LhnpEgLyBQaG9uZVwiXG4gICAgICAgICAgICAgIG5hbWU9XCJwaG9uZVwiXG4gICAgICAgICAgICAgIHJ1bGVzPXtbXG4gICAgICAgICAgICAgICAgeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgcGhvbmUgbnVtYmVyXCIgfSxcbiAgICAgICAgICAgICAgICB7IHBhdHRlcm46IC9eWzAtOV0rJC8sIG1lc3NhZ2U6IFwiUGhvbmUgbXVzdCBiZSBudW1iZXJzIG9ubHlcIiB9LFxuICAgICAgICAgICAgICBdfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBwaG9uZSBudW1iZXJcIiAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBHZW5kZXIgJiBBZ2UgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbGFiZWw9XCLhnpfhn4HhnpEgLyBHZW5kZXJcIlxuICAgICAgICAgICAgICBuYW1lPVwiZ2VuZGVyXCJcbiAgICAgICAgICAgICAgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBzZWxlY3QgZ2VuZGVyXCIgfV19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgZ2VuZGVyXCI+XG4gICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cIk1hbGVcIj7hnpThn5Lhnprhnrvhnp8gLyBNYWxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgPE9wdGlvbiB2YWx1ZT1cIkZlbWFsZVwiPuGen+GfkuGemuGeuCAvIEZlbWFsZTwvT3B0aW9uPlxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17OH0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtXG4gICAgICAgICAgICAgIGxhYmVsPVwi4Z6i4Z624Z6Z4Z67IC8gQWdlXCJcbiAgICAgICAgICAgICAgbmFtZT1cImFnZVwiXG4gICAgICAgICAgICAgIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgYWdlXCIgfV19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBQcm92aW5jZSwgRGlzdHJpY3QsIENvbW11bmUsIFZpbGxhZ2UgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBuYW1lPVwicHJvdmluY2VcIiBsYWJlbD1cIuGegeGfgeGej+GfkuGejy/hnoDhn5LhnprhnrvhnoQgLyBQcm92aW5jZS9DaXR5XCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlIH1dfT5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBQcm92aW5jZVwiIG9uQ2hhbmdlPXtoYW5kbGVQcm92aW5jZUNoYW5nZX0+XG4gICAgICAgICAgICAgICAge3Byb3ZpbmNlcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICBwcm92aW5jZXNcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcihwID0+IEFMTE9XRURfUFJPVklOQ0VfSURTLmluY2x1ZGVzKHAuaWQudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpKSlcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgocCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxPcHRpb24ga2V5PXtwLmlkfSB2YWx1ZT17YCR7cC5pZH0sICR7cC5uYW1lLmttfSAvICR7cC5uYW1lLmxhdGlufWB9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2Ake3AubmFtZS5rbX0gLyAke3AubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIHByb3ZpbmNlcyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbmFtZT1cImRpc3RyaWN0XCIgbGFiZWw9XCLhnp/hn5LhnprhnrvhnoAv4Z6B4Z6O4Z+S4Z6MIC8gRGlzdHJpY3QvS2hhblwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSB9XX0+XG4gICAgICAgICAgICAgIDxTZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgRGlzdHJpY3RcIiBvbkNoYW5nZT17aGFuZGxlRGlzdHJpY3RDaGFuZ2V9PlxuICAgICAgICAgICAgICAgIHtkaXN0cmljdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgICAgZGlzdHJpY3RzLm1hcCgoZCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17ZC5pZH0gdmFsdWU9e2Ake2QuaWR9LCAke2QubmFtZS5rbX0gLyAke2QubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAgICB7YCR7ZC5uYW1lLmttfSAvICR7ZC5uYW1lLmxhdGlufWB9XG4gICAgICAgICAgICAgICAgICAgIDwvT3B0aW9uPlxuICAgICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgPE9wdGlvbiBkaXNhYmxlZD5ObyBkaXN0cmljdHMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9XCJjb21tdW5lXCIgbGFiZWw9XCLhnoPhnrvhn4Yv4Z6f4Z6E4Z+S4Z6A4Z624Z6P4Z+LIC8gQ29tbXVuZS9TYW5na2F0XCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlIH1dfT5cbiAgICAgICAgICAgICAgPFNlbGVjdCBwbGFjZWhvbGRlcj1cIlNlbGVjdCBDb21tdW5lXCIgb25DaGFuZ2U9e2hhbmRsZUNvbW11bmVDaGFuZ2V9PlxuICAgICAgICAgICAgICAgIHtjb21tdW5lcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICBjb21tdW5lcy5tYXAoKGMpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e2MuaWR9IHZhbHVlPXtgJHtjLmlkfSwgJHtjLm5hbWUua219IC8gJHtjLm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgICAge2Ake2MubmFtZS5rbX0gLyAke2MubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24gZGlzYWJsZWQ+Tm8gY29tbXVuZXMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIG5hbWU9XCJ2aWxsYWdlXCIgbGFiZWw9XCLhnpfhnrzhnpjhnrcgLyBWaWxsYWdlXCI+XG4gICAgICAgICAgICAgIDxTZWxlY3QgcGxhY2Vob2xkZXI9XCJTZWxlY3QgVmlsbGFnZVwiPlxuICAgICAgICAgICAgICAgIHt2aWxsYWdlcy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgICB2aWxsYWdlcy5tYXAoKHYpID0+IChcbiAgICAgICAgICAgICAgICAgICAgPE9wdGlvbiBrZXk9e3YuaWR9IHZhbHVlPXtgJHt2Lm5hbWUua219IC8gJHt2Lm5hbWUubGF0aW59YH0+XG4gICAgICAgICAgICAgICAgICAgICAge2Ake3YubmFtZS5rbX0gLyAke3YubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgICA8L09wdGlvbj5cbiAgICAgICAgICAgICAgICAgICkpXG4gICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgIDxPcHRpb24gZGlzYWJsZWQ+Tm8gdmlsbGFnZXMgYXZhaWxhYmxlPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TZWxlY3Q+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG5cbiAgICAgICAgey8qIEZhbWlseSBNZW1iZXIgQ291bnRzICovfVxuICAgICAgICA8Um93IGd1dHRlcj17MTZ9PlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z6a4Z674Z6UIC8gVG90YWwgTWVtYmVyc1wiIG5hbWU9XCJ0b3RhbF9tZW1iZXJcIiBydWxlcz17W3sgcmVxdWlyZWQ6IHRydWUsIG1lc3NhZ2U6IFwiUGxlYXNlIGVudGVyIHRvdGFsIG1lbWJlclwiIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50VG90YWxDaGFuZ2UoJ21lbWJlcicsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6U4Z+S4Z6a4Z674Z6fIC8gTWFsZSBNZW1iZXJzXCIgbmFtZT1cIm1lbWJlcl9tYWxlXCIgcnVsZXM9e1t7IHJlcXVpcmVkOiB0cnVlLCBtZXNzYWdlOiBcIlBsZWFzZSBlbnRlciBtYWxlIG1lbWJlclwiIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdtZW1iZXInLCAnbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z+S4Z6a4Z64IC8gRmVtYWxlIE1lbWJlcnNcIiBuYW1lPVwibWVtYmVyX2ZlbWFsZVwiIHJ1bGVzPXtbeyByZXF1aXJlZDogdHJ1ZSwgbWVzc2FnZTogXCJQbGVhc2UgZW50ZXIgZmVtYWxlIG1lbWJlclwiIH1dfT5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdtZW1iZXInLCAnZmVtYWxlJywgdmFsdWUpfSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnp/hn5Lhnprhn5Lhno/hnrjhnpjhnrbhnpPhnpXhn5LhnpHhn4Phnpbhn4Thn4cgLyBUb3RhbCBQcmVnbmFudFwiIG5hbWU9XCJ0b3RhbF9wcmVnbmFudFwiPjxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSAvPlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBCYWJpZXMgJiBDaGlsZHJlbiAqL31cbiAgICAgICAgPFJvdyBndXR0ZXI9ezE2fT5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGekeGetuGemuGegOGen+GemuGeu+GelCAoPCDhn6Lhnobhn5LhnpPhnrbhn4YpIC8gVG90YWwgQmFiaWVzICg8IDIgeWVhcnMpXCIgbmFtZT1cInRvdGFsX2JhYnlcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50VG90YWxDaGFuZ2UoJ2JhYnknLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGekeGetuGemuGegOGelOGfkuGemuGeu+GenyAvIEJhYnkgTWFsZVwiIG5hbWU9XCJiYWJ5X21hbGVcIj5cbiAgICAgICAgICAgICAgPElucHV0TnVtYmVyIG1pbj17MH0gc3R5bGU9e3sgd2lkdGg6IFwiMTAwJVwiIH19IG9uQ2hhbmdlPXsodmFsdWUpID0+IGhhbmRsZUNvdW50R2VuZGVyQ2hhbmdlKCdiYWJ5JywgJ21hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PlxuICAgICAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGekeGetuGemuGegOGen+GfkuGemuGeuCAvIEJhYnkgRmVtYWxlXCIgbmFtZT1cImJhYnlfZmVtYWxlXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnYmFieScsICdmZW1hbGUnLCB2YWx1ZSl9IC8+XG4gICAgICAgICAgICA8L0Zvcm0uSXRlbT5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgPC9Sb3c+XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW0gbGFiZWw9XCLhnoDhnrvhnpjhnrbhnprhnp/hnprhnrvhnpQgKOGfoi3hn6Hhn6Phnobhn5LhnpPhnrbhn4YpIC8gVG90YWwgQ2hpbGRyZW4gKDItMTMgeWVhcnMpXCIgbmFtZT1cInRvdGFsX2NoaWxkXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudFRvdGFsQ2hhbmdlKCdjaGlsZCcsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6A4Z674Z6Y4Z624Z6a4Z6U4Z+S4Z6a4Z674Z6fIC8gQ2hpbGQgTWFsZVwiIG5hbWU9XCJjaGlsZF9tYWxlXCI+XG4gICAgICAgICAgICAgIDxJbnB1dE51bWJlciBtaW49ezB9IHN0eWxlPXt7IHdpZHRoOiBcIjEwMCVcIiB9fSBvbkNoYW5nZT17KHZhbHVlKSA9PiBoYW5kbGVDb3VudEdlbmRlckNoYW5nZSgnY2hpbGQnLCAnbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgc3Bhbj17Nn0+XG4gICAgICAgICAgICA8Rm9ybS5JdGVtIGxhYmVsPVwi4Z6A4Z674Z6Y4Z624Z6a4Z644Z6f4Z+S4Z6a4Z64IC8gQ2hpbGQgRmVtYWxlXCIgbmFtZT1cImNoaWxkX2ZlbWFsZVwiPlxuICAgICAgICAgICAgICA8SW5wdXROdW1iZXIgbWluPXswfSBzdHlsZT17eyB3aWR0aDogXCIxMDAlXCIgfX0gb25DaGFuZ2U9eyh2YWx1ZSkgPT4gaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UoJ2NoaWxkJywgJ2ZlbWFsZScsIHZhbHVlKX0gLz5cbiAgICAgICAgICAgIDwvRm9ybS5JdGVtPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogRGlzYWJpbGl0eSAmIE9sZCBBZ2UgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs2fT48Rm9ybS5JdGVtIG5hbWU9XCJpc19kaXNhYmxlZFwiIHZhbHVlUHJvcE5hbWU9XCJjaGVja2VkXCIgaW5pdGlhbFZhbHVlPXtmYWxzZX0+PENoZWNrYm94PuGemOGetuGek+GeluGet+GegOGetuGemuGel+GetuGeliAvIERpc2FibGVkPC9DaGVja2JveD48L0Zvcm0uSXRlbT48L0NvbD5cbiAgICAgICAgICA8Q29sIHNwYW49ezZ9PjxGb3JtLkl0ZW0gbmFtZT1cImlzX29sZF9hZ2VcIiB2YWx1ZVByb3BOYW1lPVwiY2hlY2tlZFwiIGluaXRpYWxWYWx1ZT17ZmFsc2V9PjxDaGVja2JveD7hnpjhnrbhnpPhnpjhnpPhnrvhnp/hn5Lhnp/hnoXhnrbhnp/hn4sgLyBPbGQgQWdlICgmZ3Q7IOGfpuGfpSk8L0NoZWNrYm94PjwvRm9ybS5JdGVtPjwvQ29sPlxuICAgICAgICA8L1Jvdz5cblxuICAgICAgICB7LyogVHJhbnNwb3J0YXRpb24gKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXsxNn0+XG4gICAgICAgICAgPENvbCBzcGFuPXs4fT5cbiAgICAgICAgICAgIDxGb3JtLkl0ZW1cbiAgICAgICAgICAgICAgbmFtZT1cInRyYW5zcG9ydGF0aW9uX2lkXCJcbiAgICAgICAgICAgICAgbGFiZWw9XCLhnpjhnpLhn5Lhnpnhn4ThnpThnrbhnpnhnpLhn5Lhnpzhnr7hnorhn4bhno7hnr7hnpogLyBUcmFuc3BvcnRhdGlvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIuGeh+GfkuGemuGevuGen+GemuGevuGen+GemOGekuGfkuGemeGfhOGelOGetuGemeGekuGfkuGenOGevuGeiuGfhuGejuGevuGemiAvIFNlbGVjdCB0cmFuc3BvcnRhdGlvblwiXG4gICAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3RyYW5zcG9ydGF0aW9ucz8uZGF0YT8ubWFwKG9wdGlvbiA9PiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17b3B0aW9uLmlkfSB2YWx1ZT17b3B0aW9uLmlkfT5cbiAgICAgICAgICAgICAgICAgICAge29wdGlvbi5uYW1lfVxuICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBOb3RlcyAqL31cbiAgICAgICAgPEZvcm0uSXRlbSBsYWJlbD1cIuGegOGfhuGejuGej+Gfi+GeheGfhuGejuGetuGfhiAvIE5vdGVzXCIgbmFtZT1cIm5vdGVcIj5cbiAgICAgICAgICA8SW5wdXQuVGV4dEFyZWEgcm93cz17M30gcGxhY2Vob2xkZXI9XCLhnpThnonhn5LhnoXhnrzhnpvhnoDhn4bhno7hno/hn4vhnoXhn4bhno7hnrbhn4bhnpThnpPhn5LhnpDhn4LhnpggLyBFbnRlciBhZGRpdGlvbmFsIG5vdGVzXCIgLz5cbiAgICAgICAgPC9Gb3JtLkl0ZW0+XG5cbiAgICAgICAgeyFpc1ZpZXdNb2RlICYmIChcbiAgICAgICAgICA8Rm9ybS5JdGVtPlxuICAgICAgICAgICAgPFNwYWNlPlxuICAgICAgICAgICAgICA8QnV0dG9uIHR5cGU9XCJwcmltYXJ5XCIgaHRtbFR5cGU9XCJzdWJtaXRcIiBsb2FkaW5nPXtyZWdpc3RlclBlbmRpbmd9PlxuICAgICAgICAgICAgICAgIHtcIuGelOGeieGfkuGeh+GevOGekyAvIFN1Ym1pdFwifVxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVDYW5jZWx9PlxuICAgICAgICAgICAgICAgIOGelOGfhOGfh+GelOGehOGfiyAvIENhbmNlbFxuICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgIDwvU3BhY2U+XG4gICAgICAgICAgPC9Gb3JtLkl0ZW0+XG4gICAgICAgICl9XG4gICAgICA8L0Zvcm0+XG4gICAgPC9DYXJkPlxuICApO1xufTtcblxuY29uc3QgQUxMT1dFRF9QUk9WSU5DRV9JRFMgPSBbJzIyJywgJzAxJywgJzE1JywgJzEzJ107ICAvLyBLb21wb25nIFNwZXUsIEJhbnRlYXkgTWVhbiBDaGV5LCBQdXJzYXQsIFByZWFoIFZpaGVhclxuXG5leHBvcnQgZGVmYXVsdCBGYW1pbHlTdXJ2ZXlGb3JtO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZU5hdmlnYXRlIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBUYWJsZSwgQnV0dG9uLCBNb2RhbCwgSW5wdXQsIFNwYWNlLCBGb3JtLCBSb3csIENvbCwgU2VsZWN0LCBJbnB1dE51bWJlciB9IGZyb20gXCJhbnRkXCI7XG5pbXBvcnQgeyBQbHVzT3V0bGluZWQsIERlbGV0ZU91dGxpbmVkLCBFZGl0T3V0bGluZWQsIEV5ZU91dGxpbmVkIH0gZnJvbSBcIkBhbnQtZGVzaWduL2ljb25zXCI7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tIFwicmVhY3QtcmVkdXhcIjtcbmltcG9ydCB7IFJvb3RTdGF0ZSB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvcmVkdXgvc3RvcmVcIjtcbmltcG9ydCB7IEZhbWlseU1lbWJlciB9IGZyb20gXCIuLi8uLi8uLi9zaGFyZWQvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHtcbiAgZmV0Y2hGYW1pbHlTdXJ2ZXksXG4gIGRlbGV0ZUZhbWlseUFjdGlvbixcbiAgZmV0Y2hQcm92aW5jZSxcbiAgZmV0Y2hEaXN0cmljdCxcbn0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2ZhbWlseV9zdXJ2ZXkvY29yZS9hY3Rpb25zXCI7XG5pbXBvcnQgRmFtaWx5U3VydmV5Rm9ybSBmcm9tIFwiLi9GYW1pbHlTdXJ2ZXlGb3JtXCI7XG5pbXBvcnQgU3dhbCBmcm9tIFwic3dlZXRhbGVydDJcIjtcblxuaW50ZXJmYWNlIFByb3BzIHtcbiAgc3RhdHVzOiBzdHJpbmc7XG59XG5cbmNvbnN0IEZhbWlseUFwcHJvdmVkTGlzdDogUmVhY3QuRkM8UHJvcHM+ID0gKHsgc3RhdHVzIH0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gIGNvbnN0IFtmb3JtXSA9IEZvcm0udXNlRm9ybSgpO1xuICBjb25zdCBbY3VycmVudFBhZ2UsIHNldEN1cnJlbnRQYWdlXSA9IHVzZVN0YXRlKDEpO1xuICBjb25zdCBbcGFnZVNpemUsIHNldFBhZ2VTaXplXSA9IHVzZVN0YXRlKDIwKTtcblxuICBjb25zdCB7IGZhbWlsaWVzLCBwcm92aW5jZXMsIGRpc3RyaWN0cywgcmVnaXN0ZXJQZW5kaW5nIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJvb3RTdGF0ZSkgPT4gc3RhdGUuZmFtaWxpU3VydmV5IHx8IHt9XG4gICk7XG5cbiAgY29uc3QgW2lzTW9kYWxWaXNpYmxlLCBzZXRJc01vZGFsVmlzaWJsZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWFyY2hUZXh0LCBzZXRTZWFyY2hUZXh0XSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbaXNWaWV3TW9kZSwgc2V0SXNWaWV3TW9kZV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtzZWxlY3RlZFJlY29yZCwgc2V0U2VsZWN0ZWRSZWNvcmRdID0gdXNlU3RhdGU8RmFtaWx5TWVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwcm92aW5jZSwgc2V0UHJvdmluY2VdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtkaXN0cmljdCwgc2V0RGlzdHJpY3RdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFt0b3RhbE1lbWJlciwgc2V0VG90YWxNZW1iZXJdID0gdXNlU3RhdGU8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFthZ2UsIHNldEFnZV0gPSB1c2VTdGF0ZTxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICAvLyBleHRyYWN0IHNhZmVseVxuICBjb25zdCBkYXRhU291cmNlID0gZmFtaWxpZXM/LmRhdGEgfHwgW107XG4gIGNvbnN0IG1ldGEgPSBmYW1pbGllcz8ubWV0YSB8fCB7IHRvdGFsOiAwLCBwYWdlOiAxLCBwYWdlU2l6ZTogMjAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGRpc3BhdGNoKGZldGNoUHJvdmluY2UoKSk7XG4gIH0sIFtkaXNwYXRjaF0pO1xuXG4gIC8vIEZldGNoIGRhdGEgd2l0aCBwYWdpbmF0aW9uXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hGYW1pbHlTdXJ2ZXkoe1xuICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgcHJvdmluY2U6IHByb3ZpbmNlLFxuICAgICAgZGlzdHJpY3Q6IGRpc3RyaWN0LFxuICAgICAgdG90YWxfbWVtYmVyOiB0b3RhbE1lbWJlcixcbiAgICAgIGFnZTogYWdlLFxuICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICBwYWdlU2l6ZVxuICAgIH0pKTtcbiAgfSwgW2Rpc3BhdGNoLCBzZWFyY2hUZXh0LCBwcm92aW5jZSwgZGlzdHJpY3QsIHRvdGFsTWVtYmVyLCBhZ2UsIGN1cnJlbnRQYWdlLCBwYWdlU2l6ZV0pO1xuXG4gIGNvbnN0IGhhbmRsZVRhYmxlQ2hhbmdlID0gKHBhZ2luYXRpb246IGFueSkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKHBhZ2luYXRpb24uY3VycmVudCk7XG4gICAgc2V0UGFnZVNpemUocGFnaW5hdGlvbi5wYWdlU2l6ZSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU2VhcmNoID0gKCkgPT4ge1xuICAgIHNldEN1cnJlbnRQYWdlKDEpOyAvLyBSZXNldCB0byBmaXJzdCBwYWdlIHdoZW4gc2VhcmNoaW5nXG4gICAgZGlzcGF0Y2goZmV0Y2hGYW1pbHlTdXJ2ZXkoe1xuICAgICAgc2VhcmNoOiBzZWFyY2hUZXh0LFxuICAgICAgcGFnZTogMSxcbiAgICAgIHBhZ2VTaXplXG4gICAgfSkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVByb3ZpbmNlQ2hhbmdlID0gKHZhbHVlPzogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuO1xuICAgIHNldFByb3ZpbmNlKHZhbHVlKTtcbiAgICBjb25zdCBbcHJvdmluY2VJZCwgcHJvdmluY2VOYW1lXSA9IHZhbHVlLnNwbGl0KFwiLFwiKTtcbiAgICBkaXNwYXRjaChmZXRjaERpc3RyaWN0KHsgaWQ6IE51bWJlcihwcm92aW5jZUlkLnRyaW0oKSkgfSkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVJlc2V0ID0gKCkgPT4ge1xuICAgIHNldFNlYXJjaFRleHQoXCJcIik7XG4gICAgc2V0Q3VycmVudFBhZ2UoMSk7XG4gICAgZGlzcGF0Y2goZmV0Y2hGYW1pbHlTdXJ2ZXkoe1xuICAgICAgc2VhcmNoOiBcIlwiLFxuICAgICAgcGFnZTogMSxcbiAgICAgIHBhZ2VTaXplXG4gICAgfSkpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVZpZXcgPSAocmVjb3JkOiBGYW1pbHlNZW1iZXIpID0+IHtcbiAgICBzZXRTZWxlY3RlZFJlY29yZChyZWNvcmQpO1xuICAgIHNldElzTW9kYWxWaXNpYmxlKHRydWUpO1xuICAgIHNldElzVmlld01vZGUodHJ1ZSk7XG4gICAgZm9ybS5zZXRGaWVsZHNWYWx1ZShyZWNvcmQpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUVkaXQgPSAoaWQ6IGFueSkgPT4ge1xuICAgIG5hdmlnYXRlKGAvZmFtaWx5LXN1cnZleS9mb3JtP2lkPSR7aWR9YCk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlID0gKGlkOiBudW1iZXIpID0+IHtcbiAgICBTd2FsLmZpcmUoe1xuICAgICAgdGl0bGU6ICfhno/hnr7hnqLhn5LhnpPhnoDhnpThn5LhnprhnrbhnoDhnorhnpHhn4E/IC8gQXJlIHlvdSBzdXJlPycsXG4gICAgICB0ZXh0OiAnWW91IHdvblxcJ3QgYmUgYWJsZSB0byByZXZlcnQgdGhpcyEnLFxuICAgICAgaWNvbjogJ3dhcm5pbmcnLFxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IGZhbHNlLFxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogZmFsc2UsXG4gICAgICBodG1sOiBgXG4gICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgZ2FwOiAxMHB4OyBtYXJnaW4tdG9wOiAyMHB4O1wiPlxuICAgICAgICAgIDxidXR0b24gaWQ9XCJjb25maXJtLWRlbGV0ZVwiIGNsYXNzPVwic3dhbDItY29uZmlybSBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNkMzM7XCI+4Z6b4Z674Z6UIC8gRGVsZXRlPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBpZD1cImNhbmNlbC1kZWxldGVcIiBjbGFzcz1cInN3YWwyLWNhbmNlbCBzd2FsMi1zdHlsZWRcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICMzMDg1ZDY7XCI+4Z6U4Z+E4Z+H4Z6U4Z6E4Z+LIC8gQ2FuY2VsPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgYCxcbiAgICAgIGRpZE9wZW46ICgpID0+IHtcbiAgICAgICAgY29uc3QgY29uZmlybUJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NvbmZpcm0tZGVsZXRlJyk7XG4gICAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IFN3YWwuZ2V0UG9wdXAoKT8ucXVlcnlTZWxlY3RvcignI2NhbmNlbC1kZWxldGUnKTtcblxuICAgICAgICBjb25maXJtQnV0dG9uPy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICBkaXNwYXRjaChkZWxldGVGYW1pbHlBY3Rpb24oaWQpKVxuICAgICAgICAgICAgLnVud3JhcCgpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICfhnpThnrbhnpPhnpvhnrvhnpQhIC8gRGVsZXRlZCEnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICdUaGUgZmFtaWx5IGhhcyBiZWVuIGRlbGV0ZWQuJyxcbiAgICAgICAgICAgICAgICBpY29uOiAnc3VjY2VzcydcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGRpc3BhdGNoKGZldGNoRmFtaWx5U3VydmV5KHtcbiAgICAgICAgICAgICAgICBzZWFyY2g6IHNlYXJjaFRleHQsXG4gICAgICAgICAgICAgICAgcGFnZTogY3VycmVudFBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZVNpemVcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAgIFN3YWwuZmlyZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6ICdFcnJvciEnLFxuICAgICAgICAgICAgICAgIHRleHQ6ICdGYWlsZWQgdG8gZGVsZXRlIGZhbWlseS4nLFxuICAgICAgICAgICAgICAgIGljb246ICdlcnJvcidcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICBTd2FsLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNhbmNlbEJ1dHRvbj8uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgICAgU3dhbC5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgY29sdW1ucyA9IFtcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnpsu4Z6aXCIsXG4gICAgICBrZXk6IFwibm9cIixcbiAgICAgIHdpZHRoOiA2MCxcbiAgICAgIHJlbmRlcjogKF86IGFueSwgX186IGFueSwgaW5kZXg6IG51bWJlcikgPT5cbiAgICAgICAgKGN1cnJlbnRQYWdlIC0gMSkgKiBwYWdlU2l6ZSArIGluZGV4ICsgMSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIuGeiOGfkuGemOGfhOGfh+GeguGfkuGemuGeveGen+GetuGemlwiLFxuICAgICAgZGF0YUluZGV4OiBcIm5hbWVcIixcbiAgICAgIGtleTogXCJuYW1lXCIsXG4gICAgICB3aWR0aDogMTIwLFxuICAgICAgZWxsaXBzaXM6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnpvhn4HhnoHhnpHhnrzhnprhnp/hn5Dhnpbhn5LhnpFcIixcbiAgICAgIGRhdGFJbmRleDogXCJwaG9uZVwiLFxuICAgICAga2V5OiBcInBob25lXCIsXG4gICAgICB3aWR0aDogMTIwLFxuICAgICAgZWxsaXBzaXM6IHRydWUsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnqLhnrbhnp/hnpnhnorhn5LhnovhnrbhnpNcIixcbiAgICAgIGtleTogXCJhZGRyZXNzXCIsXG4gICAgICB3aWR0aDogMjAwLFxuICAgICAgcmVuZGVyOiAocmVjb3JkOiBhbnkpID0+XG4gICAgICAgIGAke3JlY29yZC5jb21tdW5lIHx8ICcnfSwgJHtyZWNvcmQuZGlzdHJpY3QgfHwgJyd9LCAke3JlY29yZC5wcm92aW5jZSB8fCAnJ31gLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6i4Z624Z6Z4Z67XCIsXG4gICAgICBkYXRhSW5kZXg6IFwiYWdlXCIsXG4gICAgICBrZXk6IFwiYWdlXCIsXG4gICAgICB3aWR0aDogNjAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnp/hnpjhnrbhnofhnrfhnoDhnp/hnprhnrvhnpRcIixcbiAgICAgIGRhdGFJbmRleDogXCJ0b3RhbF9tZW1iZXJcIixcbiAgICAgIGtleTogXCJ0b3RhbF9tZW1iZXJcIixcbiAgICAgIHdpZHRoOiAxMDUsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnp/hnpjhnrbhnofhnrfhnoDhnpThn5Lhnprhnrvhnp9cIixcbiAgICAgIGRhdGFJbmRleDogXCJtZW1iZXJfbWFsZVwiLFxuICAgICAga2V5OiBcIm1lbWJlcl9tYWxlXCIsXG4gICAgICB3aWR0aDogMTA1LFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6f4Z6Y4Z624Z6H4Z634Z6A4Z6f4Z+S4Z6a4Z64XCIsXG4gICAgICBkYXRhSW5kZXg6IFwibWVtYmVyX2ZlbWFsZVwiLFxuICAgICAga2V5OiBcIm1lbWJlcl9mZW1hbGVcIixcbiAgICAgIHdpZHRoOiAxMDAsXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnp/hn5Lhno/hn5LhnprhnrjhnpjhnrbhnpPhnpXhn5LhnpHhn4Phnpbhn4Thn4dcIixcbiAgICAgIGRhdGFJbmRleDogXCJ0b3RhbF9wcmVnbmFudFwiLFxuICAgICAga2V5OiBcInRvdGFsX3ByZWduYW50XCIsXG4gICAgICB3aWR0aDogMTE1LFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwi4Z6Y4Z624Z6T4Z6W4Z634Z6A4Z624Z6a4Z6X4Z624Z6WXCIsXG4gICAgICBkYXRhSW5kZXg6IFwiaXNfZGlzYWJsZWRcIixcbiAgICAgIGtleTogXCJpc19kaXNhYmxlZFwiLFxuICAgICAgd2lkdGg6IDEwNSxcbiAgICAgIHJlbmRlcjogKHZhbHVlOiBib29sZWFuKSA9PiAodmFsdWUgPyBcIuKck1wiIDogXCLinJdcIiksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnpjhnrbhnpPhnpjhnpPhnrvhnp/hn5Lhnp/hnoXhnrbhnp/hn4tcIixcbiAgICAgIGRhdGFJbmRleDogXCJpc19vbGRfYWdlXCIsXG4gICAgICBrZXk6IFwiaXNfb2xkX2FnZVwiLFxuICAgICAgd2lkdGg6IDExOCxcbiAgICAgIHJlbmRlcjogKHZhbHVlOiBib29sZWFuKSA9PiAodmFsdWUgPyBcIuKck1wiIDogXCLinJdcIiksXG4gICAgfSxcbiAgICB7XG4gICAgICB0aXRsZTogXCLhnp/hnoDhnpjhn5LhnpjhnpfhnrbhnpZcIixcbiAgICAgIGtleTogXCJhY3Rpb25cIixcbiAgICAgIGZpeGVkOiBcInJpZ2h0XCIsXG4gICAgICB3aWR0aDogMTUwLFxuICAgICAgcmVuZGVyOiAoXzogYW55LCByZWNvcmQ6IGFueSkgPT4gKFxuICAgICAgICA8U3BhY2Ugc2l6ZT1cIm1pZGRsZVwiPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGljb249ezxFeWVPdXRsaW5lZCAvPn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVZpZXcocmVjb3JkKX1cbiAgICAgICAgICAgIHRpdGxlPVwi4Z6Y4Z6+4Z6bIC8gVmlld1wiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBpY29uPXs8RWRpdE91dGxpbmVkIC8+fVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRWRpdChyZWNvcmQuaWQpfVxuICAgICAgICAgICAgdGl0bGU9XCLhnoDhn4LhnpThn5Lhnprhn4IgLyBFZGl0XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIGRhbmdlclxuICAgICAgICAgICAgaWNvbj17PERlbGV0ZU91dGxpbmVkIC8+fVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlRGVsZXRlKHJlY29yZC5pZCl9XG4gICAgICAgICAgICB0aXRsZT1cIuGem+Geu+GelCAvIERlbGV0ZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TcGFjZT5cbiAgICAgICksXG4gICAgfSxcbiAgXTtcblxuICByZXR1cm4gKFxuICAgIDxkaXY+XG4gICAgICB7LyogSGVhZGVyIHdpdGggQ3JlYXRlICYgU2VhcmNoICovfVxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBhZGRpbmc6ICcxMHB4JyxcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2Y1ZjVmNScsXG4gICAgICAgICAgbWFyZ2luQm90dG9tOiAnMTBweCcsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBIZWFkZXIgQ29udHJvbHMgKi99XG4gICAgICAgIDxSb3cgZ3V0dGVyPXtbMTYsIDE2XX0ganVzdGlmeT1cInNwYWNlLWJldHdlZW5cIiBhbGlnbj1cIm1pZGRsZVwiIHN0eWxlPXt7IG1hcmdpbjogJzEwcHgnIH19PlxuICAgICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgICAgPHNwYW4+4Z6f4Z6a4Z674Z6UIC8gVG90YWw6IHtkYXRhU291cmNlPy5sZW5ndGggfHwgMH08L3NwYW4+XG4gICAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLhnp/hn5Lhnpzhn4LhnoThnprhnoAgLyBTZWFyY2guLi5cIlxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogMjAwIH19XG4gICAgICAgICAgICAgIHZhbHVlPXtzZWFyY2hUZXh0fVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFNlYXJjaFRleHQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17aGFuZGxlU2VhcmNofSB0eXBlPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAgICDhnoXhnpjhn5Lhnprhn4Thn4cgLyBGaWx0ZXJcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXtoYW5kbGVSZXNldH0+XG4gICAgICAgICAgICAgIOGegOGfhuGejuGej+Gfi+GeoeGevuGehOGenOGet+GeiSAvIFJlc2V0XG4gICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICA8L1NwYWNlPlxuICAgICAgICAgIDxTcGFjZSB3cmFwPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBpY29uPXs8UGx1c091dGxpbmVkIC8+fVxuICAgICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IG5hdmlnYXRlKGAvZmFtaWx5LXN1cnZleS9mb3JtYCl9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIOGelOGek+GfkuGekOGfguGemOGekOGfkuGemOGeuCAvIEFkZCBOZXdcbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvU3BhY2U+XG4gICAgICAgIDwvUm93PlxuXG4gICAgICAgIHsvKiBGaWx0ZXJzICovfVxuICAgICAgICA8Um93IGd1dHRlcj17WzE2LCAxNl19IHN0eWxlPXt7IG1hcmdpbjogJzVweCcgfX0+XG4gICAgICAgICAgPENvbCB4cz17MjR9IHNtPXsxMn0gbWQ9ezh9IGxnPXs2fT5cbiAgICAgICAgICAgIDxzcGFuPuGegeGfgeGej+GfkuGej+KAiyDhnqwg4Z6A4Z+S4Z6a4Z674Z6EPC9zcGFuPlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19XG4gICAgICAgICAgICAgIGFsbG93Q2xlYXJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBQcm92aW5jZSBvciBDaXR5XCJcbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVByb3ZpbmNlQ2hhbmdlfVxuICAgICAgICAgICAgICBzaG93U2VhcmNoXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtBcnJheS5pc0FycmF5KHByb3ZpbmNlcykgJiYgcHJvdmluY2VzLmxlbmd0aCA+IDAgPyAoXG4gICAgICAgICAgICAgICAgcHJvdmluY2VzLmZpbHRlcihwID0+IEFMTE9XRURfUFJPVklOQ0VfSURTLmluY2x1ZGVzKHAuaWQudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpKSkubWFwKChwcm92aW5jZSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPFNlbGVjdC5PcHRpb25cbiAgICAgICAgICAgICAgICAgICAga2V5PXtwcm92aW5jZS5pZH1cbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Ake3Byb3ZpbmNlLmlkfSwgJHtwcm92aW5jZS5uYW1lLmttfSAvICR7cHJvdmluY2UubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7YCR7cHJvdmluY2UubmFtZS5rbX0gLyAke3Byb3ZpbmNlLm5hbWUubGF0aW59YH1cbiAgICAgICAgICAgICAgICAgIDwvU2VsZWN0Lk9wdGlvbj5cbiAgICAgICAgICAgICAgICApKVxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxTZWxlY3QuT3B0aW9uIGRpc2FibGVkPk5vIHByb3ZpbmNlcyBhdmFpbGFibGU8L1NlbGVjdC5PcHRpb24+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1NlbGVjdD5cbiAgICAgICAgICA8L0NvbD5cbiAgICAgICAgICA8Q29sIHhzPXsyNH0gc209ezEyfSBtZD17OH0gbGc9ezZ9PlxuICAgICAgICAgICAgPHNwYW4+4Z6f4Z+S4Z6a4Z674Z6AIOGerOKAiyDhnoHhno7hn5Lhnow8L3NwYW4+XG4gICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgIHN0eWxlPXt7IHdpZHRoOiAnMTAwJScgfX1cbiAgICAgICAgICAgICAgYWxsb3dDbGVhclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhIERpc3RyaWN0IG9yIEtoYW5cIlxuICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlOiBhbnkpID0+IHNldERpc3RyaWN0KHZhbHVlKX1cbiAgICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7ZGlzdHJpY3RzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICBkaXN0cmljdHMubWFwKChkKSA9PiAoXG4gICAgICAgICAgICAgICAgICA8T3B0aW9uIGtleT17ZC5pZH0gdmFsdWU9e2Ake2QuaWR9LCAke2QubmFtZS5rbX0gLyAke2QubmFtZS5sYXRpbn1gfT5cbiAgICAgICAgICAgICAgICAgICAge2Ake2QubmFtZS5rbX0gLyAke2QubmFtZS5sYXRpbn1gfVxuICAgICAgICAgICAgICAgICAgPC9PcHRpb24+XG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uIGRpc2FibGVkPk5vIGRpc3RyaWN0cyBhdmFpbGFibGU8L09wdGlvbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvU2VsZWN0PlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICA8c3Bhbj7hnp/hnpjhnrbhnofhnrfhnoDhnp/hnprhnrvhnpQ8L3NwYW4+XG4gICAgICAgICAgICA8SW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRvdGFsIG1lbWJlclwiXG4gICAgICAgICAgICAgIG1pbj17MH1cbiAgICAgICAgICAgICAgdmFsdWU9e3RvdGFsTWVtYmVyfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17c2V0VG90YWxNZW1iZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQ29sPlxuICAgICAgICAgIDxDb2wgeHM9ezI0fSBzbT17MTJ9IG1kPXs4fSBsZz17Nn0+XG4gICAgICAgICAgICA8c3Bhbj7hnqLhnrbhnpnhnrs8L3NwYW4+XG4gICAgICAgICAgICA8SW5wdXROdW1iZXJcbiAgICAgICAgICAgICAgc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkFnZVwiXG4gICAgICAgICAgICAgIG1pbj17MH1cbiAgICAgICAgICAgICAgdmFsdWU9e2FnZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3NldEFnZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9Db2w+XG4gICAgICAgIDwvUm93PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIHsvKiBGYW1pbHkgVGFibGUgKi99XG4gICAgICA8VGFibGVcbiAgICAgICAgZGF0YVNvdXJjZT17ZGF0YVNvdXJjZX1cbiAgICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgICAgbG9hZGluZz17cmVnaXN0ZXJQZW5kaW5nfVxuICAgICAgICByb3dLZXk9XCJpZFwiXG4gICAgICAgIHNjcm9sbD17eyB4OiAxMjAwIH19XG4gICAgICAgIHBhZ2luYXRpb249e3tcbiAgICAgICAgICBjdXJyZW50OiBjdXJyZW50UGFnZSxcbiAgICAgICAgICBwYWdlU2l6ZTogcGFnZVNpemUsXG4gICAgICAgICAgdG90YWw6IG1ldGEudG90YWwsXG4gICAgICAgICAgc2hvd1NpemVDaGFuZ2VyOiB0cnVlLFxuICAgICAgICAgIHNob3dUb3RhbDogKHRvdGFsLCByYW5nZSkgPT4gYCR7cmFuZ2VbMF19LSR7cmFuZ2VbMV19IG9mICR7dG90YWx9IGl0ZW1zYFxuICAgICAgICB9fVxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlVGFibGVDaGFuZ2V9XG4gICAgICAvPlxuXG4gICAgICB7LyogQ3JlYXRlIEZvcm0gTW9kYWwgKi99XG4gICAgICA8TW9kYWxcbiAgICAgICAgdGl0bGU9e1wi4Z6Y4Z6+4Z6b4Z6W4Z+Q4Z6P4Z+M4Z6Y4Z624Z6T4Z6C4Z+S4Z6a4Z694Z6f4Z624Z6aIC8gVmlldyBGYW1pbHkgRGV0YWlsc1wifVxuICAgICAgICBvcGVuPXtpc01vZGFsVmlzaWJsZX1cbiAgICAgICAgb25DYW5jZWw9eygpID0+IHtcbiAgICAgICAgICBzZXRJc01vZGFsVmlzaWJsZShmYWxzZSk7XG4gICAgICAgICAgc2V0SXNWaWV3TW9kZShmYWxzZSk7XG4gICAgICAgICAgc2V0U2VsZWN0ZWRSZWNvcmQobnVsbCk7XG4gICAgICAgICAgZm9ybS5yZXNldEZpZWxkcygpO1xuICAgICAgICB9fVxuICAgICAgICBmb290ZXI9e251bGx9XG4gICAgICAgIHdpZHRoPXs5MDB9XG4gICAgICA+XG4gICAgICAgIDxGYW1pbHlTdXJ2ZXlGb3JtXG4gICAgICAgICAgaXNWaWV3TW9kZT17aXNWaWV3TW9kZX1cbiAgICAgICAgICBpbml0aWFsVmFsdWVzPXtzZWxlY3RlZFJlY29yZH1cbiAgICAgICAgLz5cbiAgICAgIDwvTW9kYWw+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5jb25zdCBBTExPV0VEX1BST1ZJTkNFX0lEUyA9IFsnMjInLCAnMDEnLCAnMTUnLCAnMTMnXTsgIC8vIEtvbXBvbmcgU3BldSwgQmFudGVheSBNZWFuIENoZXksIFB1cnNhdCwgUHJlYWggVmloZWFyXG5cbmV4cG9ydCBkZWZhdWx0IEZhbWlseUFwcHJvdmVkTGlzdDtcbiIsImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi9sb2dpbi9wYWdlcy9xcmNvZGUnO1xuXG5jb25zdCBBdHRlbmRhbmNlUVI6IFJlYWN0LkZDID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSAvPik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBdHRlbmRhbmNlUVI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgTG9naW5Gb3JtIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2xvZ2luJztcblxuY29uc3QgQXV0aDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPExvZ2luRm9ybSAvPik7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBdXRoO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IFRlbGVncmFtTG9naW5Gb3JtIGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGhlbnRpY2F0aW9uL2xvZ2luL3BhZ2VzL2xvZ2luX3RlbGVncmFtJztcbmltcG9ydCBMb2dpbkZvcm0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYXV0aGVudGljYXRpb24vbG9naW4vcGFnZXMvbG9naW4nO1xuXG5jb25zdCBMb2dpbjogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHJldHVybiAoXG4gICAgLy8gPFRlbGVncmFtTG9naW5Gb3JtLz5cbiAgICA8TG9naW5Gb3JtIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBMb2dpbjtcbiJdLCJuYW1lcyI6WyJSZWFjdCIsIkZvb3RlciIsIl9MYXlvdXQiLCJGb290ZXJDb21wb25lbnQiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJiYWNrZ3JvdW5kIiwicGFkZGluZyIsInRleHRBbGlnbiIsIl9Sb3ciLCJndXR0ZXIiLCJfQ29sIiwieHMiLCJzbSIsIm1kIiwiaHJlZiIsInRhcmdldCIsInJlbCIsIm1hcmdpblRvcCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsImVudiIsImFzc2V0X3VybCIsImFwaV91cmwiLCJwcm9jZXNzIiwiQkFTRV9VUkwiLCJ1cGxvYWRfdXJsIiwiTUVESUFfQVBJIiwic29ja2V0X3VybCIsIlNPQ0tFUl9TRVJWRVIiLCJub3RpZmljYXRpb25fdXJsIiwiTk9USUZJQ0FUSU9OIiwiQVdTX0FDQ0VTU19LRVlfSUQiLCJBV1NfU0VDUkVUX0FDQ0VTU19LRVkiLCJSRUFDVF9BUFBfQVBJX1RPS0VOIiwiUzNfQlVDS0VUIiwiZmlyZWJhc2VfY29uZmlnX2hlYWRlcnMiLCJsaW1pdCIsIndhbGxldF9saW1pdCIsIndlYnNvY2tldEV2ZW50IiwiRFJJVkVSX0xJVkVfTE9DQVRJT04iLCJVUERBVEVfSk5fV0FMTEVUIiwiQ0FTSF9JTl9TVUNDRVNTIiwiQ0FTSF9PVVRfU1VDQ0VTUyIsIk5PX0RSSVZFUl9BVkFJTEFCTEUiLCJQQUNLQUdFX1RSQUNLSU5HIiwiZGVmYXVsdEFkbWluQWNjb3VudCIsInRlbGVncmFtSWQiLCJkZXYiLCJkZXZMb2dnZXIiLCJleHByZXNzSHViIiwiZXhwcmVzc01lcmNoYW50IiwiZXhwcmVzc0ZpbmFuY2UiLCJleHByZXNzRHJpdmVyIiwiU1RBUlRfTE9HSU4iLCJBVVRIX0xPR0lOIiwiTE9HSU5fRkFJTEVEIiwiVVJMIiwiTE9HSU4iLCJMT0dJTl9URUxFR1JBTSIsIlZFUklGWV9UT1AiLCJTSUdOVVAiLCJESVNBQklMSVRZX1RZUEUiLCJQUk9WSU5DRSIsIk9DQ1VQQVRJT04iLCJFRFVDQVRJT05fSU5TVElUVVRJT04iLCJGT09EUyIsIkZPT0QiLCJGQU1JTElFUyIsIlRSQU5TUE9SVEFUSU9OUyIsIlRFQU0iLCJFVkVOVCIsIlNPVVJDRSIsIlRSQUlOSU5HX1NFU1NJT04iLCJMQU5HVUFHRSIsIlNLSUxMIiwiVEVSTVNfQ09ORElUSU9OIiwiVk9MVU5URUVSX0VWRU5UIiwiVk9MVU5URUVSUyIsIkRBU0hCT0FSRCIsIk9GRkVSX1BST0dSQU0iLCJUUkFWRUxfREFZIiwiVVNFUiIsIlBVQkxJQyIsIk5PVElGWSIsIk5PVElGWV9TVEFUVVMiLCJVU0VSX0FUVEVOREFOQ0UiLCJDVVJSRU5DWV9UWVBFIiwiVVNEIiwiS0hSIiwiTG9hZGluZ0RpYWxvZyIsIl9SZWFjdCRDb21wb25lbnQiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiYXJndW1lbnRzIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJyZW5kZXIiLCJ2aXNpYmxlIiwicHJvcHMiLCJfTW9kYWwiLCJ3aWR0aCIsImNlbnRlcmVkIiwiZm9vdGVyIiwiY2xvc2FibGUiLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImp1c3RpZnlDb250ZW50IiwiYWxpZ25JdGVtcyIsIl9TcGluIiwic2l6ZSIsIkNvbXBvbmVudCIsImUiLCJ0IiwiciIsIlN5bWJvbCIsIm4iLCJpdGVyYXRvciIsIm8iLCJ0b1N0cmluZ1RhZyIsImkiLCJjIiwicHJvdG90eXBlIiwiR2VuZXJhdG9yIiwidSIsIk9iamVjdCIsImNyZWF0ZSIsIl9yZWdlbmVyYXRvckRlZmluZTIiLCJmIiwicCIsInkiLCJHIiwidiIsImEiLCJkIiwiYmluZCIsImxlbmd0aCIsImwiLCJUeXBlRXJyb3IiLCJjYWxsIiwiZG9uZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9zbGljZWRUb0FycmF5IiwiX2FycmF5V2l0aEhvbGVzIiwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5IiwiX25vbkl0ZXJhYmxlUmVzdCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsIkFycmF5IiwiZnJvbSIsInRlc3QiLCJuZXh0IiwicHVzaCIsImlzQXJyYXkiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJQcm9taXNlIiwicmVzb2x2ZSIsInRoZW4iLCJfYXN5bmNUb0dlbmVyYXRvciIsImFwcGx5IiwiX25leHQiLCJfdGhyb3ciLCJheGlvcyIsImNvbmZpZyIsInFzIiwiYXhpb3NJbnN0YW5jZSIsImJhc2VVUkwiLCJ0aW1lb3V0IiwiZ2V0V2l0aENvbmZpZyIsIl9yZWYiLCJfY2FsbGVlIiwidXJsIiwicGFyYW1zIiwic3VjY2VzcyIsImZhaWxlZCIsInRva2VuIiwiY2xlYW5lZFBhcmFtcyIsImNvbmZpZ3MiLCJyZXNwb25zZSIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZSIsIl9lcnIkcmVzcG9uc2UiLCJfZXJyJHJlc3BvbnNlJGRhdGEkZXIiLCJfZXJyJHJlc3BvbnNlMiIsIm1lc3NhZ2UiLCJlcnJvciIsIl90IiwiX2NvbnRleHQiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJlbnRyaWVzIiwiZm9yRWFjaCIsIl9yZWYyIiwiX3JlZjMiLCJ1bmRlZmluZWQiLCJoZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsImNvbmNhdCIsIkFjY2VwdCIsInBhcmFtc1NlcmlhbGl6ZXIiLCJzdHJpbmdpZnkiLCJhcnJheUZvcm1hdCIsImdldCIsImRhdGEiLCJjb25zb2xlIiwiX3giLCJfeDIiLCJfeDMiLCJfeDQiLCJwb3N0V2l0aENvbmZpZyIsIl9yZWY0IiwiX2NhbGxlZTIiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQiLCJfdDIiLCJfY29udGV4dDIiLCJsb2ciLCJwb3N0IiwiX3g1IiwiX3g2IiwicG9zdFdpdGhDb25maWdGb3JtRGF0YSIsIl9yZWY1IiwiX2NhbGxlZTMiLCJfc2Vzc2lvblN0b3JhZ2UkZ2V0SXQyIiwiX3QzIiwiX2NvbnRleHQzIiwiX3g3IiwiX3g4IiwicG9zdFdpdGhDb25maWdXaGl0ZWxpc3QiLCJfcmVmNiIsIl9jYWxsZWU0Iiwic3RvcmVkVXNlciIsInVzZXIiLCJleHBlcnRpc2VTdHIiLCJfdDQiLCJfY29udGV4dDQiLCJKU09OIiwicGFyc2UiLCJwaG9uZV9udW1iZXIiLCJjb3VudHJ5Q29kZSIsImFyZWFDb2RlIiwicGhvbmVOdW1iZXIiLCJ0ZXJtc19jb25kaXRpb25zX2lkIiwidm9sdW50ZWVyX3N0YXR1cyIsInVzZXJfaWQiLCJpZCIsImV4cGVydGlzZSIsIl94OSIsIl94MCIsInJlbW92ZVdpdGhDb25maWciLCJfcmVmNyIsIl9jYWxsZWU1IiwiX3Nlc3Npb25TdG9yYWdlJGdldEl0MyIsIl9lcnIkcmVzcG9uc2UkZGF0YSRtZTIiLCJfZXJyJHJlc3BvbnNlMyIsIl90NSIsIl9jb250ZXh0NSIsIl94MSIsIl94MTAiLCJfeDExIiwiX3gxMiIsInB1dFdpdGhDb25maWciLCJfcmVmOCIsIl9jYWxsZWU2IiwiX3Q2IiwiX2NvbnRleHQ2IiwiRXJyb3IiLCJwdXQiLCJfeDEzIiwiX3gxNCIsInBvc3RVcGxvYWQiLCJfcmVmOSIsIl9jYWxsZWU3IiwiY29uZmlndXJlIiwiX3Q3IiwiX2NvbnRleHQ3IiwiX3gxNSIsInB1c2hOb3RpZmljYXRpb24iLCJfcmVmMCIsIl9jYWxsZWU4IiwicmVjaXBpZW50IiwidGl0bGUiLCJtZXNzYWdlQm9keSIsImlzRHJpdmVyIiwicGhvdG8iLCJfZXJyJHJlc3BvbnNlJGRhdGEkbWUzIiwiX2VyciRyZXNwb25zZTQiLCJfdDgiLCJfY29udGV4dDgiLCJ0b3BpY19uYW1lIiwibWVzc2FnZV90aXRsZSIsIm1lc3NhZ2VfYm9keSIsIl94MTYiLCJfeDE3IiwiX3gxOCIsIl94MTkiLCJfeDIwIiwiX3gyMSIsInB1c2hOb3RpZmljYXRpb25BbGxBcHAiLCJfcmVmMSIsIl9jYWxsZWU5IiwiX3Q5IiwiX2NvbnRleHQ5IiwiX3gyMiIsImNvbmZpZ3VyZVN0b3JlIiwiYXV0aFNsaWNlIiwidm9sdW50ZWVyU2xpY2UiLCJkaXNhYmlsaXR5VHlwZVNsaWNlIiwiZWR1Y2F0aW9uSW5zdGl0dXRpb25TbGljZSIsImZvb2RTbGljZSIsImludGVyZXN0ZWRUZWFtU2xpY2UiLCJvY2N1cGF0aW9uU2xpY2UiLCJvcHBvcnR1bml0eVNvdXJjZVNsaWNlIiwicHJvdmluY2VTbGljZSIsInNraWxsU2xpY2UiLCJ0ZXJtc0NvbmRpdGlvblNsaWNlIiwidHJhaW5pbmdTZXNzaW9uU2xpY2UiLCJ2b2x1bnRlZXJFdmVudFNsaWNlIiwibGFuZ3VhZ2VTbGljZSIsInVzZXJTbGljZSIsIm9mZmVyUHJvZ3JhbVNsaWNlIiwidHJhdmVsRGF5U2xpY2UiLCJ1c2VyQXR0ZW5kYW5jZVNsaWNlIiwiZmFtaWxpU3VydmV5U2xpY2UiLCJzdG9yZSIsInJlZHVjZXIiLCJhdXRoIiwidm9sdW50ZWVyIiwiZGlzYWJpbGl0eVR5cGUiLCJlZHVjYXRpb25JbnN0aXR1dGlvbiIsImZvb2QiLCJpbnRlcmVzdGVkVGVhbSIsIm9jY3VwYXRpb24iLCJvcHBvcnR1bml0eVNvdXJjZSIsInByb3ZpbmNlIiwibGFuZ3VhZ2UiLCJza2lsbCIsInRlcm1zQ29uZGl0aW9uIiwidHJhaW5pbmdTZXNzaW9uIiwidm9sdW50ZWVyRXZlbnQiLCJvZmZlclByb2dyYW0iLCJ0cmF2ZWxEYXkiLCJ1c2VyQXR0ZW5kYW5jZSIsImZhbWlsaVN1cnZleSIsImRldlRvb2xzIiwiTk9ERV9FTlYiLCJSb3V0ZXMiLCJSb3V0ZXJSb3V0ZXMiLCJSb3V0ZSIsIk1haW4iLCJMb2dpbiIsIk5vdEZvdW5kIiwiUHJvdGVjdGVkUm91dGUiLCJBdXRoIiwiQXR0ZW5kYW5jZVFSIiwiVGVsZWdyYW1Mb2dpbkF0dGVuZGFuY2UiLCJWb2x1bnRlZXJSZWdpc3RlckdhbWVGb3JtIiwiQXBwUm91dGVzIiwicGF0aCIsImVsZW1lbnQiLCJOYXZpZ2F0ZSIsImNoaWxkcmVuIiwiYWNjZXNzVG9rZW4iLCJpc0F1dGhlbnRpY2F0ZWQiLCJCb29sZWFuIiwiRnJhZ21lbnQiLCJ0byIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwidXNlRGlzcGF0Y2giLCJ1c2VTZWxlY3RvciIsInVzZU5hdmlnYXRlIiwiZmV0Y2hQcm92aW5jZSIsImZldGNoRGlzdHJpY3QiLCJmZXRjaENvbW11bmUiLCJmZXRjaFZpbGxhZ2VTZXJ2aWNlIiwiZmV0Y2hUcmFuc3BvcnRhdGlvbiIsImNyZWF0ZUZhbWlseUFjdGlvbiIsInVwZGF0ZUZhbWlseUFjdGlvbiIsImZhbWlseURldGFpbEFjdGlvbiIsIk9wdGlvbiIsIl9TZWxlY3QiLCJTVE9SQUdFX0tFWSIsIkxPQ0FUSU9OX0NIQUlOUyIsIkxBU1RfU0VMRUNUSU9OIiwiRmFtaWx5U3VydmV5Rm9ybSIsIl90cmFuc3BvcnRhdGlvbnMkZGF0YSIsImlzVmlld01vZGUiLCJpbml0aWFsVmFsdWVzIiwiX0Zvcm0kdXNlRm9ybSIsIl9Gb3JtIiwidXNlRm9ybSIsIl9Gb3JtJHVzZUZvcm0yIiwiZm9ybSIsImRpc3BhdGNoIiwibmF2aWdhdGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwic2F2ZWRMb2NhdGlvbkNoYWlucyIsInNldFNhdmVkTG9jYXRpb25DaGFpbnMiLCJfdXNlU2VsZWN0b3IiLCJzdGF0ZSIsIl91c2VTZWxlY3RvciRwcm92aW5jZSIsInByb3ZpbmNlcyIsIl91c2VTZWxlY3RvciRkaXN0cmljdCIsImRpc3RyaWN0cyIsIl91c2VTZWxlY3RvciRjb21tdW5lcyIsImNvbW11bmVzIiwiX3VzZVNlbGVjdG9yJHZpbGxhZ2VzIiwidmlsbGFnZXMiLCJfdXNlU2VsZWN0b3IkdHJhbnNwb3IiLCJ0cmFuc3BvcnRhdGlvbnMiLCJmYW1pbHlTdXJ2ZXkiLCJyZWdpc3RlclBlbmRpbmciLCJyZWdpc3RlckVycm9yTWVzc2FnZSIsInNlYXJjaFBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImxvY2F0aW9uIiwic2VhcmNoIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0NsaWNrIiwic2V0SXNDbGljayIsIk51bWJlciIsInJlc2V0RmllbGRzIiwic2V0RmllbGRzVmFsdWUiLCJwaG9uZSIsImdlbmRlciIsImFnZSIsImRpc3RyaWN0IiwiY29tbXVuZSIsInZpbGxhZ2UiLCJ0b3RhbF9tZW1iZXIiLCJtZW1iZXJfbWFsZSIsIm1lbWJlcl9mZW1hbGUiLCJ0b3RhbF9wcmVnbmFudCIsInRvdGFsX2JhYnkiLCJiYWJ5X21hbGUiLCJiYWJ5X2ZlbWFsZSIsInRvdGFsX2NoaWxkIiwiY2hpbGRfbWFsZSIsImNoaWxkX2ZlbWFsZSIsImlzX2Rpc2FibGVkIiwiaXNfb2xkX2FnZSIsInRyYW5zcG9ydGF0aW9uX2lkIiwibm90ZSIsIl9tZXNzYWdlIiwic2F2ZWRDaGFpbnMiLCJsb2NhbFN0b3JhZ2UiLCJjaGFpbnMiLCJtb3N0UmVjZW50IiwiYXV0b1NlbGVjdExvY2F0aW9uQ2hhaW4iLCJoYW5kbGVDb3VudFRvdGFsQ2hhbmdlIiwidHlwZSIsIm1hbGUiLCJnZXRGaWVsZFZhbHVlIiwiZmVtYWxlIiwiaGFuZGxlQ291bnRHZW5kZXJDaGFuZ2UiLCJ0b3RhbEZpZWxkIiwibWVtYmVyIiwiYmFieSIsImNoaWxkIiwidG90YWwiLCJfZGVmaW5lUHJvcGVydHkiLCJ3YXJuaW5nIiwiaGFuZGxlU3VibWl0IiwidmFsdWVzIiwibG9jYXRpb25DaGFpbiIsInByb3ZpbmNlVmFsdWUiLCJkaXN0cmljdFZhbHVlIiwiY29tbXVuZVZhbHVlIiwidmlsbGFnZVZhbHVlIiwic2F2ZUxvY2F0aW9uQ2hhaW4iLCJuZXdDaGFpbiIsInVwZGF0ZWRDaGFpbiIsIl9vYmplY3RTcHJlYWQiLCJ0aW1lc3RhbXAiLCJ0b0lTT1N0cmluZyIsImV4aXN0aW5nQ2hhaW5zIiwiZmlsdGVyIiwiY2hhaW4iLCJfdXBkYXRlZENoYWluJHByb3ZpbmMiLCJfY2hhaW4kZGlzdHJpY3QiLCJfdXBkYXRlZENoYWluJGRpc3RyaWMiLCJfY2hhaW4kY29tbXVuZSIsIl91cGRhdGVkQ2hhaW4kY29tbXVuZSIsIm5ld0NoYWlucyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNldEl0ZW0iLCJoYW5kbGVQcm92aW5jZUNoYW5nZSIsIl92YWx1ZSRzcGxpdCIsInNwbGl0IiwiX3ZhbHVlJHNwbGl0MiIsInByb3ZpbmNlSWQiLCJwcm92aW5jZU5hbWUiLCJ0cmltIiwiaGFuZGxlRGlzdHJpY3RDaGFuZ2UiLCJfZm9ybSRnZXRGaWVsZFZhbHVlIiwiX3ZhbHVlJHNwbGl0MyIsIl92YWx1ZSRzcGxpdDQiLCJkaXN0cmljdElkIiwiZGlzdHJpY3ROYW1lIiwiY3VycmVudFByb3ZpbmNlIiwiaGFuZGxlQ29tbXVuZUNoYW5nZSIsIl9mb3JtJGdldEZpZWxkVmFsdWUyIiwiX2Zvcm0kZ2V0RmllbGRWYWx1ZTMiLCJfdmFsdWUkc3BsaXQ1IiwiX3ZhbHVlJHNwbGl0NiIsImNvbW11bmVJZCIsImNvbW11bmVOYW1lIiwiY3VycmVudERpc3RyaWN0IiwiaGFuZGxlQ2FuY2VsIiwicmVtb3ZlSXRlbSIsIlF1aWNrRmlsbCIsIm1hcmdpbkJvdHRvbSIsIl9TcGFjZSIsImFsaWduIiwiX1RhZyIsImNvbG9yIiwiX0NhcmQiLCJsYXlvdXQiLCJvbkZpbmlzaCIsImRpc2FibGVkIiwic3BhbiIsIkl0ZW0iLCJsYWJlbCIsInJ1bGVzIiwicmVxdWlyZWQiLCJfSW5wdXQiLCJwbGFjZWhvbGRlciIsInBhdHRlcm4iLCJfSW5wdXROdW1iZXIiLCJtaW4iLCJvbkNoYW5nZSIsIkFMTE9XRURfUFJPVklOQ0VfSURTIiwiaW5jbHVkZXMiLCJwYWRTdGFydCIsIm1hcCIsImttIiwibGF0aW4iLCJ2YWx1ZVByb3BOYW1lIiwiaW5pdGlhbFZhbHVlIiwiX0NoZWNrYm94IiwiYWxsb3dDbGVhciIsIm9wdGlvbiIsIlRleHRBcmVhIiwicm93cyIsIl9CdXR0b24iLCJodG1sVHlwZSIsImxvYWRpbmciLCJvbkNsaWNrIiwiUGx1c091dGxpbmVkIiwiRGVsZXRlT3V0bGluZWQiLCJFZGl0T3V0bGluZWQiLCJFeWVPdXRsaW5lZCIsImZldGNoRmFtaWx5U3VydmV5IiwiZGVsZXRlRmFtaWx5QWN0aW9uIiwiU3dhbCIsIkZhbWlseUFwcHJvdmVkTGlzdCIsInN0YXR1cyIsImN1cnJlbnRQYWdlIiwic2V0Q3VycmVudFBhZ2UiLCJwYWdlU2l6ZSIsInNldFBhZ2VTaXplIiwiZmFtaWxpZXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzTW9kYWxWaXNpYmxlIiwic2V0SXNNb2RhbFZpc2libGUiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlYXJjaFRleHQiLCJzZXRTZWFyY2hUZXh0IiwiX3VzZVN0YXRlOSIsIl91c2VTdGF0ZTAiLCJzZXRJc1ZpZXdNb2RlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2VsZWN0ZWRSZWNvcmQiLCJzZXRTZWxlY3RlZFJlY29yZCIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZXRQcm92aW5jZSIsIl91c2VTdGF0ZTEzIiwiX3VzZVN0YXRlMTQiLCJzZXREaXN0cmljdCIsIl91c2VTdGF0ZTE1IiwiX3VzZVN0YXRlMTYiLCJ0b3RhbE1lbWJlciIsInNldFRvdGFsTWVtYmVyIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsInNldEFnZSIsImRhdGFTb3VyY2UiLCJtZXRhIiwicGFnZSIsImhhbmRsZVRhYmxlQ2hhbmdlIiwicGFnaW5hdGlvbiIsImN1cnJlbnQiLCJoYW5kbGVTZWFyY2giLCJoYW5kbGVSZXNldCIsImhhbmRsZVZpZXciLCJyZWNvcmQiLCJoYW5kbGVFZGl0IiwiaGFuZGxlRGVsZXRlIiwiZmlyZSIsInRleHQiLCJpY29uIiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiaHRtbCIsImRpZE9wZW4iLCJfU3dhbCRnZXRQb3B1cCIsIl9Td2FsJGdldFBvcHVwMiIsImNvbmZpcm1CdXR0b24iLCJnZXRQb3B1cCIsInF1ZXJ5U2VsZWN0b3IiLCJjYW5jZWxCdXR0b24iLCJhZGRFdmVudExpc3RlbmVyIiwidW53cmFwIiwiY2xvc2UiLCJjb2x1bW5zIiwiXyIsIl9fIiwiaW5kZXgiLCJkYXRhSW5kZXgiLCJlbGxpcHNpcyIsImZpeGVkIiwiZGFuZ2VyIiwianVzdGlmeSIsIm1hcmdpbiIsIndyYXAiLCJsZyIsInNob3dTZWFyY2giLCJfVGFibGUiLCJyb3dLZXkiLCJzY3JvbGwiLCJ4Iiwic2hvd1NpemVDaGFuZ2VyIiwic2hvd1RvdGFsIiwicmFuZ2UiLCJvcGVuIiwib25DYW5jZWwiLCJWb2x1bnRlZXJBdHRlbmRhbmNlUGFnZSIsIkxvZ2luRm9ybSJdLCJzb3VyY2VSb290IjoiIn0=