diff --git a/.env b/.env new file mode 100644 index 0000000..60a2d2a --- /dev/null +++ b/.env @@ -0,0 +1,2 @@ +REACT_APP_VERSION=$npm_package_version +REACT_APP_NAME=$npm_package_name diff --git a/.gitignore b/.gitignore index 81000b6..ea511ba 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ build .idea .firebase yarn.lock +yarn-error.log diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..307e018 --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + semi: true, + trailingComma: "all", + singleQuote: true, + printWidth: 100, + tabWidth: 4 +}; diff --git a/README.md b/README.md index 260ee8b..783f7c3 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,8 @@ This app tries to parody the interface of the game World of Warcraft. You can ch ### Screenshots * Views -![Screenshot 1](screenshots/screenshot-1.jpg) +![Screenshot 1](screenshots/screenshot-1.png) * Places -![Screenshot 2](screenshots/screenshot-2.jpg) +![Screenshot 2](screenshots/screenshot-2.png) * Settings -![Screenshot 3](screenshots/screenshot-3.jpg) +![Screenshot 3](screenshots/screenshot-3.png) diff --git a/firebase.json b/firebase.json index 7ff5623..cce74f8 100644 --- a/firebase.json +++ b/firebase.json @@ -1,6 +1,12 @@ { "hosting": { "public": "build", + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ], "ignore": [ "firebase.json", "**/.*", diff --git a/package.json b/package.json index ef94a05..30ff959 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "wow-best-places", "description": "This app is supposed to make you feel nostalgic", - "version": "1.3.1", + "version": "2.1.0", "license": "MIT", "author": { "name": "obergodmar", @@ -9,12 +9,14 @@ "url": "https://github.com/obergodmar" }, "engines": { - "node": "10.18.1" + "node": "10.22.0" }, "dependencies": { "classnames": "^2.2.6", + "core-js": "^3.6.5", "react": "^16.13.1", "react-dom": "^16.13.1", + "react-router-dom": "^5.2.0", "react-scripts": "3.4.1", "serve": "^11.3.2" }, @@ -23,6 +25,7 @@ "@types/classnames": "^2.2.10", "@types/react": "^16.9.41", "@types/react-dom": "^16.9.8", + "@types/react-router-dom": "^5.1.5", "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", "enzyme": "^3.11.0", @@ -45,8 +48,7 @@ "stylelint-config-recommended-scss": "^4.2.0", "stylelint-config-standard": "^20.0.0", "stylelint-scss": "^3.18.0", - "typescript": "^3.9.5", - "yarn": "^1.22.4" + "typescript": "^3.9.5" }, "scripts": { "start": "serve ./build", @@ -67,10 +69,10 @@ }, "browserslist": { "production": [ - "since 2010" + "defaults" ], "development": [ - "since 2010" + "defaults" ] } } diff --git a/public/index.html b/public/index.html index 45b62c8..940c7e5 100644 --- a/public/index.html +++ b/public/index.html @@ -4,11 +4,11 @@ - - - - - + + + + + @@ -23,6 +23,14 @@ font-style: normal; } + @font-face { + font-family: 'Morpheus'; + src: url('data:font/truetype;charset=utf-8;base64,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AN0AzwDSANMA5ADyAIQAhQFEAUUBRgFHAUgBSQFKAUsBTAFNAU4BTwFQAPcA+AD5APoA+wD8AP0A/gD/AQABAQFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcJYWZpaTEwMDIzCWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEETlVMTAZnbHlwaDkHZ2x5cGgxOQdnbHlwaDIwB2dseXBoMjEHZ2x5cGgyMgdnbHlwaDIzB2dseXBoMjQHZ2x5cGgyNQdnbHlwaDI2B2dseXBoMjcHZ2x5cGgyOAdnbHlwaDcxCGdseXBoMjY4CGdseXBoMjczCGdseXBoMjc0CGdseXBoMjc1CGdseXBoMjc3CGdseXBoMjc5CGdseXBoMjg0CGdseXBoMjg2CGdseXBoMjkzCGdseXBoMjk1CGdseXBoMjk2CGdseXBoMjk5CGdseXBoMzAyCGdseXBoMzA4CGdseXBoMzE2CGdseXBoMzE3CGdseXBoMzE5CGdseXBoMzI0CGdseXBoMzI3CGdseXBoMzI5CGdseXBoMzM0CGdseXBoMzQ0CGdseXBoMzQ2AAAAAAAAAwAIAAIAEAAB//8AAwAAAAEAAAAA1aQnCAAAAAC+GD6NAAAAAL4YQuAAAQAAAAwAAAAWAAAAAgABAAIBZwABAAQAAAACAAAAAAABAAAACgBCAFAAA0RGTFQAFGN5cmwAIGxhdG4ALAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAAEAAAAAP//AAEAAAABa2VybgAIAAAAAQAAAAEABAACAAAAAQAIAAEATgAEAAAADQAkADYASAAkACQANgA2ADYASABIAEgANgA2AAQAOf6vADr/CwBZ/xoAWv8LAAQAOP92ADn/GgA6/2cAPP77AAEAJP/DAAEADQAkADIANQDZAN0A5wDtAPcA+AEYAVMBXwFgAAEAAAAKADwAPgADREZMVAAUY3lybAAebGF0bgAoAAQAAAAA//8AAAAEAAAAAP//AAAABAAAAAD//wAAAAAAAA==') format('truetype'); + font-weight: normal; + font-style: normal; + font-display: swap; + } + * { user-select: none; box-sizing: border-box; diff --git a/screenshots/screenshot-1.jpg b/screenshots/screenshot-1.jpg deleted file mode 100644 index b9161de..0000000 Binary files a/screenshots/screenshot-1.jpg and /dev/null differ diff --git a/screenshots/screenshot-1.png b/screenshots/screenshot-1.png new file mode 100644 index 0000000..af6faad Binary files /dev/null and b/screenshots/screenshot-1.png differ diff --git a/screenshots/screenshot-2.jpg b/screenshots/screenshot-2.jpg deleted file mode 100644 index 970ab9e..0000000 Binary files a/screenshots/screenshot-2.jpg and /dev/null differ diff --git a/screenshots/screenshot-2.png b/screenshots/screenshot-2.png new file mode 100644 index 0000000..c377231 Binary files /dev/null and b/screenshots/screenshot-2.png differ diff --git a/screenshots/screenshot-3.jpg b/screenshots/screenshot-3.jpg deleted file mode 100644 index 053413f..0000000 Binary files a/screenshots/screenshot-3.jpg and /dev/null differ diff --git a/screenshots/screenshot-3.png b/screenshots/screenshot-3.png new file mode 100644 index 0000000..50cd144 Binary files /dev/null and b/screenshots/screenshot-3.png differ diff --git a/src/app/index.tsx b/src/app/index.tsx deleted file mode 100644 index 197c134..0000000 --- a/src/app/index.tsx +++ /dev/null @@ -1,264 +0,0 @@ -import * as React from "react"; -import { - KeyboardEvent, - useCallback, - useEffect, - useLayoutEffect, - useMemo, - useRef, - useState, -} from "react"; - -import { - MainMenuComponent, - MenuItemComponent, - MusicComponent, - PanelComponent, - PreviewComponent, - SettingsComponent, - ViewComponent, -} from "../components"; -import places from "../assets"; -import { delay, soundLoad, UI_SOUND_VOLUME } from "../utils"; -import { useSettings } from "../hooks"; - -import PanelOpenAudio from "../assets/audio/panel-open.ogg"; -import PanelCloseAudio from "../assets/audio/panel-close.ogg"; - -import SettingsOpenAudio from "../assets/audio/menu-open.ogg"; -import SettingsCloseAudio from "../assets/audio/menu-close.ogg"; - -import CheckBoxOnAudio from "../assets/audio/check-box-on.ogg"; -import CheckBoxOffAudio from "../assets/audio/check-box-off.ogg"; - -import Sound from "../modules/sound"; - -import "./style.scss"; - -export default function App(): JSX.Element { - const { - settings: { uiSound, musicVolume, language }, - } = useSettings(); - const [isSettingsShown, setSettingsShown] = useState(false); - const [isLoading, setLoading] = useState(false); - const [isPlaying, setPlaying] = useState(false); - const [isLeftPanelShown, setLeftPanelShown] = useState(false); - const [isBottomPanelShown, setBottomPanelShown] = useState(false); - const [activePlace, setActivePlace] = useState(0); - const [activeView, setActiveView] = useState(0); - - const panelOpenSound = useMemo( - () => soundLoad(PanelOpenAudio, UI_SOUND_VOLUME), - [] - ); - const panelCloseSound = useMemo( - () => soundLoad(PanelCloseAudio, UI_SOUND_VOLUME), - [] - ); - const settingsOpenSound = useMemo( - () => soundLoad(SettingsOpenAudio, UI_SOUND_VOLUME), - [] - ); - const settingsCloseSound = useMemo( - () => soundLoad(SettingsCloseAudio, UI_SOUND_VOLUME), - [] - ); - const checkboxOnSound = useMemo( - () => soundLoad(CheckBoxOnAudio, UI_SOUND_VOLUME), - [] - ); - const checkboxOffSound = useMemo( - () => soundLoad(CheckBoxOffAudio, UI_SOUND_VOLUME), - [] - ); - - const [currentPlaying, setCurrentPlaying] = useState(); - - const app = useRef(null); - - const handleHideLeftPanel = useCallback(() => { - setBottomPanelShown(false); - setLeftPanelShown(!isLeftPanelShown); - }, [isLeftPanelShown]); - - const handleHideBottomPanel = useCallback(() => { - setLeftPanelShown(false); - setBottomPanelShown(!isBottomPanelShown); - }, [isBottomPanelShown]); - - const delayedChange = useCallback( - (fn: (value: number) => void, value: number) => { - if (isLoading) { - return; - } - fn(value); - setLoading(true); - delay().then(() => { - setLoading(false); - }); - }, - [isLoading] - ); - - const handleLeftPreviewClick = useCallback( - (value: number) => { - delayedChange(setActivePlace, value); - setActiveView(0); - }, - [delayedChange] - ); - - const handleBottomPreviewClick = useCallback( - (value: number) => { - delayedChange(setActiveView, value); - }, - [delayedChange] - ); - - useEffect(() => { - if (app && app.current) { - app.current.focus(); - } - }, [app]); - - useLayoutEffect(() => { - document.title = - language[`place.${places[activePlace].name}` as keyof typeof language]; - }, [activePlace, language]); - - useEffect(() => { - if (!currentPlaying) { - return; - } - currentPlaying.setVolume(musicVolume); - currentPlaying.playMusic(); - }, [currentPlaying, musicVolume]); - - const appClick = useCallback( - () => currentPlaying && currentPlaying.playMusic(), - [currentPlaying] - ); - - const openCloseSettings = useCallback(() => { - setSettingsShown(!isSettingsShown); - if (app && app.current) { - app.current.focus(); - } - if (!uiSound) { - return; - } - if (isSettingsShown) { - settingsCloseSound.playSound(); - } else { - settingsOpenSound.playSound(); - } - }, [app, isSettingsShown, uiSound, settingsCloseSound, settingsOpenSound]); - - const handleOpenSettings = useCallback( - (e: KeyboardEvent) => { - switch (e.keyCode) { - case 27: - if (isLeftPanelShown || isBottomPanelShown) { - setLeftPanelShown(false); - setBottomPanelShown(false); - break; - } - openCloseSettings(); - break; - case 32: - if (!currentPlaying) { - return; - } - if (isPlaying) { - currentPlaying.pause(); - setPlaying(false); - } else { - currentPlaying.playMusic(); - } - break; - default: - break; - } - }, - [ - isLeftPanelShown, - isBottomPanelShown, - isPlaying, - currentPlaying, - openCloseSettings, - ] - ); - - return ( -
- - -
- obergodmar - v1.3.1 -
- -
- - {places.map((place, index) => ( - - ))} - - - {places[activePlace].preview.map((preview, index) => ( - - ))} - - {isSettingsShown && ( - - )} - -
- ); -} - -App.displayName = "App"; diff --git a/src/assets/assets.scss b/src/assets/assets.scss index cb2f0b5..86f40af 100644 --- a/src/assets/assets.scss +++ b/src/assets/assets.scss @@ -4,6 +4,10 @@ $borderRight: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgCAYAAAA $borderTop: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAYUlEQVR4nOXVsQ2AUAhF0Yuh+BMQBzCxMRqn0F4Lt3Lk7xi3kAXeCRCI3jtmDWo6EMBoAhLYVEBLThMQ+7qoW5jX/Zj5REvcDkzzYuaTVaUCoqrUEQTw2oDDBqinOH7/DT9rBQ0zCtXBIwAAAABJRU5ErkJggg=="); $panelBackground: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAgAElEQVR4nNV9W4/rOs4lI1cKPTg4mH75/v+vHKBR2VbmIaa8tERSlJM6PcONjapKbIm6UbwsSre///77WWsVpVJK+73W2v2Nn1vPIul3Xtnnh68f223rPt6fe/f3d/l+Pf5VujL3fRd5ioh+tMHnmfqBtm3rfg6sGu8/ng+R/ah/F/nP/p/+gWfflu22DeV35XIVVULaZGttVtL6ttvW/d543h9nnfXso9aXyMfx9/1+f5XDfUPPb2KP4/7cu/mEvCF/Q99Ikcf+6Nt8vLvdtqG/9j87viz38uK71ir7c+/q/Ov+l+y3fZxPwLfyjP233bZzftMA7XtfxyYjj8eLr+dlHB/uF+077Q/lS+S1HpB4Hcmt/3P/s3frt+gvja/EgimlDN/NFpeWzYKiMUYLPkOtzpu8FoGxbiMhxXzp4OO7mXY14vqr3y4tm8v3eAzpef6K9c36dJgsjbnxI+wj/d+eLfKa0FXkp/6EdVrt08U5sOH0PQqV7vN9bQ6xYEHSvlEeZv2KvG63ze/bi5SdiyzkIqq1mrIpTTqYlkagFDHu7bQi/uTECeQKE5gI27a59UcCCSktCLTaxBq26lZes5Nn247dH6S8Tj78L3JOjP25m5O6Z47qMHiP6Kf+mIIAtULdwTP9v9QfKpCKNIHsCZif+tNpJbp7RwtI+3SJ70M4zp6z6va0R56T3+Vbvst3V1arW+n4Hd/7urTjYJnOgmTzgRdQtPgt+qk/zQwQgUWuu9+NPp8QCi3uA6sMd6fWxVfkFAC6IyYJ+6KpwjqQYrfH6z9LrVZ+Ubjo7lek9H2AzdxE5BkLUY+6sQKetK5aq60aA712qNNk8NpnmZtYhj6b2Rm1n/hZrr8JgXK+p9TMk6FwMdtstSkUQsfYW/N0eE/ro67RcfhSNbUxnBhny95vn1V6rpzPYPncSV6HqY2lg7JVW8Jt22Z3SCAQzEn9lEGYWIttEBxVRDaR7UkTBeyCbdtkv+1tUd+3e5Pq+76fbVCh8hSRMp8UbOtrWchbkdJ4FDltyaEstGN2MedDJAz0fW0j2q9ab5Fia1+byF7HNt63lx3/2B+y317fN58QbzJY5E4C9HaOj+xHfWDO7Pt+9tNBVfqNbBgD+FPn9CZb25iwPdu2DRvWJv283cueMiH2597mhvokho3suXfjgQJV6UuEnCpEuLAyjr6OQTknhOUA4jr35y5S+wWHOwZ+/l2+TTXTM0e6ncd4dqaRsEbTyqFdX+vxHH36s+2Q6jzD58GmN8fEEJwoJDxh2JVxPIP9sW2bq7lwvw79ZWk9tX9vpm3u+y7b19hetNVRs2C+mEdrU2oEzuLQzHFknbtD0wKfEY8Ta0aes5T/Vn69dSEyCshSyksAmAVTp0QONCbL84yLn5/FRhQppjNOn/U63upInRS4+NDj3WxuUKmsycCfD21W1a7YC1Zp22LJXkp57RjP/nPLLlxRf7WNuNtFAg8nkO6Y+nxTka2+QnXTsDeZL6ahvCryIy9eeOFHZWK7LY2C1eLH4+H244pPRkTChc991nn3jc3FMkWUIp60r3QcOwFCgr+gNzpydkUea2+3McNm+6M1vL1PC3vFP7BtY1gN+YsckKZf4mk/q+WZnnAR03EW8ca0amNjf0U7a+edBn5WPeZLpE64gBdrzr3DE7/bmR7Ii/6+9Z9bJgmr/lciVTz+WI7nP1uJPkU8qSDotOyjn7T8219//dVNeZ4wQwVs4yMzzg6q5ZrqeaGdClTZWmtTq9vENbSLk4HT1hnqceqzqFO7qi2QZrF23GmjXRffuW93+c+fHkcwaDbSm1LDjvP0dxYTa0Gyo8M1iJy2qsa+qT5W2dEe3Z+GNmPtyPg+7ZBDHP3Zt6XZ+MQvUzQ3Hw87HIia0/mhPfdwDrDPZsAF4Hu1F+RoYu37PpgDM2Lz+fHn0Y+x+rcOnr6EyLJ1s9Io2u1m9p+lanUSGOLOYfy6Bgtb+TuEAC7eSChwWLH7zpDAnVPH+B3LUDXtu3yHcemhLdwHhoc5Ul+v7GazcsIJSj4Caz40R2/CY9++v8kgxLrnJv2v9Ua7P5La6B5wxyov49nH8tHEWh0n1zRz+ujLsj1ch5f03uNMx2Xj7CJiDv5sB21kqO7RO177ZsSOy8Feq+PnYT3H1+y48RbBMDGpSH2HF78bmvonqZxRiivzJCq3CUBnHljle9EdJM8flSXs96axBU0dzNKkMIwc+Rbp84VVBv2PCy9rk8wGNa1JkGc7ZUvfXv/12SzISFVWBqnwc0iWxF+hd7EXFg9MvPgZDDOdKMkmqSZlCUWvLGt8LCdxB/WdgGlm/A4+G/oM5wD7fAbAFgF3uC+t3X/gdeIjyfqO0MxgmHnHt1HndtsOEwC/AJtXnWKMEWB8MjMfUjntWM9+7upUial1F1LBDecP1sWfqw22ySGNoa6tbC+brEX45nF3nrh7yatsgzkBNl+T6lReh1xjG/7oJ0tN7d5xqNba4Sy2sjUv/C67fMu3lNsYXu3agH1mOVQPnn7qjzkhh99nYTWEQTs2cwfSgfni+Yj0ZylF6h8j4rPB70Jt3hbMK1bmqoE5gOp32bs12KqE+cg+lk3O7+7bXarUzkwYfACtMo39Sz+ZrEnltg92VY6Dh4SDHUj9n/ozOFU86lSptQ07RTM7UD8T6aMnq4jIFU3MclSuEoeUGqJw63dBradnROJd2yAW6OwU9MpjrUL5akjAINbPZlqV2sBH6DT+hOb2Kkha2UirIUfe/VvZRZqQKs9X7N+Lsk1nU+RF1sJmk9ibtMjUNMwy63v2TpM3tiv7zXHMhOC8uDxPJhMIIrlFm52QTT00EGaWCWjVz3F4S6UeGaSfFymaG14/Wg7lFVMN68yAmPC9qCzW2HBMriz+4T1t4v76j6YfOpnbhmwWDsg/F7SRgCt+hNB2qedOZKKdQAhM7V2rWQn01mwiXOkTXUyzvsY+jwQP264RT9Eitt6LFlG0Qyt5iULtfVnbaaPFOQv3rpQ5aAkBj7rgLQCX9yz/niX27TRfyaQLlf/bv//976fF3CyO7KqXq9I+GeecOeZEpNn0/PcMTcXCAiciRj2uTqglZyj1BzuZpmGyttEcdd4mnmWIWsx2utV2v14a+9lyUGrdmifQ6ionf8rvCh/1eYyZFkRCXv1R7tjWPNDKosGEmTI8f6Rn4KjHmBMzGLGISGEAA0JMBwdPUqpdpan6ZNEN/jshoKg+qz0Ms/1vkg4i7xQZsoQXlovfZdp61QZmPwG3h+u2eFnyIRn81uNfVO4KCnaFOFow0+Kukgn04r9pjXzpF5GU5gKtCfiOoyliOg1EUoeTZvOhLTThkaW/146rO/+VyeNpOhEApdULEx13tyGCAM/8ExTNkS505uyapZSlHbKUMt0UOvRdom/fod9aPytAo46eoHCylMo66FRr+I0OSxHHN3Xxgx2UdbREu2SWrNjxzGackevAcz7XlFute4V+Uxh4wtcT8uifGMYmmWfBu77nnLX4zJhuq/0bRdGu+tQ8Nd8s79b/fvv7f//tysiZXaGorrcI+oBtbv5e62yEO72GP3g8jNZFPDPW3pu03mTw1G4XWipBwpIix5C4jeTj0Lj1uwvZg+pOifs7mRbrklOlu+kE63E2HmYaNT9m+AS6sihOv7ox6ppyeeX+heVg2fyDzyjGaM3VINYMPk0pico4gQ+Fm7x4L+/gnmPUsmWzWAmrPNOrDqAor7xP7OL/L/g/PkkZYZzdzLCPMyFupXeiZtG68LTDDKVG+TfDfRmVrONDFz8KgSf8n1BmkKeeXaezvX66CoFuhELuKcKn0Hh8fZo8aOxvUUOkBv6o9qyaQ8kzDFfa4IW8o3HlscyOjTU/Z7x6zuyM0/jLhB9CxS3J5aBVez+lBq+EyRAaai146isPzmtRKaWzGb3Q6OopMZ1TKxBAHPIbqMog+DxwVnfE2C9Q2jn7ZtnWAprNR243IzB/izyfxCcEc6avrbU7c0Tf/v6bfABsk68OMkOnZwJgZjOWXAe6E/15OoLMc/CgvhWvfSYt2HyPY/r7dtpx5cWvbNIiGnhaTXsGyyFzCAXeqo/mksNw1eY/xqM5KW/9yU0KbGlQ3AmhrW2GwSrN41V+F236Dpp+jGcksIZyO0iNMW8n/EZzmL97+aysRtzOgwbxb2b6k2TFaJWmKg4hF69Ievbae89ky/Y89C7pSNAAY4baMqhEZMgOW1GHZ7HxTxHniuCuH807a8Fb/fIpXpd8XskqozIxmsN0ZY5bmpANBaaOZGwAS7BokmcAHLgjRGTZNN4Oh5Pd68gqeYHxCfWR+2koc5MezyD5cBfLz27hOGfJIw//lF0vYmtilqYYzbuIUqjRRcrU3eozIlcZlOsK4WLmvvN2f8vUTotGT7pmmJ96whfS89IouDe94V4YLAzZGb/j39yH9+0uQzIj+jYMdc+MEhhr19KQLLqCk/8Nirzp3pgzohDHbIogvUApjW7RP/QuXZ3n2ldfnF8/xJlvJ1779bUB2FhwtDG2m/PLR04nX3O+dqHJ5NhMKzte9ywUbYXptrK18/xFpDvDri1E7HI4H152mijPfveudby+bNb3+3Mf/Cirl6d0pEjLxeOvW5k32q1kxFxwboCSd2JzK09spGB3tP2N/FrJaZDRQvbn7qant/dnfW/hPi5QW1/P0pVbbiUwAcr46X8N4Zegy2CVC89fcoYCe1G2X3tGsdpOONOCrHZVRuFTj83A/vc+403giu/FwlJwfkKGwuPaZRQaVzWYJRPAef+Ta2k1vIhmMPaB3xvg/VSH4NVEDKXs4ReRs2o2Md5xjnifmTBVQ+0c7qYzuot38ft2Hz3emNbs7BiWoywVKgrgtVfoU/3N35vJaImbn1AYaV/PzgrwyLqybXgmsRA/sfCtet5xzGvfnicCTeZOU2Fk7PCZY6k5dY4jmyIvu0eelx5jnZlyVr3al8J9+krwqHsaUKBSR7kKVxxeVt/x9xHhtW3ZkPEK/n27vUKkrtrMqF3Dy+3xlcWzpAE86HjEY8pWzOOFevhvNNNX6GuXvWea7DvsAD3HzVuA3oTqPqvxIhzimAb2uqNNpGwA4JmhAQk2PGDx4Vd2+qQW/1NE/px/tneK/ujbzkeBW7am2rZFiuzb3sGB9Qw/jyKeL2kAIKBaW56HL+cpgwAbFiADtUqfgPYOYq7xRfMwArtZR2+vCNNhQc5s/Iu5Ek3AkI8BBVmULelF2goWfpYK/w2KQg2NEYciNCAPWlPjnLBkb8vYarylnaxoDB4xVkIkHvzttr0uA4UTZ60z66NQXf+hXY830Vcos5N/OmyYXfyo0n8Cmnw1sqW8rvBQq30mwTL/TnRou+WuLUdqIz00msrBQyHdwgLIJcct+f8nSK+6Xn5v4Z0BnLJ4qCeSZ6PWWgfNY+inp6SEQEeOynyFZuZDllTAe6TO0+WJnYSdI3GfN74Mx+ynHHpoLs/aaGaHSq81utq1Y+O3Tzvpu0s3wfgMN97pZw4zfGeVPJsnoisaCJOleZhJKY53f3/u8tgf7TssS+8l1EWEDit8PkscC9cyMtGCd2LIs2dWfT0tCqJEi6616437FlGYcj9N+9wwLz2HJfPdabdB7PGKsAvNPOckJKV2PXgjGoDmI5BRwmy3zXRyLCVfTB7R++BFXjF2tIGq1Jf96XjxLd+EHnPusoP59FXEOufd6nC0M8OQ38H+tr3i/jg4tVb5+fNzfi/jZG82/3HW36OePgTT4YT3KgDGo/HLQCLuG4gGNUdTOWzKLyvMcbymjkH1Dcg5XkgcAenuVDTuEXz8ebzuLzzqGnAszP6tdPVuz9Pf5TkHLX7OAukFz+bW/mW/iLbfcIZHWtWQ+3GMqfYR+5pamTUW8F+rXk7vs9ki9CjzDB9JjXVxGA7tw8w71t8ReRmCn8i6U3PgfrcTYdriuI03G3cnITE5c6DWmgbCtKIWNIa2ABJkOdOwbztBuPfPTY+l18QjOiptlacsDXPPqF95sKJbIW+bnO0HYY5ltkedDRrrcS8GiWg1JXhGkcYQ3QuvUjZzx5tSNl/celZ3QI9fvnr5KtVaOwRgxGP/Iv102Fi13zEG7eHsvfmA3uciZeBpNo+0T5uA5bv1FpGIs7F5Z15bG4t1k5Kq+Wg6zBZ/c5Kyv/62DX0629SxjmUBsLr4vcmWDvMZxJ1n8mldu5WkrB9jf+7DgLBTL9ydNtgdjEU/PL5t/o79pJ9JGkJgsoVhM6+MaF7Mkr3QvFjJC1klr+zVRb+anDSrX2TUUN25zeaacybENG15uBpMy0Cb8KhAhCqJ1qvlKLkZKpAzUTvGNyPObdioXQgJvrc+95BwTVAVMXfOFnpEvPmfsR1ok5dSmoBA/0AoFLh+2NWxPU09rr3JUwpcL8W8wV3xjR/1sahNyfzxWGs/Psdjrpk6gdnkfR3U1Iiyh6m4NNMQjPZ10QC6m3Gr2+nHcVTsqP76rC//jdjmkd5j0PloWuWnn2fA7oi0v3FsBv6ofSB2ZFQdPxvqhUrfl/LowWVEnAebtOwtkT6aEcF+rfoHp0sSjstXnmvd7BSLvMIWHDmqU98xw4oibbz3fZfH4zEt18JmeJThcQbJNu+9f7POGQ0CKqiT+V8NyVknGGMbOtwIJY2JiHszFpbFffLFLwKXpgB4x9mVWviKRDxsvVlud2ST8mcsUa1jo6x6PPV227YuSsHmDKr1Ju8TnD+2AyGfU/jsP0TW+QZuvDmr4hKZixheXfHprJL2tdunwVJYXfwRef6BNhdAA/CEcnu39GvmS19shMJATQAD4vlpasw6t/y07/czji4yTqYOE13iBWGmlzoCpTlbWIV+7qdntsQD3G7U3feBb4+XjM+F2/8pIbDq1PSgqBFqNLMePgU6iggXGS8isz8XfS3T+pPqtik8YX3O5gtvJl9DptSX492F+CVx3lPiTLiOtDxd3/VcgFbnI5TWU9lnanw4mfQraw0Zr23P08ew78Tv7RWnDp2K5Zx0HtBorHT8LqNpmHHvw8fSaTL63YKmYdmcLQwIY84hMb7HQEO5nrm2lW0wn/iZrn5oMu+kqrFwZCcl8HSeO+thuZxMkIf8At2YQx93QqD0nzMZotln4DfUyyw0U8laEJ5XNp0rTeqpovKGeuB4LpxMOHlF5NRiDN6jSx88jEGG0K+gv1swYzfCEKm6Vn1vhoGj8+6GZ4nn6Jg0C526Uv5QV9Qnie7ybG9+JkODCbDvb2siqTDgb9qV6B1Hmtn+swGOsvgyUGEcNA9rgFK+U1MdCCursp6mohK8lNKdeOT1Vfe+kVfgkdkP4HfZn/0JN1MI7gfUYssvs0qdNvH0Ba5nsgw8BXBwnmfv8HzJzKGNxtoEcTz5O1sAHCEhU+VlZ9ub+c6rGgDa/9bzptmAg5TkdzYgrLI2QkTe0w/7ZQRYdkJ5E3x58Yu9KFacdiuE5wnMiJ8JsSXiC6sU2g4IBUgE0rlKZih68mzHB/nnLB9A9NlXi88eg9zw1xM0mcjR8EQ/dkCPG50Br/VZeAP4XHkZ1G2uS7buTD7dwTARB8u28OatOlTPcSFzm8tpz9/L/cQTGGUNg2yN9xZ8B9T6D8ZqUBOpfeYZkNwc0IKw3RnYLTpe9+fJmzl5o+8C8hYJCqrhrMDh4ZNfpe023qOwlW3sMwy3BfMn4u/Kbp/tn022QTNgM/nEtQAzvxI3FVsFH+pa3GDCcOSFzSrbdk8dRF/ALB6sJoW3mJZCrbX/3bQ5K/y/SJ55s/Ru8rl35uEVVKnIxMzF4UtGwzyhFgmvKxrbSnTO0gKKmViSKGAWavi43+DzGqidW30szIzzRmQCEpp8tmLLu+VhvxQCi+y7ueizZsWAwxeJJ9zt1Paupm3P+vs3w4EmzwV+Ls5BBvF4iWofJ8Mv4I3HmQ5cfMbQrsYjrO7b/ZL94yHQTIpMkP1wUs3MlARZuzTuSKWU8UxDNTMm2HDe2VpZAVk7CKri7SdekX7Qb90HeIVW1XulyJfxjhrt0VU73hp7DmGyUI7MKM8P8I4fxvMBiBhRgMExo/BQObHwA4jFc74Bbnrf9xNHr2VirNJSLW8ve8aLCDRbu462fTZpyc0n1+axnYrhK67Xmo/QVhS03u7HE0Cx8zOHqL7z7uLHXHu2dffb3oBYIV207a1nVxZ5KaUdgMHz130Hczsscual0swpjhBsfn4m5GYoSCy38aML7lgXg4+i9O91AoAXtdUgVmsQWjjQVStggmnmvy2+M9SFubQIdEaWXoJHNrvlia+19okZFFabEQNZPGJsgvI/jAs4fJnPRugr4Lp3kVrGSWndQrwS276qJeD77H8JsxPfjWroBa43OS/eoI2SabYhWViEWUQnLDMpN5sAyCycqx1nnufOjDP8V9Xryam3TDipvQ7yFsYVCg+uAFJfy5ANB4vHWwxdVMEZWDYPRF4mGmYnMplaA44B1oXOe+LRGl9emBGtzinPJJi9c2nusmbr+EC0vSyMcec3cyeSPC0jFUXcUD4/4pIZOnMokkbYKYMkm3gx0buepSXbMLnDeviDWV066MMOdZTpIfUsTcci1FA67Uzj15uc/w16x2SYZQyyH8WjLLIvOxdMU5Fo5uTF791ddu/nNI7tEI59EznJvGmZ4fwzvsKoxwsIxAsQMcWynfnQR4yZFzqn3JqAA9zhDq5afJ5wACK9XT6c2090v91fi/jQZR5//B1PxBgIwlCjz2K7bbLdty7dMjz628hTaEke4E3GPoskeq1VpI7+mNaW/eXd/S7f4x2JR1vvtzO9uJY63RFYhW0xZc01r/ugJXRtMDQFy6fBfOJ3WN4mdC36vveCxfJZEY7iExvIoAmQym/lUog4mvUKX4SraGf8VYdPPr+A7j1Q/5XOmxgKbDjhvPTUjITL7Mx8Gea0kza5rMLrcWNeqq8IeNonxDu35RMQsSfEKkCEPct8ajPWxfYxawn6XANmzcbRy9JMTuplk4ABLYfW1PorMKlm5Vvzaxg3+DrMtNylBxUFB5lY5UR+EExLHpKtgHCxz9akzv0XEjChnXiefmXQe2dKRiqy5/xwF8mCxm+dMYhqejYtk3nCvy2eLRWXbwWaES/8iFjLYH48AWVSIh28bQiPOVrQC5umkW7kN7lK6fpwHmNfTPrFu824LU6aahE/qybEY3+8ws2zVHIRObPXgsbgjt9UNvI6W+9MwQ9G3ZZt5l4Q4bUvuGXXupBzamsG5UU2rH7P1KllhgcYqdmizuKPDk61yup4m6X8TubFFcoChSLy+jxza9DMbxFXLD0oaIKMxDsgGo9Ocs67uIZorXnjfPv3v//dN8E4jENkBDpk4qx8AIbIYSvhrTZsgwegFhxwVAH1b1PtqcTLYfuchZ52kYi0yd74ZZtXic9HIJsQcQPeBaO1GifocF3H35G2YEUAWBXOXqah9xJ05Rt+n1m2pgKUMOxpLa6Br9ndeZQ/386P0PaST8JKOPK0nwh81doZzc9AO3YvkFEfWHm1Tc+XuKzZOKHexhtpLaMP4IMnnZg7VnCllRKq0dMz3+FZS6LqAns8XgsIL7O4b/cQ5/B64eDXmpjclvIaQOajS6jhnT8h9K2QpiUMV2jF5zC054MebdOhjM3J3iugC4xASDP/EPsBTCE10ZK8UDO/1+FDGF5N2Iur2AjPb+YJ7PNJPljQUf0sh1UmpHL+MX7vdTAfaGGF0vBv5CNyIHpOMyxrmdAB5ORXuGYMkHeVkzXJWLX0zBdUQ613kCIfSUhsyiUEvUgflnoxNHuhL3dmfonYfprZ75lyZs+wwMb56p3ms1qf905WkI1PFRlixp7Ez8TFh8mekOiW/e8t/hnNztp/i1BAGpO9mwzH4v/E7hmdicDPTR1yJBzu230QAimenzL6SfAosN/of+k3iZU6Vp5lrc0SpCj01Rz14Nvd7yQ0+dj6d/0CMzpNgIMRRN5Zzpqh48ro+eYrmCJn4X7bX2r47RXDtKCymp2H9ZvoMyEk3RET9hbBY390IrCU8sLC6y6DNqxzBtyAotPDGRXnQD6Bf8m/+jKYtZ2Qf1zevvf37d1I01GT8rgT7y53FwSkPLdzIOv5PlIUUhqgzotZoPdyOGPpbHurHuWFP0MqX/NTl0RsTfYSXgDmSHcL0jHvh747zonksySRurMlkyyhD0TJPAeB7in8sr7obPBkjD+yKVkIdJ8ZZ5orZWK6SKaTBexvjJP+1J+59/wQAl4bXoWK7SPQr7kNxvroFo3xPU7Mf93/1X7/+fPTdhsRI6z2mp36x2Wajf8nfQJR2bPFr5RV1bO7a5QyP/OlsOBqPidtyp8Jj44dldkQTdJN6gj/90hAdXgdxLF/C2TAgzKALLIajNqM1M+Ruoud0ByBsODNQXHmRnrSkFc5lXGIGghWU3sMggg5DI0kpPvXvaEdv7++OycmA0XMOi2KIjnJDUCfvUzG2Hv0WwJniso8COcboj5fH5zPu3xC5Gi2gL3oxSqZY9NFwLKqRtLraUnYqa3G1oUVjz9IPanNtiaHYWeSOLYUOgPbM1pE0B+d1LfuVDC0AdMeB+0ioqx0DxdGlBNgVL+CLXDp/0H8QETsTPZo5ueyFn+by9j/wbDPcP5aXtYX5tEXH6jRbKjjs7vcW4O22wsX39nph0qhi7+TNIdG0YX0HAyziLwWn5o+CY+sLgyMXW+3/l55zvcffBAE9e2eRxZ0sQqpfDjOFn7iwIg32DHGfQ9COGuULnzf7vIf+Y+9sOrx7iZ9e3SCPA+hfOQMqAnU4tQHX4/9IXrRySZbwx/MxsPcYY7+6Jxlwfl6qZDf6iaovhLV3G5jO2a7bLeYHR/JMqGtXrrJYB4uYkUr8IxKxJ1Y1PAvowuP+HIW56pT4jclNdr0IhRKcnZhlZYmXw7Kzwur6XcivRc6hdTTuiichQON0h0Fa9NQrCEip6FHipeVKH8AACAASURBVID8Lt9NAxoQZNCMSAtboaYBFenn0AxJ98Gj5Wb3EEwX/wJpFED/d2UrmtCoF306M94y3zFhpOL4n++UTgjo/2DCRaqUVa9OzognXPxmzNNYzMuOkgtkln0LVOmDz4gnDM2xjRkKgQXCxe+dIZgqZ6KeD+1MCiyRWAi8Eyqz8AGR0G9EmAdV11fnu0W4mWVMw1UBxX6OL2Uug49e7eioXBejXWxnTNrWMaDMA/590W6KwkRhpMIaP606iBxw3eZEWFzsWoaq9Lr7o/P0I0RQ0xC3UcTvg8R59ys0mG4OWbDqzuHNZzDu/TNDebfx2DZgqgk3K0rmkc4JV6M1SDciLvfLu2Mcmexy2m/S20EEhuEzyFgI7LL30QaIr+8y4gCaXWvQVjaRu4gcMPlt2+bntNczFMOTcpN+sGqt3T0Je3l56JsqeQgb91xBHm/YWdJZh9D/+3Pv+uv14eR9MjM4QYvvFRCR4ZbZJVLcgneHAs63K7BzY36yDY2kGIfmVHPmt7XhDBl7KLwN2p+71D9U1rYmXPfnfppKQV2Nam/acJRqu8VgsHL+kjXurbcXSRuVgUAm6hikdnAvH7+TImcQihSbP7jh2FONU6qm9EJjQI4BeXcBtibMEJofpBT6crb4J1deKXUTfYLZ9/rcQ+6tni+ZyqswxkjNWS+KxZQ1J2aLX4QPBT0mtKoYYYN4AFfi/fy3YwdOF+mtf2bfd7O8FSeWix2I2sdOrcXr1LWvV9TA8LinIP3YzEpbEOSMAVnWFCaIv09Tlj8vWQZNvH3f3SiGlcnalZ/QAqxxWwEsRc+7n3uFpEjbNOHPLI/DP+QVX7XTW0wUk5lK/320406lfZGmAnbqO7+GsfbbuTOxaTFzXlm7VONDpHN2hheM/HLs3KO3dv8JeQlT0/fI296ZZGryGf0VzUVGKkbP4phbGtsMbZi9WGRWDtJ4JiBRlL+vf+9ynnIyHEtEO457VNLzesinhQOlNh9Ck3hltIuUN4uGu/Qwn/15IgH1513u/WQ80F18FmD7WyNtB65C7c/GLyDJRM7ISDsPwFk8lqNSj23H9nKuQ18I+Ee8/oEJb50RsD932SqEvb4OzAbgSAYKtIJBuEHqbJXaoelEJHSMmQujDRPgMKw1cWjGFux6yIGAuDyHVLdnrynssndnPVgOw86HdiBF22cl1sSG56XvB1dMd1IGFn+0mzAYSJ81w3Uykax0mwpesJAd4HRYB54VkUEbiciNZnyIHvtDHvtDfupPmMa8RBP2rghiHJOIzxWNhAExntY04/cdLAHym9lAlFgotblOuRmfiu8j5gB5n6ZKW53a/f2knwnyBtgM71kIQi2HVKSGjU8OqAJp+HkNiXTx9YO/aHG8E29mQRS1QRe7tZB4AZl3LkAOwZBA4629X/IJcntxc+iiGgvzC/uR55MHU1ea4gYWfDfeGHJ+R/vciIzMNicvTBtiZUAYzN6LTwUWMePVUS7AkvoFDK9QlHZqqcAzIAmGxvovTyhvVIaXsVaKHSVgh0xGsChyT4WoBRfV39Wj3JlbC34Arz1ZQgE7XJXl8UFhwWwGqpcJGRGG98Lo1xu+itZv3H2l/11PkOI54WEHIgdvdP6Atf5qrbYAUGasRcFx+iH7bHUnuRpKRB7o5JWO79rziB3SPOPP/vmuDLKxtrp1g6XCo4EzvmJh08iJ8+Lk3LYjuw+w+fzO9nzZd6ot4O7ThAD6FcBn05yIAYjF+owF8CAwjti8lZk4LNiM3Y/fwfn7HDp7fei+enxderSo+kiMcxtdEBZoLa7PgMiF0pPj20rprrX6qryBU+AsUhQmg5ncynF2IVXVOsaK0ZAF6pwQpAKFmgKotKEvgjprZuYgXHf1DAIrrBapdZF9/FN/TJPHxf9PysS2qEBHoXc1QsBqfEZL8JyHkbloee09uDj7CGY8ZcaYbf7tdoDSsnMfokAZQjNpxcxV8nAgkbb55T3okqPCiKypYW6Yy6B31NqskwWTYzxq9QXdtD93U63Euvgwkvt2b57gwZs/GZLM3QKrvovOoz+JBrwL0R3KdU7P5aO0UucwTA4QyR4lNvQBo1iR0JSZ4UeM8t/pT8/Tz9/h350AiKRiNBE+PQkswrAH8oST1LXlZXRGteef/THhA0rLck5Odj1cxBzC4UnD9xNgGcPE3EXqM385JE7wpkZC8zIRnWkdyZi5p7ll5k4GE6JtbDFzY4xqHY9hH45SN/jrysN15PkI+Ohy4kU3mu/y7dr6Vtvwb+W38U14Aq/PuKwv7zpjEYnPw1ciG3t6rvu7xDZPFZlhtJFmE3B7kppH9xaoFtJ2QMRtH8+3++L4rLfn3uLAijfYN6gbzmZoPgbEJZCjTHEO7Xy5gNrAw+TcZDxBaFVdNQ9EMcha5Nr33eSW0i3mUKA8+7lXSgltYlz8CB9vWZCAjfCcbV0c/0B8Rk64QTvepQnhfRs3BDTZTOHA5vfR/1vZXijF/fj+KYOpYqEBv7oOcxI0PpmT/S7h7sp5+Cu2OJIOTuhswefJyZK1gbvzCtoXx89AeOFktdpj8ew6sJy6Lo+xsejTGgrF1yMV1qvbBZYZf3PZCuy5rL2WXkB7mqHHx77vspd9SBnXfjCddrN+IZyBVS5SfzegcQtLdELNJ/HcFpINP0eKYt9Kw/HLxzMsrXHwvbBdIw6H7nOgBdexQuj7sGiGE+cJVEo5veifivsv5j2wCYZ5J8MOLvHuapE1j2aChVNyLX/TWcCMgcQzROx74nMtU8LwolP+CzPXZkcyi7zCYIh1j0ihmiK+5PKADkpdyI085Fbu9pDim3QeTSeYc87fjIb6rIWnXXPY+N3jkwnA/WNFQPQ5raPVWY12Yw7Fir1rUNZZl3FSmrvrs9+BNdKBfcCfecJA8SCDRRwtLI9tEgJqo+NYtLlrmUZvnvPHFG0Ut//5n/95RotwOoBJ5FyT8mJ0OtZHZ+gptTj383R8dO+BWs4wzOy5c1ZGF5+6ktmJOu2CtQbjvAKeIEzo9PEEigci2W97S0bS/ncxHlZGGziyMoT9v22b3d8gYFZxJJ7K39qk9alvlY7d9oAxw/sHn1uh9gAhZgPfERnnSdN2HD9E4wHnxyZdIlmbV7jhlX7M+C7GWdJUOxGokTHgzSGzaC+h5OGfXEeLgTqHa2iYjgfBspEGCYqHUOhX1Iy2SKDDfurP22gwS+XGXWm2uyN1Wg86IaFcfr+bPMeu7y7+VQKfES+scBfTHdJwYKJAsLSfNEbjIe+DzByn4DRq4QCorLDgLMOvQ7YGAucqfWVsjIwNYk0+/J2/XxEkGDbhOjgUMky8Bay5etWRBqE3sXktpJz53CxJIxGbHlBjwTvo6ORy3iFsh7n4A+TbjDLYEP3dfugUKANE26mLT0jKOjSRLw5Vi8Q4BK2/tUPr3/z3B5+J5/SDz+0ogIwd6IVsrArwOq4MtZj0zd7JLZXFWvgdv/u4GzZhwHfVMYgD4LDbbRsdMosOPAz7ZPIVlNdVsE4WgYdk4sqT1Q4Cxzl0JW2/Gs6ybF+zNtlpBWxR3E78SKq/cEEdj3tRltdjNuhL57mVin6Fptr30Z8zp+mIA6i7KNa8EcWKReRcSF1Ici6hB1vrdYiZ2yHD/X4SO4miiECL2aOAsLDnzqJ1IwYYY33az4ocu88TfjfIalvXN45NOURnig104fF61BM5uItxws3ADNVpDEW3+FnjelL/TfwxU8chtqeU1y1JcEYA5gp0rylmIohqYZRkK1u7Q8B0OFdHk3gec3Y/GJppnniB6lHfjxwa7/4tj9tjrrEc1GX/GdiY/bbL/XnvPnshAa1YNAMOPC0rYbvgZ5mdLhvCSXmPDRsre8ILfpbNBvwNcuuGxJ7ttk0dPq0PEKn2rp2sPCb71BSUDvrO+k7knEerWhOTZf567Ygw9t1GdYs3xk/xOeOxbXroJNxPDVv7dZ4OPCFvsXrPXVWFsn6KTFy8G8wr7Dj2VillKSY+3f0jMnwbVhzdw1e8PsxV5ZHiJt4JWw1RoKRpM2wmGtY0YLEi/rzgDSYKV0c7MZsE7RjyDwEusPwZ1oF5Y0HfYV8aBNLi0/jMiqcOFRqMX50k0aBEA6LEZ6/hzlFrlcf+cHeT7mAF7TSDFY0gdCmfRS5FEK446TJZfa3cAO+RoRS6MlF+xLPng/L8RucHx7PHCTyYPdqND9YVnKSsFEWy8O/MfAzrSQgLa56iL4TnOmv33LfDmYBNRXseOHHn+uJZw1qnHHfZ73+OipM7pAXymdVn8oT24Z+9V3+lt/VSYU46u3DfXuCRbnKho5Gw+5GNLiKnLZ+cOBHPtVbfyfc8QF1l3E0jU60769Da/R2fiNuvXA37TG70N0asax1seg67hjgDq4nGmZcNO3G0AbM5h366Sfd5eb60suYYFBpbep5pwM2AP8t8R/sP7qAstccR9OUnSXdJ3i0/YYut8DD7/p/i5axU3LP6/yliKGvmedwZmd7pQ8aP8GerZI2p8t8cYZRTwO8zb1rm/sxBuZGilHFLQ+Dfr0R8IlKNbMC/QBVmtOSglw8ATzihXPAwW1A+55BhYpTXZTK8oeHjiQNHBjIAHq1OPjfe4QNt30w8f6hq0keW8+2d0JQJuKK69HcLFbdKoS9jgYZITwKQ1eqtL40iujrdM407QWScQ6DPeJgXJQt30Vcmg81vhWh1nRdr53ITZYB+e6ed2Vtp2sVcdDNghveMSZZaadhc2208Nz5jvzcKjgRnh5C3a1rvRpEWi7KLkHdo5CVLVl3YZ2rbe/6AiFezP4KdopQSLn6RcQ5ZUYbIj6bl492N1hi57cL5txn1wzzYbtuBA6AHMEtraAwDa2aqL3+fWL+IcmL7a4ACw33vVeoUe460P193EZo2t2dDbjShjQxKDc95tnz22LFBWFja2NFH2FdIpre8vTo+K89Xn7bvnqOne8VHsUqaDDWd4O3PKuXrfPZe7md7i5iQby2/1irb13HXI+AWOvAOjy/4xMxN5LY3+/u7fDefjva7BVrr3ldsxqFt6BmUIonN79A4W9mch/JnH3ASZhjQTArx6kzY5SKf0yCiY5yKOMkPQVXDMWOThemGqS561i+ZHAFlsRYRtQUgxZ0HtdLZCR9IDZ/xnZ1D2QXzW0IsOl4Ohb+1we63vffcOyFni67MIVMAoLNkBmrITrj2jLELK3Ue7eoPUBfnvS0MIofmbq8oAB+dNbwWTRRn4qMQzeS0Z+z/LGE7rggDV5BGNMm5wD74beBUhrJajKVR6edWW1SFxyjBcIAMZ0wKbTys5RjOVG8uDT6CiWD+GibIhfmXEQKZAz0HxNhk5xYRF8rUQSWxTajSITjCOE3Gcw5lwSreZJ+dVBOVhzy8QxGIJLP4FVDVQYlvc43m3YiA93lWO+jqryJlIxPSKMNKMvuEpmWe3WCZqYHQ7Npdjc8m9NWwy1KbLdkKt6TBYrhrl73ZJtH5diIy+BTMRjNu4U//zHAeAGPdgzgwDnQ2PDT1cEMdnOoqIqZN7oFWunqP8MZe+kNReRJYi9lSPRs/B26iPaNgsnrY2rVfXJpbUErpzshvab48ns7uZvFl8ectxrPAvsxQ4ygw7yWn+TzkEZ99qDb2kXg2zbVQPrVN9cwFaOWIj6vANarITCZsI9NX9kGPIhXpKLSnd21FdOgtXJQZUbTY3nF4WROPY7LeASjt/drbjd3knx3ZJusee/wdE3Pa6cWcg5TcCX9T7W8gG1S3MTJQSX1GNTkx33VTaci6WYo5Zp2KvZlEGYYYCUAHokU41715H7WxiPS7xNsOpACdFNLK2XJJFpkXK9V3dWKu9o8VxsmQQpRFyGTAw00+wN+MvPAhQm1neQafXPyeZsbt1khWRFeEo4jYcGr92wk7WwIWic3C1YtgPfBR9JyIngiEcMNF548leVAiN2CCLnBP9Z8RdvAiYWdajpTOHob2m95kY85g+dGBIB4iC3d/rbNL5FikmdYyg1mvouMYPPZiIvfuisfeMheyUaguT0PsRejN/a4Oa/f3LtC99XXNnNpq+vF14eGhIgkHc2uH0b4hF2DqVS99hzBWudxKw//rzx/5OW1DQ2XdRWRDPqxOnpzCExFf/MFqdGcHrkQVpHfSdBNlE+EkK2sArcXfEX8U9YOcKcFNCMD7gxPRaWq0Y1tgpu7d2iNIhzMEInXWEL5Iig0RsVVfkZzwyu78poC8wc/a+3VmfZMJN++317iYgCNvWOBuAu+ZUsrLx/Gs3QbxO4FQoqExNImni3+RQqSU9bzRDR7oxXLQWcApxnxzhINRliZg6EN4A4tfT7X/BGVVfi8noXPiOnx6z2tftigQZfuhf6M7T9HYHafnGuqvF82umWnIbTH5wVOcE/VpuUrL5wEM6iV4jKPGeOCIXQ+V1IWfcPJZxF5rjwYP8mTxD+UnKVr8GUK4Zog8VDpMLGss8MSjlbpXbHfms5kF2UM8D+LFH/Ggu38k8D3sPGuCbR4UYx4HaNYZaK6UMWci6hNrDXmmo8UjRx1mTlpTAFz1fM+AB9/l+wwFNpOACH0Ezk1FM8oixDJACaTwmqoP61KWH6H9bdma2p8GzDha0LjIrmgEyCebGBjX9vAUv0mzOZy6cOVL+uPwjKkVJVi9c1hKJ8S9xa8RB3KiW/Bti0wBMOu4TkCwTwCx+bSD1vrK3/ZCMvp+fdZeExDbeReF2X6NcDfYpNlcGvdWmxCdoC1mv++9D8TazZH949FBhef7/IzzAZvayIta+9PIr2ey+hl9HtvtxKy3dyCebcbVeXig/mjeRQhNzrHvnq2Tcm+9L2GIq5P/Ysid4ePQcQcukj+NWk6Vn/nviOfMEZHIHgI6fD9nb04zL+cnUFP/FEV8tkskkQIB7zr19P+EVtVnkd6+N3dksW3Pld0/MimsbLhP4CjQHsYyPWchPuPZ2mwTsy9hOme9iAKOr5Vta2gFlh+je8fT/uSa5qaUuhdgRtlQTJauCAwLWffJ8vvKjnpwrpPGojxNJXCi76MzADq79gKmYWXsM76BQbAkT3aywqfZ9liLxTskBMeklAs5D8Y4i8CijrAsZNIiH2ZZTApoAnU/e36iZRrWWuVrdfHPdvkUsmri1cXyVsuJiFWtDA3PWXOSHllBIs4W4ZUDQKz8e+tAkiuLX3/PYNOHexkTQsAiD21qvZMBd3V2cenLGa4bJ8KjtvSZqZ2vIWH86OiPy5vvBDiHc5Dh7TgOt7///rtXKspYwBKxyZfcaT0vfv1DCK/aS0BGxuFdbgNrx4CbIBBtb9Iqwjg7nzBjAaPweyS2IYeLJFYVFYP9bpFwjnjkTzj8F1YmH2ZtRjRd+Nx/jHnndy+sl248ai902WZnH9VMmDTe9UeNhUGH8xfwHRlCG3MneA7NzAjUcDR0beViuFGAf5LCGLgXlgkSiTKq7bt5+Li4Z5li3d+JyManTDLXBwHkTUApIrJJO9TSfGZSX3YeWRlv2YWXSTO2tEsROS+KUc2oSrtMFflifkxNZWHJMDCNyWtLNC+m/jfn1cKDNFOTTVz4RVBJRhUfUnITx1pHneHZzFPARaIuLs98rkiPJgv4/QRlxsVc/MEzGaHphZ+83IhVzAH+7oZLozK2c4NpP8tY9pQ0BJt07LpJXxPShRxFQ6LPvHEY3gzV5ySzUXnsobUo9BHcpIt7R7xG5MXE2V7CTvfOc8smFQ1CYDJhonZkEGTK24xMAQ5/euFWy9T5be3Rmhvc/yGUeYvhuiv1isi5IQFG4ArwS6nWeukdr99n49EuB0WbszsXgEIdwznsieycTgW+sNlhWupQP9+VTuTZ46ldt7z6Iupc9hl4Xt2Wpiq08xBP2PfdWXVKN9/EsQ5cwRx9ERnvNWAsu2b3PU/ethtcmoq8AVn+DvzcItNpzI9n5ks0x+H9DLSaz8wb3kH/04GB2G7bmbd/21/YfCEhQPdRuPw7bckI1tnctvr77avBRMgOOxoexVgz5WUiBRGthN4smytS57keL9TUynr3chOizDPpo7fQmfqBuw288c5qBuw7YYpOY4oWQPfOxXyT7ba5l4+eTBw/lQWNAFhp3PWMKmC7rU2LHXwivjOw8Xv4OPB9dqoXrIgZ6QrDUJJDOuG8WLBbZlDWjGaLgc0Nb1J5deI1U/hZU7H3XR6PR7+LX5z879K+96qwNV6DYAi6D/lG23UanjXU7IydmiVV+b1cg5C/SMiRKn+J2Begi/+CydrsdKefrD5mPxaf18BlfVmLP9yJJp2TAQVldmCkmU23Ur8VN/b+jpxA7tVMRNynnqos8p4zsNtBIPRj0fB5kQ7f4LVLE7pmfM7OPPR2tJmg9p716nHJ2/mNCM0w9yJVXozv0EnoqPoZzEt7zXmO26zaAfKvJgCOwxd+yRVp3FRERLZjYLlvmR/+u9CEgO93GZnsGmGpe0f9nbdWAQ5GnJM9u1y+RV2c2MPhV5H77W76QAYPt5GO6pJzqMRZAFfW/3l/3rt32WfyIz92rvmhqu4COAuetIn6ZzRsALzjFnGF1/7cTxvWqBc95Sxs2lgHuHkRAPpUR3Nl3An7pChX4Pv23fHbtE2aN5aPytuQo02k44Vh2Xx2RymxDwAr7m4cFXsis2d8u/W7pLUDWDFgrCNrCqx6Tj+Siba9hADTikRHqrVO75f3tLMuwoA/D2rtjS5qwQVP59p5xEAfXnwdbwYNtm/p+V0JL3NZni/AK/ud3Avk+R1a0Xw+ET7+wgG0nApeRzaGxJdG+3M/s+W28waeT9jEGVU9sveRWADxDhRNRg/phu3sDp5wVP/Wz0nHVNrJR2Tu/rrjZ9VaGfvCcmJZhDZqZsG9s6g8AEw7q8DSGLFuzd5MyKDfTm1mWr09m6k5a2cFWNI8cnJ5UslTgzmXPDuRurKTHnuLLBBJCljCzh6HZrgH12t+/Ito4DNxWafST/15hfb4PLsiI85iskiUrHZ64cqrE9cjb65gFqT1jgVMsj77/5Fmbdi2Tb66SQxOEHcgjTgw2ysi0seOj78tITBMBOI3GxqzqNYqmrnnTjrFcOticmxutfUY673Lyy/CGpHIRRXtRkLwRvZfLaetLjL4UDgu/fP86bWZ46KUTbZR27Bs/kM78DD6g2pq2PSdWSD1hN+KDIHooc8W12C7h+Koe3turzMqwJel5WbuAdjlpcWa2X513MA8VOWKwMsInlkIkMvrtEwoo3U/g1B+myJb1nVIBmXN6N0dhzUhHWg9wZUFpFfGTFsaFlRShsywDI2Stn2m/CtREP4dza1ByCxAjs8P6Hf2hUyO45phOjoq4ppss1uEPRNuaiK+SVzOcB6At1Ou2hzeueZ4wQU3dqYmX6HVkNVWYqzDavnW8ysgJZF4QbAvxIIlpxxqgQ+g0zCc8bc0oIh03llpxv+0Pc18zR86fnJT9/6z+3aX/RabIHxkmrdJmP6sD2gVxbPR8Hf+Wwv0bCVW/UWMePtxWit7kP9bdtfKbpbFCiBFN8HMeMgsiCWvOSZUob1vhPis6MyMMMLTFZfwFa3SUI62rUhT99+ZU6FJEhT7U3+68/0/UjfRbL14Zja+87XV2Ms5tTUovinS20WllA5k4vkGvDr0boFGBqKqk5p4MKKxGy2rUgjYkCKPZz+omUy67rtq+0yQP5HRpMjkXJj8rFCVUaWl9ns0AHuKiMny0f4hzs53Ch60lxHIYtXN/Wj6OC7QYDeLLWjbIgM2furP0B6kWShdRFxcSHbDUlyC/tR8GW2XO6LeJQZ83r35LnnS8feZaYAUxUQ9WwkverTe6/gEmG9G2mbJA7FcKesdPiwaMtXYaYdkCFvexaMIh0dmGzAKMXnW0jwxvMiHrETEcXXP+c3aamQWIX/WvL6CcbhMhhDskYBJHnCXNiXuzb8SSxdmrX2q43f57rykfCV3rdW8qQcRX0je855TkW8D7qS4MXeaCYCDSs+xV1jE3pU9NNe7qnFUb5Tz4LW5e8Rw6Fmk4xPlA7gouwAzr5pDhJLjeq4I9ixWJTqxR8SBi/N8gXlnCbR2QtSCY6qrk06x1vXRfAtWAboYIxvDc1axFPX8BN/lW+7b3VWD3rLbFjqrSyfGSQmmDS4c7wSXDA3qPdHqjsXlrlLoQRcR2d+PiU8dVRPMAQr70Jkm9g4+I++dlXKsxT+jNqeymaIybhQzTM7rweOndZrwto1QYC+7SndMZoIZa387/ddsoiKy3/aXTQ22577vvR3/9RlnERJ3mrejo/3Wdk2Ka1s7vle2ld/faSyWzerhEgznKvthEA+A5XTvVH8CZoX/1LkHdv8wLwwblzWUrsxADq1GV6z3B+3BcIxGpDt6dLLv+fCcx9W7KofysM8NDcvNBUB1F2G8ywwYZXY29y5jpz7Hdyw1D79rKqGcjqIqdTpgSMMVTo6txovfI45wiMh5DNiVk1EM3qLvt9vmqtSZHT2rCs8IVWW0qa0DTJgwXq5OQM8vEFGkfeG7mXluCgrp57dV17vwXYvfmTbJY4j98AICWSfsBgVjI7hTmbEW63WwBRgHfb0kw46wgniyaDaYmUGxEpYyi98VXm8ufqYVwazQWBRimUSvWf1WVGPfz36LDvKw+hXNLi2jlDIcaGHx4rUlIzhWcRizdyN6t9+v8oAO0/568FmI7SDL6xk5XtjOxuSjdwjtwzbwTxBCxkKLcOgobFKoOoc4UvJPYBvSeITbeYX47GQdj1jzUlvUe0/r8ZyAESqulD4jdLagP00DUEn8s/wz138rXXH+ZgSFx4PndE4dCdbFQQ2PpfUcMo3qyOP5EHmK7H8O5kDobGVru8ZZKFfCf9IHT2kHYujzg2ccXuGBGiaiN8eAxRUtxbPpPNXz7d3BsLGbGm5lw1VaZENyBvFGPhH8fjiRqEjf96gVGHiHK9D0FT8Ah+nuW5/abZ6xCBuENzY4xzqV+wNH3WmZOL8bY0TLfQAAIABJREFUv2jyPc88Ed6ckYfLOgd6IVXN9xbBLBSCNNuVMGvQCu/9U8RIRv575pFGz/YVvt+JIVvvZjSWqE2zNpiLRH9f1ARnffauKm2Ge4G8lPKIF2/Hz/D6jgnMTmrms9MAIjV3dSdamdR8h7urSsI5Z02I1Lk6taK+rx7ukHHIZGglNJhe/Nbx6c+zjMx4az/zLpJ1ImKmpEWfTgteWVhIVjq6EkdaWv9TRCZDllqOkYOoP9Dk0vcGWrw8tPXSJxMwpvbNJk0d1IgA7y6sYcx2Hq/jru6UmfeyGsgnnDtKloB6RxvIaCBenDzbrhX7NvPdJ/uTyfNTWOQdaoufrWp31uExS0fKRWUbvA5nAnoeasvhdryQq/yQbu0IrS/H7i0U4oMKOltbbcbbLvLn+L3uw90ALNiGBXSxP10fiBXnPyItiANQX4DeT893ArYISoCwxPaYFCDrMBrQOfUMwAm2d9j9uRvY5p/QVLOs0rQ8jMt7Wsiqptp23QJjANiTKAPTS2NGsua3WZ7XfGPH73ii8dX53zneYQ61Mx8PMp2AM1VkFiv17B4OuWXKYBpi61pF4qadjhcjrJdNRY0coIhD6L4PBOvs89UdPhIYUV2eOWPtwPiZ5ndgDvw0/GqYICYslp2OibJn2iKbCQxDX+1vTwvwwpsrZuZUkFn3DWid29b6z/VRYEWmvek493ACeA3C8FDW1ovqMx1neKRVPZ/Vspg8PPwVm/83yVMv8fuIPLz/qqk3M2swuUt/X1FTM6aEx3PGRFSKxo1DkpkyPnF2wZBRSFBzK5zu1sdW9jbC8s2cFIsZK+PPypjDhdhJO8iyizLt2P70ziFILzoDRPRJivwNMxMqosyOo5MtTOixqMJ/qnOmfczs8nf6V3dCK27dgYmM9np+C27PyvyJNovhWWvhcs7IBNzklYXktXPYcCcHug4CErSFKQ6g64RyTnBU0bpcdZZEt022r2vHSXnk2X88iBHUlM+2mxEvfs1ZYJ9Dfdrnr53Mn+WhujmcSQimDecqsIrPaiV78LN0xcE0FV5cJAxb5k4FJs60Y549h2VkPpjtfopsdevOI+jwEwYtRQMc4BPjMLx3zbqs10qvEbfcj0NofHkL02NC7TTs1JRPQJ12wc7Vpec6YapOpTEy+TK25wp1u9Eiuos/swAZw25Ci2KGurRgyt6zs9Af08zRxj4dT9u7YvMOGuiFSMfMez71KSz6lFw+FvxKl7z8eKz77PVNBKfYF+8ksxjvFbUPJ2IGNdfU00O7sEyP9iwt/Iwq94lFICLuiTMoGD2y1EgR6Y/nMhxgTaIX490Jz54DKrs7epGAaDzfPfTCghFnaRCA5GQME93o5h+v77zzF1aFrUWpNk8uOp1pVM0E8PDWTNqJXgy8lGJ3Fqk2nDbZdhFWbZ2IRHRwaUQYsrnq8b9C73j1LZrtGJ+uLyo/oquLwDOjrsbBrbmxcnIQ5wTMnvG+j/oDNWXzfe8aPWUf3nU3Lny9GD4AjAO3XTWR664MetRw52Djqv283Tbh3GjeYby6XI0CMdEXpXGtdfR5IA9Wv0RxcYOaym9JcjwXgfABzJPn79hks0NEx1kHgx0e3E2YWnyBzb9KGR+KRc1fc9vdsF57t0yEqXeVmj4anDu4yeaeIdieIVTh4EPThQF8qAa43baxfysIkmoIAuJ3EAAz9THaeT+NUprR1BwpIrK/F/qyohwi13wJZv9gV9PXHt/MXyklZVpF9M7Y/TfJUsF1Dnu+h0izGDaaL+jTiTAbnHN0OWs0D1c2KXRGDpeTUoKXN3+VBidgRBZwg5liGgaIbFwOR7Hw8ZxgtfZnzkWxf4unzOKK3v8VQg3J+jrhIb8iBDqhPzlV+TdpxRE2A+xkBRr7a4Y2e4614/Ps+pklEGVDg+bczTj/HJqGARnX3E7dNWKufGoqLm5z8gZMNzVmE3k8Lp6vPkFBDY876vUnyJqQrgR/k3gXGsgaCuXveZqBHqoxy0MkZN/VODL2togRMnXy+dtn1rBHQiCi52lifaLNIk7UB4rlfpk5sb+8Bg8Stko7jqnbsYPc++12Hj4h5YXV/5bvnqkivR3GZwDuYyM8EEi3+6mtg/1Rz8/bwtt8UyJMBz2gx3xX4HS9EG4C48zbbbPv69NfD6FoOWBTkwvqbvhww7/yyZ2/PkmIPI95dJzsg+1HvxAw09EmWz/hCziTjeHiBTGUP6EWN6+2L+pGEnYv/QLdblt/QQjhIFrYW7a24UVkhY27sytvB3+F/gbIMAqPL5H8bhfaTgkb+bt8D5MrKxVn4ckpweIXkVDV/g3y8ABZajuac0HIlR3m10yZg1LjheNycUx0Ed3v9w6wZUaQsIsm7A1a7eKJvxjCnPaFlcsCl/Wm6fB7dW1DocMh46gsRL2xx9nC7FvqhxJfCKLwRA/u2JX7hnPLPHTUobT6z2g9ev8qXVH/l+o8NLQQfvqO216kjWdzyOEBrRdpxrPIqQHe73f7gV1M7coq24J8a7sy81V5xt/TMf1FITj0i7KG178FND0VWOkTCDu9Kql7tvTOK69zLYfflJwDT5EQxYZ/h0QgnU9SZif/pMd+wN+/qRllhbpJxxi9Yy+74zcpDjUsxiB4aMgVyO5Mg1ultPaGYUtjSG5///33s4O7ymnziJw2E9r5LgO4yLRvFHp4lNfuKPN2decEGyQLiDT4AGRUxTqA0iTdOXWhhcQ2paf6dRPHmUPNRjf6OcqruJd7byNPwlAoADxMfEjMXkbrT8CrG6zYmW+6q3Y+qKN+1UC229YvODY1nLnFPHqUxUUw78OV8gd1z3lnOejFp/i3QdEZBfjMlzLSNRjVCPreDb94E2Xvf9dkGWa0Y5bBFga5jkGYMJyymZGaSzvXxY14dYezEn+0Te96lzG3w+VXD8r4h8OCIv24plJ1q2NKJbU2K9fFolmfZ+HVn6ZVM9LnhE+2IaYvhatWTfnkWlzNT7CwBai2huUl24D9lR1wVhcztu8KuWi0d3wscvLJdvJlU8Cpg393zUWr39gJHCH4CNim/iqlLE5ByXKQT8fV2/1FGsrPWx+1Vnnsj6YJRecWfIUDBFcRcye4DCOTFpKTVPUwrRFZOw78mGXL/SN0g5+gJYlcxw/w4rdolh35DkU+kOzO7+2aXp9ksitXr4YbQGW681+8Klzn60xLwjpRcESkmtwKiC1DXk6BZToOTkCNs+773sdY21sisgUTFeKMXXxSTtufnYAd84C9329wo8ztiBmrpkd2+r6/vtMJw4KiTfA/1AlwkQgDmUTsnaedS3crg0mj9c9wC1PSsNDsVf5+k26ytziwfu1lIXrFPycmxjEf3tXCrO/xSKsWM7/R2Fbp7jfknIku/10kFgQA3MFNiM9jQIp8SrXWhqnhci9B3wnDISIDkMzkAQiFeZHiRwFYGnXZfuA5txxVnkRT+C4DiWZkpa62+nnRqsnIJsvCBI18BqvZaZ9CFmIfhGcqeIdFiIQCxetj628RUnHJKZuJe1tnCWB5+FPL3Pe9x+YbNAhedUKLnG1PRDpWvPafOLV3eG9yVbolyPEz9dV1ICSDvqwsM6XIJtZnGZYYxTyjuoY6vRNToKwmaICHCA9faz1P551QZvG3Z0EQKS+8CFZCRtHAfwIq/Ikyrwo07hcvTdcTAoNpSX+7wjuz+I3knVl+AkcNsr4CTr+faQS8AXh5BEoIQkL+2vdHHzcNAJkdwmmkak/TfmUcgIHhwNNvRQZ0USHphBgO/AhOHUZgShH7TruI9+5zOsPwI7TJ2TeeR1tGweuSg7JTYNZvoAFngs/6zNoULBReF3ZlGVSltXN/7nLf7na68wLWAXEN1kJdietjPv80qjbZ/c2QrhH2Vrpv90FwbNsmX2iTtF1UXzxURgsS2SDAFEduA4Q2F8Mcdznx9IubD6uKaJIgNR6PetWhhLfLVqndXX2WGjqkOpdYg+l4MRyh1l17wyQwVHVPylsT0DQDnvLqd3aiBpgCBW6JyHBCThOck1Dt9HyAcjrrOPlo2zb5+XMiSLf6OtOuTXDC6XfQ2SLyuD1k27cOhbrJ1sfSJwCxgaB85dFLzBERU3DwhmOlEXN9WUGt/jI9B6P7HH5Xnr+Gl4EpkdHW8xrBQKGQgssqmA+LN+u7Wa41DhQfLGm+k0h1Zr4tivIn7MIkHWr0zKRS/Isovff03f8GMZBHP6u1ynf5bgv4p/7Id/02SvBJL/xkKHqG2KO/bVsf5RIZL+ag3RcXP5oUIaGWQvkAOq7WnM8ICYw2NSAQFjwU5nh4dYdNq75WWPB51u2Ri4abILbwcNH22W27DN5Beif05moOKPwIiBU979HMRrxEoJnMJrLrIyJtMtKmLPPMM+8GE+F47SEvJ1gTJImhs5yabZ6TdjbzEzBoy3tuIDTdAiGAf3dkJBJZ6yh1PbilGrsULPRoYkedwz6B7mBHSzUO7iLInBWfXeCm57z2AJIIrMJlZOrh+iyHpqrUM62Jy8bzCbodk3a5GbIyhLheINQCPGqCRJtjVPldvm2bHeZndz25t8FBiHBFa7q0cZDPAtGtLnbk2T/v1b/ve38qsEfW8dsiY0hORExphYwNqktDepb2N+ZJD7Zw4DRIH01WzsWJC0jb0+1KxRdO+v6S6lz7Plyx7TrnqQoaRmy2RPCjr7QbnTagQN2eW3sfMRwi0t289DaxFx/52XrBVL6O05/AF7HX/WX/b3LeNSmvNjbYci22j+QL2qIaqOyhQO18WLX/qSYGUhSyHTQiHSD1S1i3+x7nOmbx/Zb218yGW6+NpDQApQFlJbEK1xpghAp/I5xl0kKuubdjr0rud/H5jQxnziqlUJwHIYLMHKNFD7qIrZ5mxx+BNK08AP3ILlLL2T7PXBABoYuCLMi3b7s/ArKw/eoEpLBhpl0Zn1Xm8yH6RU78QRDsp0AVOTTlT4SBGJXH9FuLXQeJQSXDIjYm7RWHl0rRTJ9F5e/73v53tBD/z4BtIoomK+IrRCT0Rejii4SMVdcsTm3V0zMpnfbgQZAHLMsupoaaFthU7wqFAC2IxmFfWn2n36+u3f25D8frFa0UbcJhsD4V4wZGmPiQEXOBGNScTTMhALQy2aJOnk0a1JL0J07Krl918etHDuT0Cs2EET9ntms7edP5Movxe+nZ7XsSplZkyeQFnXCGww59MBmK2qPh056x/k9cM94mwbtx45nKmjmJZ98jD1bdIv2Yf7EE7mySxtXpXVUVDHegDhPg9Lnn9BqEC923N9hwxlzm3bC7cKSOwKXurH/m95DGZuTBACj95/mfcEdIn0Gnqj7ZmD/PE7DDNq05GXhCrfoogFp7UTPpInbGoaGwk+HPgejehua6YFPRaC/b2PufXb7Ltw38gd0Vy23loM8JIhwNerzReiD/hdrUIQQbyDKrOr8an2+AFk/Z+1wZxdJUWLc4VoBsVN5+5JhPx+dfXWERIWAIQjEzKW99/hvos6G+AA0osubDSBGuMWvTWoAFI6HX9xJb6KhNRB4iKDZHeKzd3lP1B2EC4bTQHjayFLuo1J+4X7yIRNuxj7DkVTx/5PDznvUEMm5knlltjg+yy85KKFtE5Ft6HIXvBGRPraUVUniQIwSpmLfliDEa0QZu4UZZz4RAu9Azb7KDaVdw/LQ2aC88+QbQafXZKb4d39cFu8uSA9DDlXSnABvkOsCMlFxGLaJH/l3B7gq0p40lmfW7Zcd7bTXns9f3ztoUkZbdGM2tdh5AG6Cb0Qhn8eMC4sWv6pU2FBe92VG/dEpvxo9wZbJofynQZIDvOsVZSRlZBJeFO5iBTzoP+tPe5VImwqfHxxDuM7K0AcQIPPZHb6JY+QUGiOYd3jv+kuArFFSRf2041bgm+E2AyJC+BvtIzk7etq0PuyhQohyMWJO8vuxOxdijnd3ZhYgth8nFu08XZjEW8+P5OHMKnGO/93ryquf4Wxh49Ie4AqH2ExF3hP25jx0P0NbXn+fsqbWKfJHPo1IbEQTyHOPaDWuuk0Wx42UbgC2P/SH32/1lRyYRfVHozxJCXX66dSehfm90bxtfzh3BEBz0r6rMV0xKL5clQgput21E11m2N9jk2P/Kp4Ud0Pdcn42BmnU1aDmfnfVNOxOw46NWVzINzJVY/TEX0mQ3sfwF1jFer1/isszz1qFcLwy1AtvsnJBovtBu1H2/SolNusOqa1313CXv230aOjMJL5Ugs4lzRbZiq8gZ6jacQLXlnXEFAz+jqTaomh5qfJYjOaElcH1WklBHgAlhNKAZWZtEsGqtZxQAGcoQTvoMqIERgVmVMgrrtR1Pm+AgqSKbXCkKHZmwWSf89Hg+Ts8teImxHK7TpQu+hDb5jkn6XXqnD2ov2Rj860XptB8m09TaZAyhWSyzANUdP7JvE2VmyRJoKdMgqoKEQBTuVJrWaayZ2S6v4U1rAyrFOBFomBTGIKzay4hQ6sAlx6SymG6xUvUU4ylEPNkSC3zGe+fQdCCXGpbiwyowGvL4Y5/A0uLMUP222em8NuPAA+3C6sXuFmcRkU3kLvd2Ksx3+TYnmZdY04jQb9Y72p6M7RnhBwYTKFHWSphz5mScvrcSUQ00AQsOb9V5NVcEv/PyRUwBMNBhh+vuhoOH0NGIAVOtOuKXgw+ikooj/cBgfrgI2ZySAC3NhMRNTty5oanoRMFJh7//S/4l/6f+n/MFyOe2sOnf8t3vFHJKbLzXDZ20WzkXmvpkROzdYL+9vm++iqNIxnVExFiGzoEofb77Vs5j4sqzjOcfzOqiu/9K6cvY68u5vJVNZD+csNGY6qvahHLyLUICYTOEH4bkMQHHsPG7/mVBw+f5A4WLXDdJR7B6QkI/38omj9vZR7xeQgHAnYHeU87OihJmBqJF5UlxtllF5nHfqLw0BZIb60Bi1J9F6KVWoEl4wOpBiFJrDk2vGgIS6QibgvE27nyrkNzIZEJ8iaUBZanzM6hQrPJaHH/sdyLchTU/dDwiH4ALbqJs1+57Z6y6sHYibVdphqfhiJuI9H2kPlg1ed2aJLGbGpRaeFSr9c53+Zbv8t3ue2tAhpI7EGLZTGHocRn5VMKsQ3aCeWmrP/VHfupP6NMYUJlW3kF2SHSn88bjjfwI727If5RAkGbyEcKiLpq0yEfo0wrm0rwysTMEncW/SlO2Wrx7crooEmPexwek2ahZ0hz/+3a3hcBRXjSYqYH21gBd3IiL4Iqwid65ivr7rXwBpavAGtQIVjWM8J1ib1LZHA3r2eU2VjkjTVfuHtB18CGcRYixgTqm6cDYEbr4PcdFNKiY5398cHbUNsY9WT0bDt7cRf7z5z+mGrY9t0sd2SUgVcOrmj2jXwybjE2YAwm3/dle2PXDDND623OkxrV4/76dGHA5bbrGM7GuGkkTmpO7F60J1DkY2WdDNvvgKPwz+gxm1GlChFfgMwn323FUuDqL2adx7L7NfqfqO//CguBtJpnsfZnPHiPDNne72+Jwgt/lfvJx5Pw3v07QVdoehiIPjutJLkrLBfAamKEonBTGVffTiaTPhsLkcDb99a+/5OfPj+txn7UH/RUWusz0qP8CPfZH+uabNuEDG1AdZtifocmku5f0gndmZ3bfL9/3BtUbdvgnqRvf53lFlvbJfTsjJCtnBqJQ7nAfqiVCGHYgdOhVRyAGmkTXZyyMnQxEHVvL9/GFSQfWaT9F+kMNRXLwWk5s6AYXpNt+OyHDPAkt0MR22+T+BZhvuNknmkDeZJsdc+5pFJ73NbOL4KK0oMEWveXUDIjH8jI01uh60zFazr953vE84Y0FtaLV/sDx+qk/phCI3vXaFmqcnhBQfATeRMT1WJ5/+pv7i2HOzKsFdvsyz153jv3CZzLkeuNZLX4GQsDZYVQIYFzeqjdznBlHMIZF6AA6VpJ0smSG8iYZlt6AixgmgEhvjoGKjZebLNMEtNPaYDQFhbAVTeL2e+1eIe0XheV65w56qNjOBBBxVXYUNjNqpt1TwpOKlK+onAYAknj9fnlfNDLOKPfIXPAUd22hEiONeK/76357YrgLg8GZZuVeZH/s/dnsVP1wyww6XHYZ7z9ktaps9iJqDFJdkzAl5r6LjFrLIGCsFQP47/32shm/y/erj7n9Gq9W2xgzxI4yOp+Lt6jqqfJ2PKP/op5/MzU8iPRCdgg1szYAsfXWdtUewRfCYCXEJnA7Gk+3PYVUZIGD4JptP+dmlXra8NCGIbuynj+HbD1eY4j1PzA5+/N0Ig8+BkKrDm3hzRLDUqtqVcZ3YIVoIpUbQ2CzOjMeZbQDXy9JF1pB4eCVpyFJLZMJIwGZXckTtniUeWp323reQlK7VEbNJTKdPPX3CpyVQ6bdexEKj8fP4NGzfzN8ReT1TZQrwnkm7tkKGTIS3My5AaFG9hVFVEQSan3ArJdEM9i2xyBdiR03WDDVse/23ecZUE5DbBn8YJlXLpRYJYypq7ZjxrQxFBl0Y3bwvefaWMFEy8bYrcnnmjCTeYeCxjueG/srEpyMxVeTxwO0WX+zxx3D3d5zmbRjdFBmabZBZMfhK2rw0OlkM4rY3nWLpqmJiQxB7y4/pKg9A2moxjlOvFMx8bUJD5Zv4Lt8y/12l8d2OpwG7YSo1aGPcJXZVFCHVVTJkXe3HOn7KCPMPSj4ilM2Mi2jHXhGYYTq+B6d1EwZJ/DwDPlKhrmykCjXzDhizdJG2QRTuv31v/56djZOGQfZS8XNLv6M6t+IG4TFFmk+ApVwDGPd634mGnEZ2LnHQGxlS/GHfoiuPooDc2gSHasIhW1qO/sD1C7XQmGB/9Sf3ubbXtgHz+lpndGIk+KxP0bhMFFNMWypvhdL4LXPAuEzlG0JRAO30E3spsqJi5obEJ7Ixx86T4E2OF0P3glBQ/t0U9Gd33FCm7wZ5PYHmwbGeQlIGulgATBNBops409T8/qjl5q8q2leduk7ZJPODkb6JOTZw53rJPJ2J2uHKXJ6cU1TZBcXR4DjpuoxqplDmiiQVZcKLM/25d3GU2ez/abltMQsWljjw/bHFrFariq8lyMgAgsV2LR21IjHIYvzmbh+3MNkIDgNfmoyHb6LTkMWcK/zAGhMZqoRPhfRoFIfO5KZsNC9KP1ihWKGDjFQdGYoheOqRV5IxNu8nR3wg/lwsgXx7yvEE2sIU4EqmRWKOPE/Eb70ToGO7N6Z+YRU63EjUKYLJ2HIGXEuiKXxXSGeDx6WIbvmTHLa3jICDQ1Nx+HyzUAiC7vxhDphYJwaa5G7E3jvWcc6y3yBvhNrXqH0BDCENVN3IvJRZJfKChNidUxntnCmvyIhMBNM5sZR4ectz4+avCvzGMfJ2jyzhLuyC5izCG+6QtOWhMCguRhUSpGvKtVFca1I67PUngGmAbsOn3V02DQa91cVVHfBhnGm9jUV6BAkw2TATkrs/kNuuvaHFqt8Oh392M8zFMzJDR/t+y737e5OhO/yLT9/frqz6qc2JNqill+EqHwV+a7fZrnoo2jFkJnBZxg+5NGZIKFD0vAp7VuPWVDqPPKIpuO4OPmIipT+7kmDwgSvyXLgMy6jcwCUnxA1O6Mn/NwNXAHzB5iZV/1vEMM29f99u6/tnJRph1KOFz7GvfWzyE8x4yPacax3LWyBd367FZGwQj742WN/hLYhnmNvhUEj82PZ4fRhyoSu3imXf3LZOE9Q5cfxxMXPKvry4qzjBuRFVH6bPLDXl7fLW5hsLMjd4Q1ARqe2zVIm2U6fEA8q2p/NjpvhGCgsoz8tKKVVfyvHIewDbxJxvBt3yxX4Z6uTBNSsXkvQ6Luzheui7ug7D3xk8cChrBn8l52QSLr4tT3MXyvDEIC/4QCfYQOWTAEkOkUbebfGoRTnSDBv8evfuLtZHWiFhJDJFKlW8MwdAtIGmHZWjOFyhyhZHY523mwScAiuwxWg99oQNPgd16NREU89Hj4z5gyrwFiWLgwPlst8WjRM1Ikzzqoru5mIxPZ9GgAF4zQLX181gTPkQr0dmmJpgB77Y+7/ECMMOJwZb9j0VsfgDoaqTtfAw0kTkQ7i9+37ZR+zY6OedX3Lt+wbqb/k7IvsTm5Ls2GLyKM+RPO1ccGod15tSYt/zQf46/5Xu8e+le+QtdPtz11kHydq1//QH7i4Ixy4e6jqq2Edle1o+/FPbrSbaJlqV2OeAtzHMGu/xYtpq9P3rWwKsaLGpd/r+810/GNkzxXpn5deMCtugJ9vZMXniSJtZthgnxRJ2/x399oD1zAMiNSZIVwITqYs8bNXQijvhqYiVJ0VAmkn+jCvvKFR2x77oxMYkcOoHaTi2N5oy4uQ2p7oC2uMZnF2D72mk859P7G1eb6Q2dhivcxH5l2LeIGo72aVeHyxryyyeNXnLd/PO/xZZUX+KAbO7ftumwD6sIjjoadnp4yDWpgN0WAaZafCO0Ce4Uy/RTJhs6SBrByeKXK0oX5LKXTTrIxAndm5BLozeKjMWUqtiLRsRWsHauOyn88OPEgxtoyRF49YG/O0yOkZDchTYtF82tnWbGinM7wdPrNWhmcCqDf+bO9KCZGPImR+iYwxw+xOjFILE1pUSq6iwf5b1A2Uk4tt2ecqUa2F+Rs0s5sjIXiFx2iytkl+mCcZzVG1p6kj+UrC2KTtSnym5ExbZSczlzuby1j+J4WVif8wNDlPS9T/XyhxELXkXf+EPoFIorXFjxjl4w4/9TOoDaeq+L7vZ3y/HDagEB/sLKMx51x3kYntqRBh6/QVx1+B6lb9U8OMwX3fBwGLTsJhgOBPvWhjr/uZ42CUjzzv8vJBfJfv16Lf9h6zQO2Y2uXBiUjYvtB0OL5qsN4EIXR1dmkHUqc9GCztt71hHZQsLIzW93ge+RIN/tH7aDwN2TJBrPwAJo06zXAIrV/Zx0Jj3GkpuGw0BDowTgs/kkgzVFhk83R23kR953hsV5/xrhVrH/jMHIBC1B1PnhHdAAAViklEQVQe+saOH6nxKR4T1ITSLt0EXqFZ2NEK63mhRk/dt563tMpV/lafRRxL9472HxHPZe/7rC/Hwxmok3JwVtK72A78GT0r4hwKyo4PlMA4cBjf5t3EWvhqo/CCXrHRvN2m1tpODfY6HcNy54vweyJEmfEDRHFeDsN5ZbU+UX4zcx28zlHodLbrr6rgCKJByuT7M+Hij8phFZffmyWx4TyyQqyrlJnH6gOJnl1dD0i6JjPjoM9McQA4uO5JNhzTTjC62tHWzo98WWV6UrOjxFnu3g5tUaYvsm3fts2Mq0eTxDvbbsYTUzQJuzImxWV3cGvhX6GMJslti+bW6wV9UIZND52mPC6ciINObHy2E0Ag6bNraeVZ5tG9HNSSIt3LasM788TCfhcpbcEpDr8+T9VHbV6u16JooDtIKPJXZLCZhhipADgjwNpjmMpD4M1oyO8X6c4nEJFXnkE9JxLvfEO2mbz8KHr/gLbjMq3G8YEa7twow92VSAvb/8TXdQ1U+4XuITnbMzIet97xVIBfS0NUzMOfVztLNTbPW3/WgPJmEfpMcH21Ob0oILn/ud4vTxXqCuGEiiDmvkpXJL9ljmBsXmRuezUVGZ2Ah+MvWwb2i54uG0GHa61dePO7fA8XWXQ7CKL0nNTagRe6p66RdZDEP0iWsFWaObxERq3Hs3HdJCcPSVntvvVyArpnDKcb8ultHp8OS7rkXCmG7e00AEvSZiCbFr0D6nkxI6Nn1kH1dfFjwP/zDqDtM+1jQ7p7k9YyNTxiAfctMax5ttt55lMHseW2cKLVlduTfiEtOjuf3l0wHOUKzRvneLguQhb0RbRe/rGFrwSnCHvU4QBE+sUUqdmYjSbSe96vLH6zPo6QWd5Wh88lPwOCfSLen7Y/AFVz5sEjvSy0eegNgAyqkPg5e6vZZLD4js6atwjbk9WILPJ8IuHxWImohRdV4M+shey9p/wtLdwC/w/SOflpvMu0/4OQLY+D/v+KzvxDQnWo6xCI56dolgtAZbVz7WfquOKgj8GodYztNn5vUJZRLKfXtt21+kKxJR5NrvpSwaQxcc6VQB/AKiLOnHDPse+WrvOqcjr69Hc6q57rYxqSwdSuld6vUUoZ71UwojbhwiJ7t7sbT008wvl39w0CJkCjVq0dW3+HhOdMDJ3FMyXAaVpq8Rd4PxgH9Fs1E+ATnnkt5xOk6jcndbgEqq0LSqGFlV1gFs4A+Rx4T4SiWPCyWdI5+RwNI0NWIkgEAJoeXIkTTU+iERkndtLngJmQaMN/Qu0fnMpFBmAaR7zqHqP7rMW/GukQGedNRrtqyWoiNnBtl/BgUL6KTOQQAGwbWUxbnXK/3wdM+ycIvfje5M/GeIeyKR0VF0P7nezkT7SPwz6KW9ATjNSJ+HjSqcLP8XBP5T/0F1zYSWbY9W6iFzG1p04jKKDB7b2mI0XaZPXSoU0eD3BQlNff8Yq7osEnL94hVDbTOKw6gT5tBqTIExKGcBjCgJhQsuqhfwfEsEJmp+p4W7FVeJ4jCK+HoZyEnYzOwS61MhFFYf622yaP/SGP/SH37T58by1+/Nzs88Scy+aWL0d9CLg0RCqc/kUhgPW19PBDQ8IcBC1zqs1h92jU5wJlNcbIz3CVhnwVj7D/jQXPmvXX8OLzZYduZWsqEy4aK/RkAQyyhNdZt3KfY9wbJTKThmxqrWN5jkrZtAQqb+bPaIOrj5WxbN6duh2r9P2IOfOdbwL4ZAptTD2jMKFS4jPZCyxdVf/4rvkXWBDw+QnWON422e6945MFrKeRImx4Fr7rHHaaY6EagWzduXla3kyjNM+/ADqx980BkiOtVp9/2sK7fcbVT3w0X/ryQLypEABFpJ+c78AXeZGjAy+zq3ZlGTOLB3CVV+v5Veecl1yVsTc75BkINO9dC6duaRQzvk26uJnVWk/NKfAPXAIbvZuJOfFXcD9fwa4wrTh4redRA20bZcn1H/qBSmbxWzSbQCgwMiqQJbVTjbkwCFmeZn6GbB/w86vt8p7P8KDPRe/w7h9qHRhSvMF/kQHppuXoQaezxb+CT0BTif0C2fHtyFCVmboxycw7RfSpv+kXQoNK3Zh5JkI9x0LkJUQ6H4CFbOIKVlR9r7FYBv+OxA66jldnADzevF3Xe96zsVfBHV5/tQlW+me9MjOgJMRlZPlb4dkkdbKBUy/UcKKFX6RLFpv5KaIYfyZc1/gXOaMaF8njdZjTDhApQkp6ZPaNB/QycCalFPkyz2CDjhjUK3YsOFK7qag36XIA9Fy5+jyYuJXOThwY3ujv2vMUnRk3I2tisKd+RoMwSZwJh6Q7l1fXv77+JY/9cd6HEKi8+20fcu6nPg3MfTgWgXu0mqG2tnsYnHDgLnt/iQXiCoCHtglgbv7el1fl5bNx/TnSC5BWF42J5SNqfhiAZm/PV9+UUuTxeEVnop2fF7DX9zrPhnkcTLdoTLjO7lnAa1hI2l4DyHr7xb4TjamU0hZ693nGxjgoA1LSz7O71qefc993jtBiHAEf5SVyLjY9VxA/V8LnZ9eYr6L5pr4CQ/BrnsOKmhvt8FfNO6SVudYX1P95v9+bEGCkZkSIPfH4ZGHwLlmH+njUnQhkea+VGsMKtskKASnds9Y774QPV50pEVnOndCjT1RrTd02ZC0u7usr/fFdvvvd3CFXGBTpkXP4jtPHLHimk48+bjzQTjz15E9o1ZnYRWWIvr/h9CBDSKfLBl/AlfHe973bUDJ5KpZjEPt2SAbih4bPr0rUD1CTvAjc+cDC4Zjy7DmkrKnA7yhhnZZw8XZ2rnMI46ltrvVkdn5Wl/XjDwnYhsQzqHm1pU+H9gTBzDcTkefVt/j9/vrudn+kFXMAn9dcAc9HYZbnhOIjsp7lv7/elbQad4/yvD2hUaVKeZbXrgnXeCvjtfZaBof5LEz7SgcNA8j2677bZ7Thc9xtfFswnHHYwBlKem+coU638SCepmGvhXPp8Znttr3OoC+koXhdeZTrOa8ajwq8SfhDLNLxxHkagqCc8DW+3wn6Iv2cwvESkfvtLvLn9fOn/Mj+2OMNA9GNIu1chlb/n7nwYb9QJ+iepY/109wxIzhBGrY5vO/avlnyBMM7wCKRdWFmofqsAeCOXNlJTJqEvT6NIHPx/4aK2GkpE+0hOrOu0c35T+VYmme2H6LwH39nQYmt/0qK1kxpQ3hBqhNO/JhWNSEWmExhMtBK3NINgyR9BUyrjjrLfPEcWZ0XVr2/ZIvOQDark/PFiIy7oKFNhCCfvd9RBh4c+KdFnAPxjtB1CZuBZslRTYsiSBw+jBb27F0mVL0ZOMb+H3XChk7WC/gF5DUTuvYoC+zyqPMB8MQzdzg+dniyU6wu/quIvejZ1Z30o2CNTBOM6rz2RIkwDUEZbNjmMWg3+2z86DQipDA70ksb/hCpGv6OH8YDPtXaH/l+3+5NhXcX7oUzFwZN82JEIFo7Xv90UYDp4hfpbHSkNrG4T6gtLHE1SqC/e+eYt+dveQlq0b7vr8y7yXxp9h08hxhxV8tgVqyMLKyHvc7H+82ppxoKTgr2C2ByUt1Etvwk2m+77LKfJxXVfiJuZevvvNcz8AyNTwWQC1DZ4TsLNwAaUrkd84L7D8ZDz1TsYvdJkH3zLXz1p1vLn+P7vZ4HtiCLX7BJKu+JlOdWPrqSShHMNkzNZbb5nahTa99kB2pnAkYqlOdJfOekmE9S5zQMvJ7artnNqUqcxcdhGE1e6QAd6Ed47j4ySyQFWuL26LFnTHgA6orZJrc+gmBOQFDdLXBLFsWGWWiZ5CPcHJhmuIcZH1q+ErYBgVcmXzT/B1p0eHom36p6P4tI4TpR+sIvZy8ieQcaXIE0/lZo0VRreYHudjhn5cCQSwkpRndPHWkBZft8WVgHQ4NjPpzAbDxX6+v0XT374CqtLn4zJHf4PKyzJ2fU+U5QO1JSgZlJLTfOKZwJ8EgwZIQAYjWKV5BX6X9z17cahqr4rB2Wdzd6VtOMZ4LEo+4El8yzBlme7ej8xVVb2DuJaKDEIsG5cXV+VPh3hVbqnW1qFqUEtLP4MVqi/y2E4Ls+ACtk6pF5L0D0kidNu5RVYIh398FmeVKkwLGZm530HG9PbWU+ZUCaRebMJv157aUUqaXPB2CbUlXgIR3zKCSyQXXHwPMO2vO3vnyocKTKj5yHYnh3CCLPSqnJbOAKWMtDf4AecCIizR+gE71Iaceudz4LOe3hDstf5vPRVLcDPxSfaqTn8KcOEyHSdg3vGjn7XV9vJ0+M26+1pgBC7TsnLwf7DbEUHQ6hHk5ApOwOMqjSVIbFfBQSXAkXRipQVkPRDnLtaSUF67yYFJH+9h12Cl4i71UGDlmPYEgzSVfNjAxl+p2fb+q4jAsH33vH08+fYVkh+jMxn7xcfZNu8NPY7DIqvEe4fqLntE0uEMgsfDLB2X7NAjIydCUsh41coRBZVqS71OMKT0PIjHEA+J9J0XeUPHQJk3AQ29OZCcgJSiI+Lt06tn3Imgv+tkJbXd8z5oGg4V5ozHKuatzf8zEwUOzxeJjmGT/bEWIhrDo2/7ryd2L+1rqrtdp3A4rEuHirce/4BFQOYTgwQ7WOyTeden387DrsimkJzb3LcXgnLYJoVzWhsrzTZfi6XY8RTyemssGLH6MYv3irkJvYMotsBBpSdqFonz4ej9Q8tsYAj3wT8TWZd88dyFJWY3IFgLv4DRsXP9P8aZFj0G6TnenWxyxr7c/1G97loqAFw4m/lgENcerB0QTfdUd4gZBpZRax77vHCakqvNd8fP3YGZDnFVW99dME+88q7fbssQ644EopZnact7Bavjn4VLg8iyekQeXmvpvkIMx4tBxlIiI/P8euT2Fe6/culk+b1VYPrc4TTItAoRlgievhUN+wkVMRbycDNSaMhg1OB/ic6Wr9OKDR7jjDCFgUTSI39k/puB6cOrM7RSfiWGVal426JwRV+zu+So15jcYOnadIeuZBJIhcMsJ03TsXrzpDaosfaCZ8W5t4zkWLf4Guqvn4U4Q2MmOtu7VMJQ/Tkdzh5R7PmPY+z3aE2jhXfAxMq4kaK+FFfT5LWdMqslvRQ4/9eiWkayX+RG2/jGtA34EznF6YdWXOWIt/Rm87UY1EqN8mzyHqmgAuXWD8I1rGIkXqU7cT/UZWFlsWhj0W+VfQfyHynn/FPFcR4c0XVWl9l+uKCNsW8pzwc0RlzDAhmTbh+QQikp/3meeSx8RZNAMBWc9Hmu/t77//fuLD+oAbPzf6LgoJZpxbmdDGgL9OUujVl3Eiecd3IzGaqnu2jg5CkfMz3Hk94mO/cDy4P/ay9308y/8/yPR1kKBmG17JQvLNbPqQ8Nw6S6UWY2F6GY6TGPrjzzE2m4g8xlyMWQKUFclZeVYpwmR032HY/oIpaeXeIA3ZgDOyBAMPiqVaeuGY1fo+ScMkWtBuUEpHiDLtgxX4Kx8IEWI1Jt3jQbRxJ/Z2CLbbf40m/T4VmKjlGMdt2S/5ZWX4mJlPw8YSbZJG/Vcg9RF5UYFlE2AWXrhiH2VNBHZSXaUOy31BlWwgoncuhiCh6V10onxY74pId6T262HptIBpeFKDGoENr6HUDNw6mrgZ9d/lc/E79IKLgKZjOBW995sgTGof79JvC1tFW2Lbishoj/KEu9/93ctatIgFX7lLLQov7c99UK1/6s+QsbfijOuZkDYxVuPHq8IAk2OQPCcm8mPG6d+k6OAXnJQz2zmFhYj4Td7MM61D/4a5YQGSvLrY7JrVw7SCk0EEJL/fwtUwJ5ad8w5peV8t55rgrq2CcjCHthjiav6cHWbG3S0sRB0vnMTTaLHjo0HFm2dbp1OfoMZQynFfvN4TL70djDtu1Lkdf3Sop+Y2iEjLJ2d8QuNHTvMJz8MPgUtFWg5DM0P0mm79LsIS0HXZagPvf14/v7++W/0WxHWTbcSf89FeFj5Cy5AzVwERfftzP68ex7Jks8t7nt8rH9vzFRVodj2bFrr7b/LSfPb+GRxXy+e03TZTSHW5DZwdCLgFJkvAdP1b5hsonlnJ2letAK93ZKg5y3kXVcy8C4xwGiPS7y68Q3cLghIZhu+1PCcLLmqD/t4GcDv+3/wOnu061u6in/3Uny4sh2podKNRKUXu2731NftNcExaOboAVQgAbbcTVtr6C0ecntcFyQL4E6ppJq7ufylztd0aLh1nJVz80n/nnfgscvZd6wc+1IVNA4MXqw9xw3nH13VFEwCTjhxY3g0k1AlWEkzkrEpBE2lB6oKZ8aS/zzAF5wcSqqK62EJfh2E2eTh5kVFIZMha8O5gazahM9E6AV7O/15uA0/KToDgfy8br5zv6X+t/7t8u7kUgyCAsrp6LWIt9nH8HyqhP417ICz/i4U7MAUXaw1cPWApTPBU1EZ9hN6zfC+8NtmMuN/v8mV5J6M45Mw7yfaT5f3vylckFyG6+NlW5u7bUzNJaDmhcHdOQS9ldALiwp71jcWvG9K6bYLHe4XebWV1P9+12tLU4+18XrMbrUXpmkO4k75BOFcYA9H1C/D7ehGZpL+L9Lswqv7SP8eAJou/DEUazEz7ieqInMMrfievjuFy0KHCKi1nerinz6pICP7rtK0xrzfNipyCAPwN222T7WuTn/rzasRN2rltQ3lOXcNCO86na+/ettYmzEMwCc6sEzltvqbyazkQt2dHT5fxhf160ADeKYaaqbzzTT7wJ/s/RETu5f5a1Jrf8PXiVRf/EBeHAtu9kdvZD2yL/wgg64qcp/4ei5IFE9Ow+GmDGNpLix/VdCxnE7r3wGEBN65sxKNpBtHFpwxZ1n7T9nhYDmbBMi/QL8b9gxsDrt9z+O2CLMockeWBFbBD+WKG1qgqJpxY5FRRf24/zWH1CdIJyQ6grOS3VH7LmbRqR7uhNIp6rJB1/NSUDwvrQEhC5EcPF1WNonMMl16geBqRCs0uclDPMvTZyFtvphgnzOxs39y3lyA1Fz5rJPy9dVIyay0J6hY++oQ8KjIcmvPFBTGx3WCh1GZx/KlUDTqLVdPtaxP51yv6sCIIOqGyy2m/AmFcvGMPbang4JLH/jA91m6qq4wTLoMq8/qRhfPKJZE9c8dPby0kbofuzAkyFwaNSNtWybatEB2I+BHbvEM7+7E/ziiGyDBnLx+oggtXHbJVTiFQpI82YN+xVlAk9E0hv0gpoeU8MgUCWYVbE9CS5lE8u01OuopJJBFn/YIBSMTBUeVrKimFfyIv7VDeIQRmoCRrUjH0tnMyJe+as2xAr67Z5abDLsq28wSllwLHTNaWBxBqoWVdTLu048+G3AqnfnaS4T0CGWevV3Z7J+ofLXaT3vGMWgNWPVnHEZ9tPena8Hw0pH38Xx9OYQV7VdvZAAAAAElFTkSuQmCC"); $border: url("data:image/png;base64,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"); +$dialogBorder: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGYAAABmCAMAAAAOARRQAAABIFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIBAAAAAAAAAAGAwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEhoQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAICBgHCCEIBAB7eXP/0wD30yEABBhaTCFKTUr/0yEICBCtlTV7dXNYTBr/20pCRUL/3EJSSRsIBAinjx5zdWv320KnlTRzcWxZVVJ7fXP30ykAAgxaW1pKRkI8OTdKSUmljiM8PjxrbWtraWP/31KtmT//1xh+fHlSSik2MzHGvqXv13uEf3GfkVf/2zlVUCz30xiEgXtSVVJSTUpCQTmqlS4iHx69urWtqqXnz0oEnLPCAAAAJXRSTlMAmC5bD0YYFlIdetXOLAOQCwdtIEI5DQGLhigjFP6iSUh/b0xmASdjEgAAAsdJREFUaN7t2mtT2kAUgOGQu7ZJdhNiwkW8dZcq2Cq0CLZQo0ivoOCF1tr2//+LnmDETL/ukmom72eGZ85MZmfOzBESzfMQWoHkWUsMyVErEEKeF0NMjDTHMebpDBmxHEdD2HxQyo6R35Lm5RiSYm3lDad875imKrr6pm/Nf/qMoZho+ct6XlRN817Jb/pkIfkvIsfDoNgVsrr6azgcHkLbTH2GulAP6vZJzgYHe4K5oubtHCirQ67MdDrt/e52Q0ddMQWsiZJFLi7GQRt6ya02VN2/uiKWJGpYQEuKTRqgBDvcq4JzQmxlCQmopGwAEwTjHd7T7LSqVWA2lBIwRckKmfG43bainjNkzWu3W62QsaQiEmRRypHGPm1Roq+vK7OWGVKi1tZ0Uq/VD3okJ4lyjNFFTVNniQypUZom6iHT/5dZ1wSuaWv/jdl7s6dwZlSlWqvufkwT0zlOholP8yH8BPgztEabbzOGhYk+gYx5lMyn9/Qd5c+ET2fGMDKHi2HoN9o8yRg2Zvsr/bKgp/NHIkwnGaZ5lhCTyNPZOU2EaaaZoa0FPZ29ZJh+ipknvnhk+80T2QjSxaRrI0gXk66NIF1MujaCdDHZfpPtNylbPLL95vEuHtl+84iYbL/JmDhz+rN+WV8Ac02bNzGmmyBDipqmcswgcaYo+TPmkhCFa4RcX9PODfGloiygkl4g2+dBcF6r31Vlqh5FKa39oXR0Sgp6eP3guDYw4NSgI+g1U0dRNQgUekZs10ECLrswzmRyHtR5TwPKaATDuGUsYBnGqQSTyaQDDQaDg12m4A8GYc1mpzMaUVqBYWQcXg0Z4dVQozGFO5/v0CumjqN6vf7t2S2p2HlDxd7sBgqcAllIBVAebq0MV7cLfo5zfsHW3TslchzX1SXu6a7rzBVwsFx2SkWRc8WSU5YxKPd5GCMkcw8hjL0Z8BeYG6zOld4yTAAAAABJRU5ErkJggg=="); +$dialogCloseButtonUp: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAgVBMVEUAAAAAAAAEAAAIAAAkAAApAAAuAAAxAAAxBAA5AAA5BAA9AABCAABEAABHAABKAABPAABSAgBVAABYAABaAABoAABrAABwAABzAAB7AACBAACHAACMAACUcwWacQuceQuieRalAAClBACtAACwkgC9mRDGqgjGqhDWthDWtiH/4xgSC1nlAAAAAXRSTlMAQObYZgAAANNJREFUOMvl0tsSgiAQBuBQEFZFEtOOdjBD4P0fsLVuGsXpvv4rZ/5Pl1lcrf4sURTFr+BDFOgJyTKNWWNKQkL9fn+468MJ03UzMb7/8QUUkymEjYCNgHNell05ATHL82GwjLHUew/6pAMgP1sU3j/SJZBfrLXYpxpBHAIMBfbpdgkIY4wDgLo+qiAwpm2dWwa9aYW4olCqVoFD9r0RQoBzTqmbmi2KFpRyWVUySRKAHUwBobQoqqppNhjsp6t+CykbLjEAwevEEZhkHBHov/8wv50nvHwSKGAqMGgAAAAASUVORK5CYII="); +$dialogCloseButtonHover: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAjVBMVEUAAAD/AAD/AAD/AAD/AAD/AAD/AAD/CwD/AAD/CQD/AAD/FwD/BwD/FAD/GQD/BgD/EQD/BRD/FQD/DgD/EgD/Eg3/DBP/DwD/Dgv/DgD/Dgr/DhH/DBn/DA//DAn/Cwn/Cw7/Cxf/ChX/Cg3/CgD/Cgz/ChP/CRL/Cwb/CBH/Dgr/ChD/DQ//Dw//Dg7jIxUIAAAAL3RSTlMAAwUICxAYGBkbISEjJiksLjExNzk5QkJHSkpKUlVYWlpaY2Vra2tzdnuBg4yMlNQuYgkAAAE1SURBVBgZBcGBAZwwDAQwnRP47j9tC8GuBAAAACAABIABYANEAGAAAkQIwDAG2ECEAmgyAwSUmsKGgzYaBIkSS2wO8+m0hpAoWcq64PW1b7QZQrKo5WcB3pe36WFLQvFzbTRney0txgZl3y43Pgwv1bAT2Mt1c3PwbF4fMXtSMqk/6kpxOz9vrh7Vw0bce7suu2CfiwNQBcAuay214bJBAYCFBdhAAUhVJoG9CkABAA0AoABwerQPcIBqAA898+nz4HXAxvhSp+7D1o7z+L4BNl0c63E/99G8vNCDKBV75+feGN7v9a8/PTNCWbbLzwb89U9/bWaEpMTergJOf0ePnmFD18RhAWeOHg2CRIltAU+0aQ0BpYIABp8GAQlFgBnGDFgAmQnAMAYIgALAGIAAgIKWAeA//0CceIkxLi0AAAAASUVORK5CYII="); +$dialogCloseButtonDown: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAWlBMVEUAAAAAAAAIAAAMAAAQAAAYAAAbAAAmAAApAAA9AABKAABNAABSAABSPgBjRQBlRgBlSgBrAABzAAB7AAB8WwCDZQCMaQCPfAWUcACdfAClggCthgC1kgDOuggRtv7IAAAAAXRSTlMAQObYZgAAAKtJREFUOMvlktEOgjAMRWFrGcoEnKJssP//TW9jTEhW8F3PyxZ6dukKVfVn1Fu+1RWjro8NedQ0DrRAMVD23gfXdVhuQRHIAAYEQigFsxVccIoQYxQh50yu0wRziSvzmp+kChaHhwUkbFrfFoKkc78sM+8IksAzEo6Ex3zvd1+BJqdpZB5Twj1PRMUkUZ8kPolxLYT3pD6DkoTic24FrS59WnM2hsha9Yf5bV588wh/t4QZnwAAAABJRU5ErkJggg=="); $checkbox: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAABTklEQVR4nO2WP0vDQBiHH/8McQyWfoBbzWDpYseG82sI0k8gHbIUB2kRhyJI1+LgJnQqToZ0rItk75BVOD9AurQ4KTRcrjSp7XLPlON93/s9cENesFj2zIGhFgByCxkh8JBXPDaFD54GMo7jlYLjOMZzlv5j//dTK6ETCADZum7JOI4ZPg8TY4KB0etIOI4je/e9XAndE7y3b9pyNpsxfhsnQAJ8FsivA6J71xUAndtOCFxmm440g1eV04ooGQ7wBZxEkwillKu+VQK8ZJsO11xSNHxl3vO83IZ1Av+OVmCxXGw1RCm1mcAusQJagfl8vl+BXWIFdiKQpmlhgXrJ7LXzWgGlFH7TF4AoIVEHROOiIUxNut9xAEjvzJPVapVoEhXeB/ymL9I0ZfoxDcnZjPJWsgCQtfOadF13o9Dse5vCTQJ/Ehul6zHuhBaL5QcG5V5UuH8yfwAAAABJRU5ErkJggg=="); $checkboxHover: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACfUlEQVR4nO2WT0gUURzHPxOrDehhBqMMIphhFUcGQewSnYI9RZAIReApE7x09NgxOknHYA/apWAhrEOiBHYIoiioDVxa/zVLkCnlMossOLQLr4O76szuvnFC2QK/8Bjee7/3+33f7/3m+54iSoJm4kRTox8TAGK1I15gQI3oMmR92d/9BzOwDz+Xn4mv74d9Y+q+DWnnrkPxqX/RJrSdH9rtnr40rUgZiJLwN7GNENsszAyJVw8QQgiite3dVvz2RIh0wEcgnlKjAzHIpGeF3X9FAXjzYSOZWXbN6nTLycAOAmfqlX8D0Bs/5VhdHWPFHykBEO8b3MlEWfPZ162B1KM7AGTSs8nUTC6RWS6YgC5N5R707ErenJ5bSmRX8sl436Dy8vGthsbSGsh8njVhmJtXjY92tzYPOGq7/K8oFDwzG88npueWBr6sbpqXL7ZJ7aUEAOxuza0EnwfcSmsEHXCsrg6s1Q5TYhdCQO3c+bZotLThqu2qUw0eogqupqkAjhprrRDVKHg733qIogOynf+NXWQCR4KmE6hfA1U5LwHl6LfBfhdhaHoGohA4sBAdNgE9t7ZVVcIw5zqg575vHVg569aAV8wCUPLWeJcr6L1xPXH2TCuAQ0xeEZ6Hmf+VT2QX3uq2Zbhg4RYjEqii78I15/ULzMnnuYH+Rc0EXDW4InAZlcrreiab0wHsHsORspURGB/RxcSUq9yObSQ/LboHktUKXNsyXLvHcGzLGBsfUaTP7rrXcZUAwL2H6/4HRfgR7OLu/UmhbowyMSX2fAQy1pAAwOgNRRid0ng1DoPn7QteB1ICh4KyfPq/EqIjQW3CQ1J22Gh6Bo4J/AHjTRyNo1mIRwAAAABJRU5ErkJggg=="); $checkboxCheck: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAB0klEQVR4nO2VMUsjQRiGX90pBgaPEWTZIihfrAJpjtiEFDbar0WCHghapMoPULjW4sD2mrQ2EkGEQGzstdnS1sJrBa8QycEq7xVxouud5syavcI8sMXCwvPszOy3wJiPzsSoBVol73/dJe8nRx3wBHbjAjP09dAK0AokC9QK/yWAZIFfVj9RKzSz9pNxwMN9Sw1EOnu5ODk1gDQBeQDTb5UzFicvpQlonh5bArh+qxw9+YmTDxPwjbGw0/IpCtOiBj5P3gh5I7QAN1bMv0b/la2DA5+MhY2aoShsDQggmZDTAqV0cvbevtPyXUT1VTmFGyvGyZs2rZyU/gq4CABLL8mrVUML0AKRBTBUQFjR/NkOGFY0w4pmIzTkmbCz65NnwnrNMFBYChQQqMc9P9rzaQF+XdOpp10eQMkFyAwSEe2W7yKuGcvzQ0ek2Pc/CCs6aoQmEVGvGbZbfv9Te3booneTO2QGyYhYEgFO/hAwGopzXrSzrgmA5RzYvRJ2r4TlHFic9bjT2/f3W/rXIso5JK4HeTZ/ueKcF21vmr58e9OwOOulmnaDh+sTzi/vF6ZObqPFZdNf7vMf9/NpAobic967+F7XBF6cjJkw2kM3ZsyH4Tchly3JH85zjAAAAABJRU5ErkJggg=="); @@ -25,3 +29,5 @@ $range: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0A $rangeBackground: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAFUlEQVR4nGNkYGDoYMADmPBJDh8FAJNoAJjpM54wAAAAAElFTkSuQmCC"); $helpButton: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAApCAMAAABjq9sOAAABp1BMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAACAgIDAgLDQsODQsODwsOEA4TDQsTDw4WFhMWFxYYGBgYHBgZGBYbGRYbGxYbHBsbHRsbHxshGBAhHxshIBghICEhJCEkIRskIx4kIyEmEwsmGxYmHRsmIx4mJRsmJSEpGBgpICEpJCEpKCEpKCkpLCksKyYxFBAxGBAxHBgxJBgxLCkxLSw3GBA3MzE3NzQ5GBM5KCE5LCk5OzlCQTlHRkJKExBKQUJKRUJKSUJKTUpNDxBNEAhNHQ1STUpSUUpSU1JSVVJVExBYV1JdEAtdFBBjBAhjCABjCwhjEAhlY2BoFQ1oZ2hrDAhrDQhrFAhrFBBraWNwJRtwOClzCAhzKBBzb257DAh7EAh7dWt7dXN7eXt7fXuEAACEfXuEgnuJDAWJDAiMCACMKh6RIBaUjoyXKBuaLB6cmpyfKxinKyGtpqWwEwuwJx6wWUG1BAC1CAC4NSO9bUrIRTTLLSHLQS/OXUrTSjneSTHee2XvKCHveVrvmIH3EAj3MCn3XUr/WUL/aVL/tpzPGTKNAAAACHRSTlMAESIzVYjM7umjQSUAAAIfSURBVDjLhdT7W9JQGMDxMZw7k25aUWqCsATXSior7aYIRasIAiIw5NK9GBia3TAvtQGK/tG9Z7MaZwO/vwDP++GMhz17KQqy0XaLaBt1EN3HWNZH/533s5b16wLm6Eup9AZ6C72GPkCrq891YYPvl0rIIk3YKJph3+UQmr9LdNPh+PSRZWjKzrCPEMrN3yN6BuIJy9h1kEP8KSKHwwh4vid4zE0dHz4NnYNeQlch3+AgkkwgnU5rIG8CwxjcSn9ttdbWfu01vufzPp8ZvIJ5C+Z7jUYjf8cAQigwMjI9Lcs7ULVQ/dncbyrF8wMDDztAXP4B88/VQqGqNPeVByYgx+XNzZ1iAcC2FYjLslyEMFAUZbvjEtz1sbGnUCYTFa8tLantdrt2e+IEChvBfQ2IIszV9lYtNUGCcUgUxeg3VVVrqVQ3EM3AXE0RQMIA7hd/IVip1Ov12AvAl84e/fdHaUDAoFKplMvl2HgXIAQPAXwwm83GYrErJAjDzZrCvyEDLULwVjABQRAALK/v7m4s4nmXE5Z/64DnzSfw+ITM+sbKiukSIS4wGvBOeieT75PJSCSS8Hv8/otnjnEhAxj1QhgkEokZD2QNkhjMuDwulxm43V636yA4oOMSEnfD6XQTXR4aQv8B53SeJIK5DuDpnl3gOO4IEcznQvjpxvthAQsimM9p+0HbQLOSFIZCkAThV/ho2EE9d9ThW673nvwDLWrF2ZF5DfoAAAAASUVORK5CYII="); $helpButtonClick: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAApCAMAAABjq9sOAAABPlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMIAAALAAAOAAAQAAAQBAAYAAAZAwAbAAAeHh4hAAAhICEpAAAsCQUsEw4xBAMxBwMxMDE0MjE3AAA3BAM3MzE8OzxCAABCBABCBQVCFhBCQTlEEAtKBABKBQNKCABKCANKGBBKQUJKRTlKRUJKSUJKTUpMGBNPEwtSAABSCABSGBBSTUpSUUpSU1JSVVJYJRtYV1JaWVpbDQVdDQhjCAVjCAhoFw5oZ2hrCAhuCAVuIxlwGxNzHBBzKyFzb257dWt7dXN7eXt7fXuBIBaBMSaDCwWDDAWEFAiEHxiEOCmEfXuEgnuHKRuJPjGPHRWUDAiUIBiXW02cNimclpScmpylDAilPCmlQTGlWUqtIBitpqW1STm1TTm9EAi9MCG9fWsZTHqDAAAACHRSTlMAESIzVYjM7umjQSUAAAGuSURBVDjLjdTpUoJgFIBhRBGiyLIyK8nIlKgosGjPirJodWmx1FIxt/u/gQ4EDX4i9f4RPA84MsPBMMiH+13CfZgVHiBcC+D2PEi6FvwRMKe+NO0WuoNuoGfo8/P8R/jgek2jXDKFD8MJ8v6Icu3jhSRwzE+Qe9SQDknCb4FweBqpHxzF4/NICw6wP+K4LQ3Zx4oLYJNJD8Cy7EUSOph1BROrF7Va7aHb7T5ZwgaiccIwfK4JlXRdr1TW1ozvdvsAz3dgnt3eLuk9EAOA53MAsgAu9UpvEIQA5N6aOzsASj0EbMBx7BSSZZlWVbXdarUkA6w4QHoZikRoAG0AkgFCThAzAU3LarVafZSkEHoH6zHLV0W1qMK8Dyi/jzqaee908kLKOhVREM1k3vN5QaCGgLEMJAjCuDWfQsEMAkZtsGmBWApKMAxj/8QWAiZNkEh4gLPXeqMxHKRTZ/V643oQiBZYOjkplwuFYxr9mw7AcXNzHoDjDED/AehBoAx79f4H4O1eFN3n66Lxdhv7QQQxggTzdXM/mBtoUVE2IRFSIOMTTh07yHNH/b3lvPfkN1HZaz2zDt62AAAAAElFTkSuQmCC"); +$settingsButton: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAApCAMAAABjq9sOAAABjFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAANDkARVIIBAAIBAgICAgIDAgIFBgIUWMLCwsLDQsODAsODQsOEA4QDAgQEBAQFBAQICEQJCkTERMWFRMWFRYWFhMWFxYYFBAYGBgZGBYbGBYbGxUbGxYbGxgbHBseHRghIBghICEhNDEkIyEpJCEpKCEpKCkpLCksKyYsOjoxLSwxeIYxqb03MzE3NzQ5NDE5Ozk5foxCPDlCQTlCRUJEQkJEUlVHRT9HRkJHRkRHR0RHSUJKQUJKRTlKRUJKSUJKSUpKTUpK4/9PXV1STUpSUUpSU1JSVVJXdHNYV1JYV1hjrLtlYV1lY2BoZ2hraWNrbGhrqrVzb25zpq17dWt7dXN7eXt7fXt7npx+fHl+fXN+fXaBgHuBkZGEfXuEgnuE6/+Gh4aHg4GPlpKRjYmUjoyUk4+U3++cmpScmpycnpyc196lnpSlopytpqWtrKq1sqW1sq21tq21trW9urW9vrW9z87Gvr3Gx8bOz8YGzWvzAAAACHRSTlMAESIzVYjM7umjQSUAAAHeSURBVDjLrdTrX9JQHMfxMZw7q2hgRgsME1QQpShLI0JJxcBwXb0g2A2DLmgXIcoKpP7xvocddRwXPvH9ZK+9fp9tT85+ggA20W5BtAmM2CNZ6hEP5r2ypV6jwJx8LxRewit4Ae9gd3fdKGx4vlAgFtqFTRAl+XWOkLm7nDuq+um9LImCXZIfE5Kbe8hZQ/FMluxGkCMRP0dVzUEk0jV4okTdIY0ZYvx+jeinGYRCWrVa/QrfoF6vdwQPHDcGBs5tTk5OwBnweN54aPCICzY/QDY7NfW0e5A9KTj+hnvk+uios+wsr0A+H48ve7e9NMhwQfI2xF0ul9ciuOgsJ5NnwUWDZctgf/8L1Gr52vbfzmCJjPt80ejzj/RUbcDOaizGB32/4Q80GK0z6GsHP6DxeWYmFttpaNp5U+AzBQdvMAUZVa1U7jPzsJdKpUolhyNxGFRaC2+ZYrGIYGtrtlkyBa1W6xfzE/ag2WyaArjE0ENzGRyzR59IKyG3+woT9AeDQRza4eF+kj4McKJGmDHmWBA2jLBr+Np/grBVoCu3AoFxzs3BQVOgBAJXOZgbAf7u6UVFUS5wME+k6d9N98MiLTiYJ9r7ob2BpnU9A2nQgV5xa9pBXXfUyVuu+578B3mcwoPBi2MmAAAAAElFTkSuQmCC"); +$settingsButtonClick: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAApCAMAAABjq9sOAAABAlBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALEIARWMDAwMDU24Fe5oIAAAIBAAIBAgICAgIosYbNz8eHh4eOj8hHBghICEpKCYsKykskKouKyYvb34xMDExMi8xMjE0MjE3MzE3NjQ5NTc8Ozw8dH4/PDZCPDlCQTlCpr1Cts5KQUJKRTlKRUJKSUJKSUpNdHlSTUpSUUpSUU1SU1JSVVJYU1JYV1JYcXNaWVparr1jZF1jZGNlZGBoZ2hrZWNraWNzb25zrrV7dWt7dXN7eXN7eXt7fXN7fXuEfXuEgnuEqq2MhoSMioSMjoSUjoSUkoyUloyUlpSclpScmpytpqWUz0EqAAAACHRSTlMAESIzVYjM7umjQSUAAAFZSURBVDjLvdTbVoJAGIZhQJExM0utME3TtDKDoo2bzJSKSioUtPu/lT42FtBgB7V6TphZ8w4c8TMMsFyMgmMZDxfnqeLc4jwhUCXcAufkXVUf4BHuYQzz+a1bsLivqoTCKViG44XnHqGa6QLPMTFeuCQROgIf84J8fjskGPTq9d2QPV9wlYr4hPJ/wUlUcO4PunAGDRiNaIH/Kj3ovtzBdaOxGQ4O7aC01mweQzabXiVDN5CDQckN0kuCHcB5MiLI5VYgCeHg1N70y4SswwZUbmiBaZozmA6mA4sWkHK/vA+1Wm1QId+Dqbl4A1iWFQhkrPUnj5bJZIimOcERNXCFgk6nsOUpFouaKIoX7UCgFwoHHi8Qx+2vQCKGYbzBK+hgrycTQqTPIMLfBcrvAvzd1YhvtCT777bng4QiFYLzljMfnAlUVRQZJFDAfmLrm0FLZ9TPU275nPwAK0teve+rJEIAAAAASUVORK5CYII="); diff --git a/src/assets/boralus/index.ts b/src/assets/boralus/index.ts new file mode 100644 index 0000000..f2917cd --- /dev/null +++ b/src/assets/boralus/index.ts @@ -0,0 +1,10 @@ +import preview from './preview'; +import view from './view'; +import music from './music'; + +export default { + name: 'boralus', + music, + view, + preview, +}; diff --git a/src/assets/boralus/music/boralus-1.ogg b/src/assets/boralus/music/boralus-1.ogg new file mode 100644 index 0000000..fc698df Binary files /dev/null and b/src/assets/boralus/music/boralus-1.ogg differ diff --git a/src/assets/boralus/music/boralus-10.ogg b/src/assets/boralus/music/boralus-10.ogg new file mode 100644 index 0000000..aa72339 Binary files /dev/null and b/src/assets/boralus/music/boralus-10.ogg differ diff --git a/src/assets/boralus/music/boralus-2.ogg b/src/assets/boralus/music/boralus-2.ogg new file mode 100644 index 0000000..b052207 Binary files /dev/null and b/src/assets/boralus/music/boralus-2.ogg differ diff --git a/src/assets/boralus/music/boralus-3.ogg b/src/assets/boralus/music/boralus-3.ogg new file mode 100644 index 0000000..5fd2d3f Binary files /dev/null and b/src/assets/boralus/music/boralus-3.ogg differ diff --git a/src/assets/boralus/music/boralus-4.ogg b/src/assets/boralus/music/boralus-4.ogg new file mode 100644 index 0000000..bcc5818 Binary files /dev/null and b/src/assets/boralus/music/boralus-4.ogg differ diff --git a/src/assets/boralus/music/boralus-5.ogg b/src/assets/boralus/music/boralus-5.ogg new file mode 100644 index 0000000..c08cd44 Binary files /dev/null and b/src/assets/boralus/music/boralus-5.ogg differ diff --git a/src/assets/boralus/music/boralus-6.ogg b/src/assets/boralus/music/boralus-6.ogg new file mode 100644 index 0000000..1a3463e Binary files /dev/null and b/src/assets/boralus/music/boralus-6.ogg differ diff --git a/src/assets/boralus/music/boralus-7.ogg b/src/assets/boralus/music/boralus-7.ogg new file mode 100644 index 0000000..fe81e56 Binary files /dev/null and b/src/assets/boralus/music/boralus-7.ogg differ diff --git a/src/assets/boralus/music/boralus-8.ogg b/src/assets/boralus/music/boralus-8.ogg new file mode 100644 index 0000000..49ce40a Binary files /dev/null and b/src/assets/boralus/music/boralus-8.ogg differ diff --git a/src/assets/boralus/music/boralus-9.ogg b/src/assets/boralus/music/boralus-9.ogg new file mode 100644 index 0000000..ad5f382 Binary files /dev/null and b/src/assets/boralus/music/boralus-9.ogg differ diff --git a/src/assets/boralus/music/index.ts b/src/assets/boralus/music/index.ts new file mode 100644 index 0000000..ba11b4a --- /dev/null +++ b/src/assets/boralus/music/index.ts @@ -0,0 +1,23 @@ +import Boralus1 from './boralus-1.ogg'; +import Boralus2 from './boralus-2.ogg'; +import Boralus3 from './boralus-3.ogg'; +import Boralus4 from './boralus-4.ogg'; +import Boralus5 from './boralus-5.ogg'; +import Boralus6 from './boralus-6.ogg'; +import Boralus7 from './boralus-7.ogg'; +import Boralus8 from './boralus-8.ogg'; +import Boralus9 from './boralus-9.ogg'; +import Boralus10 from './boralus-10.ogg'; + +export default [ + Boralus1, + Boralus2, + Boralus3, + Boralus4, + Boralus5, + Boralus6, + Boralus7, + Boralus8, + Boralus9, + Boralus10, +]; diff --git a/src/assets/boralus/preview/boralus-1.jpg b/src/assets/boralus/preview/boralus-1.jpg new file mode 100644 index 0000000..80900a5 Binary files /dev/null and b/src/assets/boralus/preview/boralus-1.jpg differ diff --git a/src/assets/boralus/preview/boralus-2.jpg b/src/assets/boralus/preview/boralus-2.jpg new file mode 100644 index 0000000..cfd4dac Binary files /dev/null and b/src/assets/boralus/preview/boralus-2.jpg differ diff --git a/src/assets/boralus/preview/boralus-3.jpg b/src/assets/boralus/preview/boralus-3.jpg new file mode 100644 index 0000000..9e1a264 Binary files /dev/null and b/src/assets/boralus/preview/boralus-3.jpg differ diff --git a/src/assets/boralus/preview/boralus-4.jpg b/src/assets/boralus/preview/boralus-4.jpg new file mode 100644 index 0000000..3a0fd15 Binary files /dev/null and b/src/assets/boralus/preview/boralus-4.jpg differ diff --git a/src/assets/boralus/preview/index.ts b/src/assets/boralus/preview/index.ts new file mode 100644 index 0000000..0c9860c --- /dev/null +++ b/src/assets/boralus/preview/index.ts @@ -0,0 +1,6 @@ +import Boralus1 from './boralus-1.jpg'; +import Boralus2 from './boralus-2.jpg'; +import Boralus3 from './boralus-3.jpg'; +import Boralus4 from './boralus-4.jpg'; + +export default [Boralus1, Boralus2, Boralus3, Boralus4]; diff --git a/src/assets/boralus/view/boralus-1.jpg b/src/assets/boralus/view/boralus-1.jpg new file mode 100644 index 0000000..8f9d5ca Binary files /dev/null and b/src/assets/boralus/view/boralus-1.jpg differ diff --git a/src/assets/boralus/view/boralus-2.jpg b/src/assets/boralus/view/boralus-2.jpg new file mode 100644 index 0000000..5576e45 Binary files /dev/null and b/src/assets/boralus/view/boralus-2.jpg differ diff --git a/src/assets/boralus/view/boralus-3.jpg b/src/assets/boralus/view/boralus-3.jpg new file mode 100644 index 0000000..26cf948 Binary files /dev/null and b/src/assets/boralus/view/boralus-3.jpg differ diff --git a/src/assets/boralus/view/boralus-4.jpg b/src/assets/boralus/view/boralus-4.jpg new file mode 100644 index 0000000..4f41364 Binary files /dev/null and b/src/assets/boralus/view/boralus-4.jpg differ diff --git a/src/assets/boralus/view/index.ts b/src/assets/boralus/view/index.ts new file mode 100644 index 0000000..0c9860c --- /dev/null +++ b/src/assets/boralus/view/index.ts @@ -0,0 +1,6 @@ +import Boralus1 from './boralus-1.jpg'; +import Boralus2 from './boralus-2.jpg'; +import Boralus3 from './boralus-3.jpg'; +import Boralus4 from './boralus-4.jpg'; + +export default [Boralus1, Boralus2, Boralus3, Boralus4]; diff --git a/src/assets/crystalsong-forest/index.ts b/src/assets/crystalsong-forest/index.ts index b58b255..7c4b1ee 100644 --- a/src/assets/crystalsong-forest/index.ts +++ b/src/assets/crystalsong-forest/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "crystalsong-forest", - music, - view, - preview, + name: 'crystalsong-forest', + music, + view, + preview, }; diff --git a/src/assets/crystalsong-forest/music/index.ts b/src/assets/crystalsong-forest/music/index.ts index a9cf407..0f6ebd5 100644 --- a/src/assets/crystalsong-forest/music/index.ts +++ b/src/assets/crystalsong-forest/music/index.ts @@ -1,11 +1,6 @@ -import CrystalsongForest1 from "./crystalsong-forest-music-1.ogg"; -import CrystalsongForest2 from "./crystalsong-forest-music-2.ogg"; -import CrystalsongForest3 from "./crystalsong-forest-music-3.ogg"; -import CrystalsongForest4 from "./crystalsong-forest-music-4.ogg"; +import CrystalsongForest1 from './crystalsong-forest-music-1.ogg'; +import CrystalsongForest2 from './crystalsong-forest-music-2.ogg'; +import CrystalsongForest3 from './crystalsong-forest-music-3.ogg'; +import CrystalsongForest4 from './crystalsong-forest-music-4.ogg'; -export default [ - CrystalsongForest1, - CrystalsongForest2, - CrystalsongForest3, - CrystalsongForest4, -]; +export default [CrystalsongForest1, CrystalsongForest2, CrystalsongForest3, CrystalsongForest4]; diff --git a/src/assets/crystalsong-forest/preview/index.ts b/src/assets/crystalsong-forest/preview/index.ts index ef64a09..21a31fc 100644 --- a/src/assets/crystalsong-forest/preview/index.ts +++ b/src/assets/crystalsong-forest/preview/index.ts @@ -1,13 +1,13 @@ -import CrystalsongForest1 from "./crystalsong-forest-1.jpg"; -import CrystalsongForest2 from "./crystalsong-forest-2.jpg"; -import CrystalsongForest3 from "./crystalsong-forest-3.jpg"; -import CrystalsongForest4 from "./crystalsong-forest-4.jpg"; -import CrystalsongForest5 from "./crystalsong-forest-5.jpg"; +import CrystalsongForest1 from './crystalsong-forest-1.jpg'; +import CrystalsongForest2 from './crystalsong-forest-2.jpg'; +import CrystalsongForest3 from './crystalsong-forest-3.jpg'; +import CrystalsongForest4 from './crystalsong-forest-4.jpg'; +import CrystalsongForest5 from './crystalsong-forest-5.jpg'; export default [ - CrystalsongForest1, - CrystalsongForest2, - CrystalsongForest3, - CrystalsongForest4, - CrystalsongForest5, + CrystalsongForest1, + CrystalsongForest2, + CrystalsongForest3, + CrystalsongForest4, + CrystalsongForest5, ]; diff --git a/src/assets/crystalsong-forest/view/index.ts b/src/assets/crystalsong-forest/view/index.ts index ef64a09..21a31fc 100644 --- a/src/assets/crystalsong-forest/view/index.ts +++ b/src/assets/crystalsong-forest/view/index.ts @@ -1,13 +1,13 @@ -import CrystalsongForest1 from "./crystalsong-forest-1.jpg"; -import CrystalsongForest2 from "./crystalsong-forest-2.jpg"; -import CrystalsongForest3 from "./crystalsong-forest-3.jpg"; -import CrystalsongForest4 from "./crystalsong-forest-4.jpg"; -import CrystalsongForest5 from "./crystalsong-forest-5.jpg"; +import CrystalsongForest1 from './crystalsong-forest-1.jpg'; +import CrystalsongForest2 from './crystalsong-forest-2.jpg'; +import CrystalsongForest3 from './crystalsong-forest-3.jpg'; +import CrystalsongForest4 from './crystalsong-forest-4.jpg'; +import CrystalsongForest5 from './crystalsong-forest-5.jpg'; export default [ - CrystalsongForest1, - CrystalsongForest2, - CrystalsongForest3, - CrystalsongForest4, - CrystalsongForest5, + CrystalsongForest1, + CrystalsongForest2, + CrystalsongForest3, + CrystalsongForest4, + CrystalsongForest5, ]; diff --git a/src/assets/dalaran/index.ts b/src/assets/dalaran/index.ts index 63f4a87..276c32c 100644 --- a/src/assets/dalaran/index.ts +++ b/src/assets/dalaran/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "dalaran", - music, - view, - preview, + name: 'dalaran', + music, + view, + preview, }; diff --git a/src/assets/dalaran/music/index.ts b/src/assets/dalaran/music/index.ts index 3397510..f4d098c 100644 --- a/src/assets/dalaran/music/index.ts +++ b/src/assets/dalaran/music/index.ts @@ -1,13 +1,7 @@ -import DalaranMusic1 from "./dalaran-music-1.ogg"; -import DalaranMusic2 from "./dalaran-music-2.ogg"; -import DalaranMusic3 from "./dalaran-music-3.ogg"; -import DalaranMusic4 from "./dalaran-music-4.ogg"; -import DalaranMusic5 from "./dalaran-music-5.ogg"; +import DalaranMusic1 from './dalaran-music-1.ogg'; +import DalaranMusic2 from './dalaran-music-2.ogg'; +import DalaranMusic3 from './dalaran-music-3.ogg'; +import DalaranMusic4 from './dalaran-music-4.ogg'; +import DalaranMusic5 from './dalaran-music-5.ogg'; -export default [ - DalaranMusic1, - DalaranMusic2, - DalaranMusic3, - DalaranMusic4, - DalaranMusic5, -]; +export default [DalaranMusic1, DalaranMusic2, DalaranMusic3, DalaranMusic4, DalaranMusic5]; diff --git a/src/assets/dalaran/preview/index.ts b/src/assets/dalaran/preview/index.ts index 7ec2dcb..ba1247a 100644 --- a/src/assets/dalaran/preview/index.ts +++ b/src/assets/dalaran/preview/index.ts @@ -1,7 +1,7 @@ -import Dalaran1 from "./dalaran-1.jpg"; -import Dalaran2 from "./dalaran-2.jpg"; -import Dalaran3 from "./dalaran-3.jpg"; -import Dalaran4 from "./dalaran-4.jpg"; -import Dalaran5 from "./dalaran-5.jpg"; +import Dalaran1 from './dalaran-1.jpg'; +import Dalaran2 from './dalaran-2.jpg'; +import Dalaran3 from './dalaran-3.jpg'; +import Dalaran4 from './dalaran-4.jpg'; +import Dalaran5 from './dalaran-5.jpg'; export default [Dalaran1, Dalaran2, Dalaran3, Dalaran4, Dalaran5]; diff --git a/src/assets/dalaran/view/index.ts b/src/assets/dalaran/view/index.ts index 7ec2dcb..ba1247a 100644 --- a/src/assets/dalaran/view/index.ts +++ b/src/assets/dalaran/view/index.ts @@ -1,7 +1,7 @@ -import Dalaran1 from "./dalaran-1.jpg"; -import Dalaran2 from "./dalaran-2.jpg"; -import Dalaran3 from "./dalaran-3.jpg"; -import Dalaran4 from "./dalaran-4.jpg"; -import Dalaran5 from "./dalaran-5.jpg"; +import Dalaran1 from './dalaran-1.jpg'; +import Dalaran2 from './dalaran-2.jpg'; +import Dalaran3 from './dalaran-3.jpg'; +import Dalaran4 from './dalaran-4.jpg'; +import Dalaran5 from './dalaran-5.jpg'; export default [Dalaran1, Dalaran2, Dalaran3, Dalaran4, Dalaran5]; diff --git a/src/assets/dinastro.gif b/src/assets/dinastro.gif new file mode 100644 index 0000000..04d65f5 Binary files /dev/null and b/src/assets/dinastro.gif differ diff --git a/src/assets/grizzly-hills/index.ts b/src/assets/grizzly-hills/index.ts new file mode 100644 index 0000000..0f357b9 --- /dev/null +++ b/src/assets/grizzly-hills/index.ts @@ -0,0 +1,10 @@ +import preview from './preview'; +import view from './view'; +import music from './music'; + +export default { + name: 'grizzly-hills', + music, + view, + preview, +}; diff --git a/src/assets/grizzly-hills/music/grizzly-hills-1.ogg b/src/assets/grizzly-hills/music/grizzly-hills-1.ogg new file mode 100644 index 0000000..b58a673 Binary files /dev/null and b/src/assets/grizzly-hills/music/grizzly-hills-1.ogg differ diff --git a/src/assets/grizzly-hills/music/grizzly-hills-2.ogg b/src/assets/grizzly-hills/music/grizzly-hills-2.ogg new file mode 100644 index 0000000..6e6c750 Binary files /dev/null and b/src/assets/grizzly-hills/music/grizzly-hills-2.ogg differ diff --git a/src/assets/grizzly-hills/music/index.ts b/src/assets/grizzly-hills/music/index.ts new file mode 100644 index 0000000..cb647eb --- /dev/null +++ b/src/assets/grizzly-hills/music/index.ts @@ -0,0 +1,4 @@ +import GrizzlyHillsMusic1 from './grizzly-hills-1.ogg'; +import GrizzlyHillsMusic2 from './grizzly-hills-2.ogg'; + +export default [GrizzlyHillsMusic1, GrizzlyHillsMusic2]; diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-1.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-1.jpg new file mode 100644 index 0000000..abac1f5 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-1.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-10.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-10.jpg new file mode 100644 index 0000000..d14972c Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-10.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-11.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-11.jpg new file mode 100644 index 0000000..8488009 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-11.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-12.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-12.jpg new file mode 100644 index 0000000..0eb90c2 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-12.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-2.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-2.jpg new file mode 100644 index 0000000..8a18a82 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-2.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-3.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-3.jpg new file mode 100644 index 0000000..642f1d6 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-3.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-4.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-4.jpg new file mode 100644 index 0000000..e7a5d9a Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-4.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-5.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-5.jpg new file mode 100644 index 0000000..197a0ba Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-5.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-6.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-6.jpg new file mode 100644 index 0000000..5aca4b3 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-6.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-7.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-7.jpg new file mode 100644 index 0000000..0982b94 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-7.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-8.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-8.jpg new file mode 100644 index 0000000..b2937f7 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-8.jpg differ diff --git a/src/assets/grizzly-hills/preview/grizzly-hills-9.jpg b/src/assets/grizzly-hills/preview/grizzly-hills-9.jpg new file mode 100644 index 0000000..2bf48c4 Binary files /dev/null and b/src/assets/grizzly-hills/preview/grizzly-hills-9.jpg differ diff --git a/src/assets/grizzly-hills/preview/index.ts b/src/assets/grizzly-hills/preview/index.ts new file mode 100644 index 0000000..35632ef --- /dev/null +++ b/src/assets/grizzly-hills/preview/index.ts @@ -0,0 +1,27 @@ +import GrizzlyHills1 from './grizzly-hills-1.jpg'; +import GrizzlyHills2 from './grizzly-hills-2.jpg'; +import GrizzlyHills3 from './grizzly-hills-3.jpg'; +import GrizzlyHills4 from './grizzly-hills-4.jpg'; +import GrizzlyHills5 from './grizzly-hills-5.jpg'; +import GrizzlyHills6 from './grizzly-hills-6.jpg'; +import GrizzlyHills7 from './grizzly-hills-7.jpg'; +import GrizzlyHills8 from './grizzly-hills-8.jpg'; +import GrizzlyHills9 from './grizzly-hills-9.jpg'; +import GrizzlyHills10 from './grizzly-hills-10.jpg'; +import GrizzlyHills11 from './grizzly-hills-11.jpg'; +import GrizzlyHills12 from './grizzly-hills-12.jpg'; + +export default [ + GrizzlyHills1, + GrizzlyHills2, + GrizzlyHills3, + GrizzlyHills4, + GrizzlyHills5, + GrizzlyHills6, + GrizzlyHills7, + GrizzlyHills8, + GrizzlyHills9, + GrizzlyHills10, + GrizzlyHills11, + GrizzlyHills12, +]; diff --git a/src/assets/grizzly-hills/view/grizzly-hills-1.jpg b/src/assets/grizzly-hills/view/grizzly-hills-1.jpg new file mode 100644 index 0000000..ad31782 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-1.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-10.jpg b/src/assets/grizzly-hills/view/grizzly-hills-10.jpg new file mode 100644 index 0000000..34364a7 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-10.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-11.jpg b/src/assets/grizzly-hills/view/grizzly-hills-11.jpg new file mode 100644 index 0000000..fecda45 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-11.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-12.jpg b/src/assets/grizzly-hills/view/grizzly-hills-12.jpg new file mode 100644 index 0000000..5ccb72f Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-12.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-2.jpg b/src/assets/grizzly-hills/view/grizzly-hills-2.jpg new file mode 100644 index 0000000..4996a16 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-2.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-3.jpg b/src/assets/grizzly-hills/view/grizzly-hills-3.jpg new file mode 100644 index 0000000..334f75d Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-3.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-4.jpg b/src/assets/grizzly-hills/view/grizzly-hills-4.jpg new file mode 100644 index 0000000..df770d2 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-4.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-5.jpg b/src/assets/grizzly-hills/view/grizzly-hills-5.jpg new file mode 100644 index 0000000..da789e9 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-5.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-6.jpg b/src/assets/grizzly-hills/view/grizzly-hills-6.jpg new file mode 100644 index 0000000..a6512c4 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-6.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-7.jpg b/src/assets/grizzly-hills/view/grizzly-hills-7.jpg new file mode 100644 index 0000000..fd872ac Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-7.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-8.jpg b/src/assets/grizzly-hills/view/grizzly-hills-8.jpg new file mode 100644 index 0000000..44940be Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-8.jpg differ diff --git a/src/assets/grizzly-hills/view/grizzly-hills-9.jpg b/src/assets/grizzly-hills/view/grizzly-hills-9.jpg new file mode 100644 index 0000000..a4e1174 Binary files /dev/null and b/src/assets/grizzly-hills/view/grizzly-hills-9.jpg differ diff --git a/src/assets/grizzly-hills/view/index.ts b/src/assets/grizzly-hills/view/index.ts new file mode 100644 index 0000000..35632ef --- /dev/null +++ b/src/assets/grizzly-hills/view/index.ts @@ -0,0 +1,27 @@ +import GrizzlyHills1 from './grizzly-hills-1.jpg'; +import GrizzlyHills2 from './grizzly-hills-2.jpg'; +import GrizzlyHills3 from './grizzly-hills-3.jpg'; +import GrizzlyHills4 from './grizzly-hills-4.jpg'; +import GrizzlyHills5 from './grizzly-hills-5.jpg'; +import GrizzlyHills6 from './grizzly-hills-6.jpg'; +import GrizzlyHills7 from './grizzly-hills-7.jpg'; +import GrizzlyHills8 from './grizzly-hills-8.jpg'; +import GrizzlyHills9 from './grizzly-hills-9.jpg'; +import GrizzlyHills10 from './grizzly-hills-10.jpg'; +import GrizzlyHills11 from './grizzly-hills-11.jpg'; +import GrizzlyHills12 from './grizzly-hills-12.jpg'; + +export default [ + GrizzlyHills1, + GrizzlyHills2, + GrizzlyHills3, + GrizzlyHills4, + GrizzlyHills5, + GrizzlyHills6, + GrizzlyHills7, + GrizzlyHills8, + GrizzlyHills9, + GrizzlyHills10, + GrizzlyHills11, + GrizzlyHills12, +]; diff --git a/src/assets/halls-of-valor/index.ts b/src/assets/halls-of-valor/index.ts index 4aba1b7..c899f7a 100644 --- a/src/assets/halls-of-valor/index.ts +++ b/src/assets/halls-of-valor/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "halls-of-valor", - music, - view, - preview, + name: 'halls-of-valor', + music, + view, + preview, }; diff --git a/src/assets/halls-of-valor/music/index.ts b/src/assets/halls-of-valor/music/index.ts index 309ddac..59ef0c4 100644 --- a/src/assets/halls-of-valor/music/index.ts +++ b/src/assets/halls-of-valor/music/index.ts @@ -1,3 +1,3 @@ -import HallsOfValorMusic1 from "./halls-of-valor-music-1.mp3"; +import HallsOfValorMusic1 from './halls-of-valor-music-1.mp3'; export default [HallsOfValorMusic1]; diff --git a/src/assets/halls-of-valor/preview/index.ts b/src/assets/halls-of-valor/preview/index.ts index d237d0c..319d9f3 100644 --- a/src/assets/halls-of-valor/preview/index.ts +++ b/src/assets/halls-of-valor/preview/index.ts @@ -1,6 +1,6 @@ -import HallsOfValor1 from "./halls-of-valor-1.jpg"; -import HallsOfValor2 from "./halls-of-valor-2.jpg"; -import HallsOfValor3 from "./halls-of-valor-3.jpg"; -import HallsOfValor4 from "./halls-of-valor-4.jpg"; +import HallsOfValor1 from './halls-of-valor-1.jpg'; +import HallsOfValor2 from './halls-of-valor-2.jpg'; +import HallsOfValor3 from './halls-of-valor-3.jpg'; +import HallsOfValor4 from './halls-of-valor-4.jpg'; export default [HallsOfValor1, HallsOfValor2, HallsOfValor3, HallsOfValor4]; diff --git a/src/assets/halls-of-valor/view/index.ts b/src/assets/halls-of-valor/view/index.ts index d237d0c..319d9f3 100644 --- a/src/assets/halls-of-valor/view/index.ts +++ b/src/assets/halls-of-valor/view/index.ts @@ -1,6 +1,6 @@ -import HallsOfValor1 from "./halls-of-valor-1.jpg"; -import HallsOfValor2 from "./halls-of-valor-2.jpg"; -import HallsOfValor3 from "./halls-of-valor-3.jpg"; -import HallsOfValor4 from "./halls-of-valor-4.jpg"; +import HallsOfValor1 from './halls-of-valor-1.jpg'; +import HallsOfValor2 from './halls-of-valor-2.jpg'; +import HallsOfValor3 from './halls-of-valor-3.jpg'; +import HallsOfValor4 from './halls-of-valor-4.jpg'; export default [HallsOfValor1, HallsOfValor2, HallsOfValor3, HallsOfValor4]; diff --git a/src/assets/index.ts b/src/assets/index.ts index 6038bc3..79934d8 100644 --- a/src/assets/index.ts +++ b/src/assets/index.ts @@ -1,20 +1,24 @@ -import StormWind from "./stormwind-park"; -import HallsOfValor from "./halls-of-valor"; -import Pandaria from "./pandaria"; -import Dalaran from "./dalaran"; -import CrystalsongForest from "./crystalsong-forest"; -import Nagrand from "./nagrand"; +import StormWind from './stormwind-park'; +import HallsOfValor from './halls-of-valor'; +import Pandaria from './pandaria'; +import Dalaran from './dalaran'; +import CrystalsongForest from './crystalsong-forest'; +import Nagrand from './nagrand'; +import GrizzlyHills from './grizzly-hills'; +import Boralus from './boralus'; export default [ - StormWind, - HallsOfValor, - Pandaria, - Dalaran, - CrystalsongForest, - Nagrand, + StormWind, + HallsOfValor, + Pandaria, + Dalaran, + CrystalsongForest, + Nagrand, + GrizzlyHills, + Boralus, ]; export const Plug = - "data:image/png;base64,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"; + 'data:image/png;base64,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'; export const Background = - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAAGf1PHVAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9btaItDhYUcchQnSxIFXGUKhbBQmkrtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEydFJ0UVK/F9SaBHjwXE/3t173L0DvI0KU4yuSUBRTT0VjwnZ3Krgf0UPhtCPIKIiM7REejED1/F1Dw9f7yI8y/3cnyMo5w0GeATiOabpJvEG8cymqXHeJw6xkigTnxNP6HRB4keuSw6/cS7a7OWZIT2TmicOEQvFDpY6mJV0hXiaOCwrKuV7sw7LnLc4K5Uaa92TvzCQV1fSXKc5ijiWkEASAiTUUEYFJiK0qqQYSNF+zMU/YvuT5JLIVQYjxwKqUCDafvA/+N2tUZiKOkmBGND9YlkfY4B/F2jWLev72LKaJ4DvGbhS2/5qA5j9JL3e1sJHwMA2cHHd1qQ94HIHGH7SRF20JR9Nb6EAvJ/RN+WAwVugb83prbWP0wcgQ10t3wAHh8B4kbLXXd7d29nbv2da/f0Ai3tyseJUg2cAAAAGYktHRAAoACoANvKSiRUAAB+LSURBVHja7MEBAQAAAICQ/q/uCAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDbgwMSAAAAAEH/X7cjUAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAmQCfSwABEGvUBwAAAABJRU5ErkJggg=="; + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAQ4CAYAAAGf1PHVAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9btaItDhYUcchQnSxIFXGUKhbBQmkrtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APEydFJ0UVK/F9SaBHjwXE/3t173L0DvI0KU4yuSUBRTT0VjwnZ3Krgf0UPhtCPIKIiM7REejED1/F1Dw9f7yI8y/3cnyMo5w0GeATiOabpJvEG8cymqXHeJw6xkigTnxNP6HRB4keuSw6/cS7a7OWZIT2TmicOEQvFDpY6mJV0hXiaOCwrKuV7sw7LnLc4K5Uaa92TvzCQV1fSXKc5ijiWkEASAiTUUEYFJiK0qqQYSNF+zMU/YvuT5JLIVQYjxwKqUCDafvA/+N2tUZiKOkmBGND9YlkfY4B/F2jWLev72LKaJ4DvGbhS2/5qA5j9JL3e1sJHwMA2cHHd1qQ94HIHGH7SRF20JR9Nb6EAvJ/RN+WAwVugb83prbWP0wcgQ10t3wAHh8B4kbLXXd7d29nbv2da/f0Ai3tyseJUg2cAAAAGYktHRAAoACoANvKSiRUAAB+LSURBVHja7MEBAQAAAICQ/q/uCAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIDbgwMSAAAAAEH/X7cjUAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAmQCfSwABEGvUBwAAAABJRU5ErkJggg=='; diff --git a/src/assets/nagrand/index.ts b/src/assets/nagrand/index.ts index 33b340e..6332485 100644 --- a/src/assets/nagrand/index.ts +++ b/src/assets/nagrand/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "nagrand", - music, - view, - preview, + name: 'nagrand', + music, + view, + preview, }; diff --git a/src/assets/nagrand/music/index.ts b/src/assets/nagrand/music/index.ts index 32c6621..6b5dd72 100644 --- a/src/assets/nagrand/music/index.ts +++ b/src/assets/nagrand/music/index.ts @@ -1,6 +1,6 @@ -import NagrandMusic1 from "./nagrand-music-1.ogg"; -import NagrandMusic2 from "./nagrand-music-2.ogg"; -import NagrandMusic3 from "./nagrand-music-3.ogg"; -import NagrandMusic4 from "./nagrand-music-4.ogg"; +import NagrandMusic1 from './nagrand-music-1.ogg'; +import NagrandMusic2 from './nagrand-music-2.ogg'; +import NagrandMusic3 from './nagrand-music-3.ogg'; +import NagrandMusic4 from './nagrand-music-4.ogg'; export default [NagrandMusic1, NagrandMusic2, NagrandMusic3, NagrandMusic4]; diff --git a/src/assets/nagrand/preview/index.ts b/src/assets/nagrand/preview/index.ts index 978bf44..f61a84e 100644 --- a/src/assets/nagrand/preview/index.ts +++ b/src/assets/nagrand/preview/index.ts @@ -1,7 +1,7 @@ -import Nagrand1 from "./nagrand-1.jpg"; -import Nagrand2 from "./nagrand-2.jpg"; -import Nagrand3 from "./nagrand-3.jpg"; -import Nagrand4 from "./nagrand-4.jpg"; -import Nagrand5 from "./nagrand-5.jpg"; +import Nagrand1 from './nagrand-1.jpg'; +import Nagrand2 from './nagrand-2.jpg'; +import Nagrand3 from './nagrand-3.jpg'; +import Nagrand4 from './nagrand-4.jpg'; +import Nagrand5 from './nagrand-5.jpg'; export default [Nagrand1, Nagrand2, Nagrand3, Nagrand4, Nagrand5]; diff --git a/src/assets/nagrand/view/index.ts b/src/assets/nagrand/view/index.ts index 978bf44..f61a84e 100644 --- a/src/assets/nagrand/view/index.ts +++ b/src/assets/nagrand/view/index.ts @@ -1,7 +1,7 @@ -import Nagrand1 from "./nagrand-1.jpg"; -import Nagrand2 from "./nagrand-2.jpg"; -import Nagrand3 from "./nagrand-3.jpg"; -import Nagrand4 from "./nagrand-4.jpg"; -import Nagrand5 from "./nagrand-5.jpg"; +import Nagrand1 from './nagrand-1.jpg'; +import Nagrand2 from './nagrand-2.jpg'; +import Nagrand3 from './nagrand-3.jpg'; +import Nagrand4 from './nagrand-4.jpg'; +import Nagrand5 from './nagrand-5.jpg'; export default [Nagrand1, Nagrand2, Nagrand3, Nagrand4, Nagrand5]; diff --git a/src/assets/pandaren.mp4 b/src/assets/pandaren.mp4 new file mode 100644 index 0000000..7170be6 Binary files /dev/null and b/src/assets/pandaren.mp4 differ diff --git a/src/assets/pandaria/index.ts b/src/assets/pandaria/index.ts index 321ccd7..c40ce6a 100644 --- a/src/assets/pandaria/index.ts +++ b/src/assets/pandaria/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "pandaria", - music, - view, - preview, + name: 'pandaria', + music, + view, + preview, }; diff --git a/src/assets/pandaria/music/index.ts b/src/assets/pandaria/music/index.ts index fc46c8b..933028e 100644 --- a/src/assets/pandaria/music/index.ts +++ b/src/assets/pandaria/music/index.ts @@ -1,6 +1,6 @@ -import Pandaria1 from "./pandaria-music-1.mp3"; -import Pandaria2 from "./pandaria-music-2.mp3"; -import Pandaria3 from "./pandaria-music-3.mp3"; -import Pandaria4 from "./pandaria-music-4.mp3"; +import Pandaria1 from './pandaria-music-1.mp3'; +import Pandaria2 from './pandaria-music-2.mp3'; +import Pandaria3 from './pandaria-music-3.mp3'; +import Pandaria4 from './pandaria-music-4.mp3'; export default [Pandaria1, Pandaria2, Pandaria3, Pandaria4]; diff --git a/src/assets/pandaria/preview/index.ts b/src/assets/pandaria/preview/index.ts index abe107e..6b5fc73 100644 --- a/src/assets/pandaria/preview/index.ts +++ b/src/assets/pandaria/preview/index.ts @@ -1,15 +1,8 @@ -import Pandaria1 from "./pandaria-1.jpg"; -import Pandaria2 from "./pandaria-2.jpg"; -import Pandaria3 from "./pandaria-3.jpg"; -import Pandaria4 from "./pandaria-4.jpg"; -import Pandaria5 from "./pandaria-5.jpg"; -import Pandaria6 from "./pandaria-6.jpg"; +import Pandaria1 from './pandaria-1.jpg'; +import Pandaria2 from './pandaria-2.jpg'; +import Pandaria3 from './pandaria-3.jpg'; +import Pandaria4 from './pandaria-4.jpg'; +import Pandaria5 from './pandaria-5.jpg'; +import Pandaria6 from './pandaria-6.jpg'; -export default [ - Pandaria1, - Pandaria2, - Pandaria3, - Pandaria4, - Pandaria5, - Pandaria6, -]; +export default [Pandaria1, Pandaria2, Pandaria3, Pandaria4, Pandaria5, Pandaria6]; diff --git a/src/assets/pandaria/view/index.ts b/src/assets/pandaria/view/index.ts index abe107e..6b5fc73 100644 --- a/src/assets/pandaria/view/index.ts +++ b/src/assets/pandaria/view/index.ts @@ -1,15 +1,8 @@ -import Pandaria1 from "./pandaria-1.jpg"; -import Pandaria2 from "./pandaria-2.jpg"; -import Pandaria3 from "./pandaria-3.jpg"; -import Pandaria4 from "./pandaria-4.jpg"; -import Pandaria5 from "./pandaria-5.jpg"; -import Pandaria6 from "./pandaria-6.jpg"; +import Pandaria1 from './pandaria-1.jpg'; +import Pandaria2 from './pandaria-2.jpg'; +import Pandaria3 from './pandaria-3.jpg'; +import Pandaria4 from './pandaria-4.jpg'; +import Pandaria5 from './pandaria-5.jpg'; +import Pandaria6 from './pandaria-6.jpg'; -export default [ - Pandaria1, - Pandaria2, - Pandaria3, - Pandaria4, - Pandaria5, - Pandaria6, -]; +export default [Pandaria1, Pandaria2, Pandaria3, Pandaria4, Pandaria5, Pandaria6]; diff --git a/src/assets/stormwind-park/index.ts b/src/assets/stormwind-park/index.ts index 8aa794f..116747a 100644 --- a/src/assets/stormwind-park/index.ts +++ b/src/assets/stormwind-park/index.ts @@ -1,10 +1,10 @@ -import preview from "./preview"; -import view from "./view"; -import music from "./music"; +import preview from './preview'; +import view from './view'; +import music from './music'; export default { - name: "stormwind-park", - music, - view, - preview, + name: 'stormwind-park', + music, + view, + preview, }; diff --git a/src/assets/stormwind-park/music/index.ts b/src/assets/stormwind-park/music/index.ts index 0a86537..97ef510 100644 --- a/src/assets/stormwind-park/music/index.ts +++ b/src/assets/stormwind-park/music/index.ts @@ -1,4 +1,4 @@ -import StormwindMusic1 from "./stormwind-park-music-1.mp3"; -import StormwindMusic2 from "./stormwind-park-music-2.mp3"; +import StormwindMusic1 from './stormwind-park-music-1.mp3'; +import StormwindMusic2 from './stormwind-park-music-2.mp3'; export default [StormwindMusic1, StormwindMusic2]; diff --git a/src/assets/stormwind-park/preview/index.ts b/src/assets/stormwind-park/preview/index.ts index 220ef75..046bdf1 100644 --- a/src/assets/stormwind-park/preview/index.ts +++ b/src/assets/stormwind-park/preview/index.ts @@ -1,21 +1,21 @@ -import StormwindPark1 from "./stormwind-park-1.jpg"; -import StormwindPark2 from "./stormwind-park-2.jpg"; -import StormwindPark3 from "./stormwind-park-3.jpg"; -import StormwindPark4 from "./stormwind-park-4.jpg"; -import StormwindPark5 from "./stormwind-park-5.jpg"; -import StormwindPark6 from "./stormwind-park-6.jpg"; -import StormwindPark7 from "./stormwind-park-7.jpg"; -import StormwindPark8 from "./stormwind-park-8.jpg"; -import StormwindPark9 from "./stormwind-park-9.jpg"; +import StormwindPark1 from './stormwind-park-1.jpg'; +import StormwindPark2 from './stormwind-park-2.jpg'; +import StormwindPark3 from './stormwind-park-3.jpg'; +import StormwindPark4 from './stormwind-park-4.jpg'; +import StormwindPark5 from './stormwind-park-5.jpg'; +import StormwindPark6 from './stormwind-park-6.jpg'; +import StormwindPark7 from './stormwind-park-7.jpg'; +import StormwindPark8 from './stormwind-park-8.jpg'; +import StormwindPark9 from './stormwind-park-9.jpg'; export default [ - StormwindPark1, - StormwindPark2, - StormwindPark3, - StormwindPark4, - StormwindPark5, - StormwindPark6, - StormwindPark7, - StormwindPark8, - StormwindPark9, + StormwindPark1, + StormwindPark2, + StormwindPark3, + StormwindPark4, + StormwindPark5, + StormwindPark6, + StormwindPark7, + StormwindPark8, + StormwindPark9, ]; diff --git a/src/assets/stormwind-park/view/index.ts b/src/assets/stormwind-park/view/index.ts index 220ef75..046bdf1 100644 --- a/src/assets/stormwind-park/view/index.ts +++ b/src/assets/stormwind-park/view/index.ts @@ -1,21 +1,21 @@ -import StormwindPark1 from "./stormwind-park-1.jpg"; -import StormwindPark2 from "./stormwind-park-2.jpg"; -import StormwindPark3 from "./stormwind-park-3.jpg"; -import StormwindPark4 from "./stormwind-park-4.jpg"; -import StormwindPark5 from "./stormwind-park-5.jpg"; -import StormwindPark6 from "./stormwind-park-6.jpg"; -import StormwindPark7 from "./stormwind-park-7.jpg"; -import StormwindPark8 from "./stormwind-park-8.jpg"; -import StormwindPark9 from "./stormwind-park-9.jpg"; +import StormwindPark1 from './stormwind-park-1.jpg'; +import StormwindPark2 from './stormwind-park-2.jpg'; +import StormwindPark3 from './stormwind-park-3.jpg'; +import StormwindPark4 from './stormwind-park-4.jpg'; +import StormwindPark5 from './stormwind-park-5.jpg'; +import StormwindPark6 from './stormwind-park-6.jpg'; +import StormwindPark7 from './stormwind-park-7.jpg'; +import StormwindPark8 from './stormwind-park-8.jpg'; +import StormwindPark9 from './stormwind-park-9.jpg'; export default [ - StormwindPark1, - StormwindPark2, - StormwindPark3, - StormwindPark4, - StormwindPark5, - StormwindPark6, - StormwindPark7, - StormwindPark8, - StormwindPark9, + StormwindPark1, + StormwindPark2, + StormwindPark3, + StormwindPark4, + StormwindPark5, + StormwindPark6, + StormwindPark7, + StormwindPark8, + StormwindPark9, ]; diff --git a/src/components/bordered-header/bordered-header.scss b/src/components/bordered-header/bordered-header.scss index 95df693..1846043 100644 --- a/src/components/bordered-header/bordered-header.scss +++ b/src/components/bordered-header/bordered-header.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $borderWidth: 12px; $borderOutset: 8px; diff --git a/src/components/bordered-header/bordered-header.tsx b/src/components/bordered-header/bordered-header.tsx index c86e14a..2b048ba 100644 --- a/src/components/bordered-header/bordered-header.tsx +++ b/src/components/bordered-header/bordered-header.tsx @@ -1,13 +1,13 @@ -import * as React from "react"; +import * as React from 'react'; -import "./bordered-header.scss"; +import './bordered-header.scss'; interface Props { - children: React.ReactNode; + children: React.ReactNode; } export const BorderedHeader: React.FC = ({ children }: Props) => ( -
{children}
+
{children}
); -BorderedHeader.displayName = "BorderedHeader"; +BorderedHeader.displayName = 'BorderedHeader'; diff --git a/src/components/bordered-header/index.ts b/src/components/bordered-header/index.ts new file mode 100644 index 0000000..ee7e354 --- /dev/null +++ b/src/components/bordered-header/index.ts @@ -0,0 +1 @@ +export { BorderedHeader } from './bordered-header'; diff --git a/src/components/checkbox-component/checkbox-component.scss b/src/components/checkbox-component/checkbox-component.scss index c1883e3..975c797 100644 --- a/src/components/checkbox-component/checkbox-component.scss +++ b/src/components/checkbox-component/checkbox-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; .checkbox { width: 32px; diff --git a/src/components/checkbox-component/checkbox-component.tsx b/src/components/checkbox-component/checkbox-component.tsx index b94fb93..ae837da 100644 --- a/src/components/checkbox-component/checkbox-component.tsx +++ b/src/components/checkbox-component/checkbox-component.tsx @@ -1,40 +1,36 @@ -import * as React from "react"; -import { KeyboardEvent, useCallback } from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { KeyboardEvent, useCallback } from 'react'; +import cn from 'classnames'; -import { Settings } from "../../settings-context"; +import { Settings } from '../../settings-context'; -import "./checkbox-component.scss"; +import './checkbox-component.scss'; interface Props { - handleClick: (option: keyof Settings) => void; - optionName: keyof Settings; - value: boolean; + handleClick: (option: keyof Settings) => () => void; + optionName: keyof Settings; + value: boolean; } -export const CheckBoxComponent: React.FC = ({ - handleClick, - optionName, - value, -}: Props) => { - const handleKeyDown = useCallback( - (e: KeyboardEvent, option: keyof Settings) => { - if (e.keyCode !== 13 && e.keyCode !== 32) { - return; - } - handleClick(option); - }, - [handleClick] - ); +export const CheckboxComponent: React.FC = ({ handleClick, optionName, value }: Props) => { + const handleKeyDown = useCallback( + (option: keyof Settings) => (e: KeyboardEvent) => { + if (e.keyCode !== 13 && e.keyCode !== 32) { + return; + } + handleClick(option)(); + }, + [handleClick], + ); - return ( -
handleClick(optionName)} - onKeyDown={(e) => handleKeyDown(e, optionName)} - className={cn("checkbox", { "checkbox--checked": value })} - /> - ); + return ( +
+ ); }; -CheckBoxComponent.displayName = "CheckBoxComponent"; +CheckboxComponent.displayName = 'CheckboxComponent'; diff --git a/src/components/checkbox-component/index.ts b/src/components/checkbox-component/index.ts new file mode 100644 index 0000000..60baa4d --- /dev/null +++ b/src/components/checkbox-component/index.ts @@ -0,0 +1 @@ +export { CheckboxComponent } from './checkbox-component'; diff --git a/src/components/dialog-box/dialog-box.scss b/src/components/dialog-box/dialog-box.scss new file mode 100644 index 0000000..a4c9639 --- /dev/null +++ b/src/components/dialog-box/dialog-box.scss @@ -0,0 +1,34 @@ +@import "../../pages/app/style"; + +$dialogWidth: 300px; +$dialogHeight: 70px; +$borderWidth: 12px; +$borderOutset: 8px; + +.dialog-box { + position: absolute; + top: 50%; + left: 50%; + z-index: 10; + display: flex; + flex-direction: column; + align-items: center; + justify-content: space-between; + width: $dialogWidth; + height: $dialogHeight; + background-color: $settingsBackground; + border: $borderWidth double $fontColor; + border-image: $border 15 15 15 15 fill; + border-image-outset: $borderOutset; + border-image-repeat: stretch stretch; + transform: translate(-50%, -50%); + + &-message { + display: block; + color: $fontColor; + font-size: $fontSize; + font-family: $font; + letter-spacing: $fontSpacing; + text-shadow: $fontShadow; + } +} diff --git a/src/components/dialog-box/dialog-box.tsx b/src/components/dialog-box/dialog-box.tsx new file mode 100644 index 0000000..9eef959 --- /dev/null +++ b/src/components/dialog-box/dialog-box.tsx @@ -0,0 +1,23 @@ +import * as React from 'react'; +import { useSettings } from '../../hooks'; + +import './dialog-box.scss'; + +interface Props { + onClick: () => void; + children: React.ReactNode; +} + +export const DialogBox: React.FC = ({ children, onClick }: Props) => { + const { + settings: { language }, + } = useSettings(); + return ( +
+ {children} + +
+ ); +}; + +DialogBox.displayName = 'DialogBox'; diff --git a/src/components/dialog-box/index.ts b/src/components/dialog-box/index.ts new file mode 100644 index 0000000..c7abecf --- /dev/null +++ b/src/components/dialog-box/index.ts @@ -0,0 +1 @@ +export { DialogBox } from './dialog-box'; diff --git a/src/components/dialog-modal/dialog-modal.scss b/src/components/dialog-modal/dialog-modal.scss new file mode 100644 index 0000000..f0095fd --- /dev/null +++ b/src/components/dialog-modal/dialog-modal.scss @@ -0,0 +1,98 @@ +@import "../../pages/app/style"; + +.dialog-modal { + position: absolute; + left: 50%; + z-index: 8; + display: flex; + border-radius: 5px; + transform: translate(-50%, -100%); + opacity: 0; + transition: top $transitionDuration $transitionType, opacity $transitionDuration $transitionType; + + &_shown { + opacity: 1; + } + + &_border { + display: flex; + align-items: center; + justify-content: center; + width: 130px; + height: 130px; + border-image: $dialogBorder 20 20 20 20 fill; + border-image-width: 20px; + border-image-repeat: round round; + transform: scale(1.1); + } + + &_texture { + width: 110px; + height: 110px; + background-image: $backgroundTexture; + } + + &-image { + width: 110px; + height: 110px; + background-image: url("../../assets/dinastro.gif"); + background-size: 120px 120px; + box-shadow: inset 0 0 16px 0 rgba(0, 0, 0, .9); + } + + &-content { + width: 400px; + padding: 5px 20px; + background-color: rgba(0, 0, 0, .7); + border-radius: 5px; + box-shadow: 0 0 20px 5px rgba(0, 0, 0, .9); + + &__title { + color: $fontColor; + font-size: 18px; + font-family: $fontMorpheus; + letter-spacing: 2px; + text-shadow: $fontShadow; + } + + &__text { + color: #fff; + font-size: 16px; + font-family: $font; + line-height: 1.4; + text-shadow: $fontShadow; + opacity: 0; + transition: opacity $transitionDuration / 2 $transitionType; + + &_shown { + opacity: 1; + } + } + } + + &-button { + position: absolute; + top: 0; + right: 0; + width: 32px; + height: 32px; + background-image: $dialogCloseButtonUp; + background-repeat: no-repeat; + background-position: center; + border-radius: 8px; + + &:hover { + background-image: $dialogCloseButtonHover, $dialogCloseButtonUp; + } + + &:focus { + outline: none; + box-shadow: inset $hoverBox; + } + + &:active { + justify-content: center; + background-image: $dialogCloseButtonDown; + } + } +} diff --git a/src/components/dialog-modal/dialog-modal.tsx b/src/components/dialog-modal/dialog-modal.tsx new file mode 100644 index 0000000..ab1691c --- /dev/null +++ b/src/components/dialog-modal/dialog-modal.tsx @@ -0,0 +1,61 @@ +import * as React from 'react'; +import { KeyboardEvent, memo, useCallback } from 'react'; +import cn from 'classnames'; + +import './dialog-modal.scss'; +import { useDialogStep } from '../../hooks'; + +interface Props { + avatar?: string; + text: string[]; + title?: string; + offsetTop: number; + isShown: boolean; + onClose: () => void; +} + +export const DialogModal = memo(({ text, title, offsetTop, isShown, onClose }: Props) => { + const { step, isStepShown } = useDialogStep({ text }); + const handleKeyDown = useCallback( + (e: KeyboardEvent) => { + if (e.keyCode !== 13 && e.keyCode !== 32) { + return; + } + onClose(); + }, + [onClose], + ); + + return ( +
+
+
+
+
+
+
+
{title}
+
+ {step} +
+
+
+
+ ); +}); + +DialogModal.displayName = 'DialogModal'; diff --git a/src/components/dialog-modal/index.ts b/src/components/dialog-modal/index.ts new file mode 100644 index 0000000..09bb082 --- /dev/null +++ b/src/components/dialog-modal/index.ts @@ -0,0 +1 @@ +export { DialogModal } from './dialog-modal'; diff --git a/src/components/index.ts b/src/components/index.ts index 15b29b7..bc75ae3 100644 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,11 +1,13 @@ -export { ViewComponent } from "./view-component/view-component"; -export { SelectComponent } from "./select-component/select-component"; -export { PanelComponent } from "./panel-component/panel-component"; -export { PreviewComponent } from "./preview-component/preview-component"; -export { RangeComponent } from "./range-component/range-component"; -export { SettingsComponent } from "./settings-component/settings-component"; -export { CheckBoxComponent } from "./checkbox-component/checkbox-component"; -export { BorderedHeader } from "./bordered-header/bordered-header"; -export { MusicComponent } from "./music-component/music-component"; -export { MainMenuComponent } from "./main-menu-component/main-menu-component"; -export { MenuItemComponent } from "./menu-item-component/menu-item-component"; +export { ViewComponent } from './view-component'; +export { SelectComponent } from './select-component'; +export { PanelComponent } from './panel-component'; +export { PreviewComponent } from './preview-component'; +export { RangeComponent } from './range-component'; +export { SettingsComponent } from './settings-component'; +export { CheckboxComponent } from './checkbox-component'; +export { BorderedHeader } from './bordered-header'; +export { MusicComponent } from './music-component'; +export { MainMenuComponent } from './main-menu-component'; +export { MenuItemComponent } from './menu-item-component'; +export { DialogBox } from './dialog-box'; +export { DialogModal } from './dialog-modal'; diff --git a/src/components/main-menu-component/index.ts b/src/components/main-menu-component/index.ts new file mode 100644 index 0000000..5f49451 --- /dev/null +++ b/src/components/main-menu-component/index.ts @@ -0,0 +1 @@ +export { MainMenuComponent } from './main-menu-component'; diff --git a/src/components/main-menu-component/main-menu-component.scss b/src/components/main-menu-component/main-menu-component.scss index ade1c93..860ba74 100644 --- a/src/components/main-menu-component/main-menu-component.scss +++ b/src/components/main-menu-component/main-menu-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $menuHeight: 42px; $menuWidth: 290px; diff --git a/src/components/main-menu-component/main-menu-component.tsx b/src/components/main-menu-component/main-menu-component.tsx index 83c1e54..4e8c3ce 100644 --- a/src/components/main-menu-component/main-menu-component.tsx +++ b/src/components/main-menu-component/main-menu-component.tsx @@ -1,13 +1,13 @@ -import * as React from "react"; +import * as React from 'react'; -import "./main-menu-component.scss"; +import './main-menu-component.scss'; interface Props { - children: React.ReactNode; + children: React.ReactNode; } export const MainMenuComponent: React.FC = ({ children }: Props) => { - return
{children}
; + return
{children}
; }; -MainMenuComponent.displayName = "MainMenuComponent"; +MainMenuComponent.displayName = 'MainMenuComponent'; diff --git a/src/components/menu-item-component/index.ts b/src/components/menu-item-component/index.ts new file mode 100644 index 0000000..e98f70e --- /dev/null +++ b/src/components/menu-item-component/index.ts @@ -0,0 +1 @@ +export { MenuItemComponent } from './menu-item-component'; diff --git a/src/components/menu-item-component/menu-item-component.scss b/src/components/menu-item-component/menu-item-component.scss index 22f5c8c..2243598 100644 --- a/src/components/menu-item-component/menu-item-component.scss +++ b/src/components/menu-item-component/menu-item-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $menuItemWidth: 32px; $menuItemHeight: 41px; @@ -7,16 +7,31 @@ $menuItemHeight: 41px; z-index: 4; width: $menuItemWidth - 4px; height: $menuItemHeight - 4px; - background-image: $helpButton; - background-repeat: no-repeat; - background-position: center; - background-size: $menuItemWidth $menuItemHeight; border-radius: 6px; - &--active { + &--active.menu-item-help { background-image: $helpButtonClick; } + &--active.menu-item-settings { + background-image: $settingsButtonClick; + } + + &-help, + &-settings { + background-repeat: no-repeat; + background-position: center; + background-size: $menuItemWidth $menuItemHeight; + } + + &-help { + background-image: $helpButton; + } + + &-settings { + background-image: $settingsButton; + } + &:hover { box-shadow: $hoverBox; } @@ -26,7 +41,11 @@ $menuItemHeight: 41px; box-shadow: $hoverBox; } - &:active { + &:active.menu-item-help { background-image: $helpButtonClick; } + + &:active.menu-item-settings { + background-image: $settingsButtonClick; + } } diff --git a/src/components/menu-item-component/menu-item-component.tsx b/src/components/menu-item-component/menu-item-component.tsx index 7ddfb16..fc84acc 100644 --- a/src/components/menu-item-component/menu-item-component.tsx +++ b/src/components/menu-item-component/menu-item-component.tsx @@ -1,36 +1,39 @@ -import * as React from "react"; -import { KeyboardEvent, useCallback } from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { KeyboardEvent, useCallback } from 'react'; +import cn from 'classnames'; -import "./menu-item-component.scss"; +import './menu-item-component.scss'; interface Props { - isActive: boolean; - handleClick: () => void; + isActive: boolean; + type: MenuItems; + handleClick: () => void; } -export const MenuItemComponent: React.FC = ({ - isActive, - handleClick, -}: Props) => { - const handleKeyDown = useCallback( - (e: KeyboardEvent) => { - if (e.keyCode !== 13 && e.keyCode !== 32) { - return; - } - handleClick(); - }, - [handleClick] - ); +export enum MenuItems { + settings = 'settings', + help = 'help', +} - return ( -
- ); +export const MenuItemComponent: React.FC = ({ isActive, handleClick, type }: Props) => { + const handleKeyDown = useCallback( + (e: KeyboardEvent) => { + if (e.keyCode !== 13 && e.keyCode !== 32) { + return; + } + handleClick(); + }, + [handleClick], + ); + + return ( +
+ ); }; -MenuItemComponent.displayName = "MainMenuComponent"; +MenuItemComponent.displayName = 'MainMenuComponent'; diff --git a/src/components/music-component/index.ts b/src/components/music-component/index.ts new file mode 100644 index 0000000..fbf301b --- /dev/null +++ b/src/components/music-component/index.ts @@ -0,0 +1 @@ +export { MusicComponent } from './music-component'; diff --git a/src/components/music-component/music-component.ts b/src/components/music-component/music-component.ts index a20672a..64686e4 100644 --- a/src/components/music-component/music-component.ts +++ b/src/components/music-component/music-component.ts @@ -1,49 +1,48 @@ -import * as React from "react"; -import { useEffect, useMemo } from "react"; -import { randomNumber, soundLoad, UI_MUSIC_VOLUME } from "../../utils"; -import Sound from "../../modules/sound"; +import * as React from 'react'; +import { useEffect, useMemo } from 'react'; +import { randomNumber, soundLoad, UI_MUSIC_VOLUME } from '../../utils'; +import Sound from '../../modules/sound'; interface Props { - music: string[]; - setPlaying: (value: boolean) => void; - setCurrentPlaying: (value: Sound | undefined) => void; + music: string[]; + setPlaying: (value: boolean) => void; + setCurrentPlaying: (value: Sound | undefined) => void; } /* eslint-disable no-param-reassign */ export const MusicComponent: React.FC = ({ - music, - setPlaying, - setCurrentPlaying, + music, + setPlaying, + setCurrentPlaying, }: Props) => { - const musicArray = useMemo( - () => music.map((sound) => soundLoad(sound, UI_MUSIC_VOLUME)), - [music] - ); + const musicArray = useMemo(() => music.map((sound) => soundLoad(sound, UI_MUSIC_VOLUME)), [ + music, + ]); - useEffect(() => { - musicArray.forEach((sound) => { - sound.audio.onplay = () => { - setPlaying(true); - setCurrentPlaying(sound); - }; - sound.audio.onended = () => { - musicArray[randomNumber(0, musicArray.length)].playMusic(); - }; - }); - setCurrentPlaying(musicArray[randomNumber(0, musicArray.length)]); + useEffect(() => { + musicArray.forEach((sound) => { + sound.audio.onplay = () => { + setPlaying(true); + setCurrentPlaying(sound); + }; + sound.audio.onended = () => { + musicArray[randomNumber(0, musicArray.length)].playMusic(); + }; + }); + setCurrentPlaying(musicArray[randomNumber(0, musicArray.length)]); - return () => { - musicArray.forEach(({ audio }) => { - audio.onplay = null; - audio.onended = null; - audio.pause(); - audio.currentTime = 0; - }); - setCurrentPlaying(undefined); - }; - }, [musicArray, setPlaying, setCurrentPlaying]); + return () => { + musicArray.forEach(({ audio }) => { + audio.onplay = null; + audio.onended = null; + audio.pause(); + audio.currentTime = 0; + }); + setCurrentPlaying(undefined); + }; + }, [musicArray, setPlaying, setCurrentPlaying]); - return null; + return null; }; -MusicComponent.displayName = "MusicComponent"; +MusicComponent.displayName = 'MusicComponent'; diff --git a/src/components/panel-component/index.ts b/src/components/panel-component/index.ts new file mode 100644 index 0000000..b27cae5 --- /dev/null +++ b/src/components/panel-component/index.ts @@ -0,0 +1 @@ +export { PanelComponent } from './panel-component'; diff --git a/src/components/panel-component/panel-component.scss b/src/components/panel-component/panel-component.scss index 098fca9..8679725 100644 --- a/src/components/panel-component/panel-component.scss +++ b/src/components/panel-component/panel-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $panelWidth: $previewWidth + 40px; $panelHeight: $previewHeight + 40px; @@ -14,6 +14,10 @@ $panelBorderSize: 8px; background-repeat: repeat; border: none; + &:focus { + outline: none; + } + &-content { display: flex; align-items: center; @@ -57,6 +61,7 @@ $panelBorderSize: 8px; border-image: $borderRight 32 16 0 0; border-image-width: 100% $panelBorderSize*2 0 0; border-image-outset: 0 $panelBorderSize - 2px 0 0; + border-image-repeat: round round; transition: left $transitionDuration $transitionType; .panel-content { diff --git a/src/components/panel-component/panel-component.tsx b/src/components/panel-component/panel-component.tsx index 0fcb95e..8b21c6d 100644 --- a/src/components/panel-component/panel-component.tsx +++ b/src/components/panel-component/panel-component.tsx @@ -1,232 +1,57 @@ -import * as React from "react"; -import { - FocusEvent, - MouseEvent, - TouchEvent, - useCallback, - useEffect, - useMemo, - useRef, - useState, - WheelEvent, -} from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { forwardRef, MouseEvent, useCallback, useRef } from 'react'; +import cn from 'classnames'; -import { - ANIMATION_DURATION, - debounce, - PREVIEW_HEIGHT, - PREVIEW_WIDTH, - SPACE, -} from "../../utils"; -import { useSettings } from "../../hooks"; +import { usePanelScroll, useSettings } from '../../hooks'; +import { Orientation } from '../../utils'; -import "./panel-component.scss"; +import './panel-component.scss'; interface Props { - orientation: "bottom" | "left"; - isShown: boolean; - itemsCount: number; - setShown: () => void; - openSoundPlay: (volume?: number) => void; - closeSoundPlay: (volume?: number) => void; - children: React.ReactNode; + orientation: Orientation; + isShown: boolean; + itemsCount: number; + setShown: () => void; + children: React.ReactNode; } -export const PanelComponent: React.FC = ({ - isShown, - setShown, - children, - openSoundPlay, - closeSoundPlay, - itemsCount, - orientation, -}: Props) => { - const { - settings: { language, uiSound }, - } = useSettings(); - const [isDrag, setDrag] = useState(false); - const [trackPosition, setTrackPosition] = useState(0); - const [position, setPosition] = useState(0); - const [lastPosition, setLastPosition] = useState(0); +export const PanelComponent = forwardRef( + ({ isShown, setShown, children, itemsCount, orientation }: Props, ref) => { + const { + settings: { language }, + } = useSettings(); - const panel = useRef(null); - const isBottom = useMemo(() => orientation === "bottom", [orientation]); + const panel = useRef(null); - const windowOverflow = () => { - const { innerWidth, innerHeight } = window; - const windowSize = isBottom ? innerWidth : innerHeight; - const containerSize = - itemsCount * ((isBottom ? PREVIEW_WIDTH : PREVIEW_HEIGHT) + 15); - if (!(containerSize > windowSize)) { - return 0; - } - return Math.abs(containerSize - windowSize); - }; + // TODO: Keyboard place input + const { panelProps } = usePanelScroll({ orientation, itemsCount, panel, isShown }); - const changePosition = () => { - if (!panel.current) { - return; - } - panel.current.style.transform = `translate${ - isBottom ? "X" : "Y" - }(${-position}px)`; - }; + const handleClick = useCallback( + (event: MouseEvent) => { + event.preventDefault(); + setShown(); + }, + [setShown], + ); - const limiter = (value: number, overflow: number, isWheel = false) => { - let diff = (!isWheel ? trackPosition : 0) - value + lastPosition; - if (Math.abs(diff) > overflow + SPACE) { - diff = overflow + SPACE; - } else if (diff < 0) { - diff = 0; - } - return diff; - }; - - const handleClick = (event: MouseEvent) => { - event.preventDefault(); - setShown(); - if (!uiSound) { - return; - } - if (isShown) { - openSoundPlay(); - } else { - closeSoundPlay(); - } - }; - - const resetPanel = useCallback( - (animate = true) => { - if (!panel.current) { - return; - } - if (animate) { - panel.current.style.transition = `transform 0.5s`; - } - panel.current.style.transform = `unset`; - setTrackPosition(0); - setPosition(0); - setLastPosition(0); + return ( +
+
+ {isShown && children} +
+ +
+ ); }, - [panel] - ); +); - useEffect(() => { - let timeout: NodeJS.Timeout; - const handleResize = debounce(() => { - resetPanel(); - timeout = setTimeout(() => { - if (!panel || !panel.current) { - return; - } - panel.current.style.transition = "unset"; - }, ANIMATION_DURATION); - }, 100); - window.addEventListener("resize", handleResize); - return () => { - if (timeout) { - clearTimeout(timeout); - } - window.removeEventListener("resize", handleResize); - }; - }, [panel, resetPanel]); - - useEffect(() => { - if (!isShown) { - resetPanel(false); - } - }, [isShown, resetPanel]); - - const handleMouseMove = (e: MouseEvent) => { - if (!isDrag) { - return; - } - const overflow = windowOverflow(); - if (!overflow) { - return; - } - - const { clientX, clientY } = e; - const value = isBottom ? clientX : clientY; - const diff = limiter(value, overflow); - setPosition(diff); - changePosition(); - }; - - const handleMouseDown = (e: MouseEvent) => { - const { clientX, clientY } = e; - e.nativeEvent.stopImmediatePropagation(); - setTrackPosition(isBottom ? clientX : clientY); - setDrag(true); - }; - - const handleTouchstart = (e: TouchEvent) => { - const { touches } = e; - e.nativeEvent.stopImmediatePropagation(); - setTrackPosition(isBottom ? touches[0].clientX : touches[0].clientY); - setDrag(true); - }; - - const handleTouchMove = (e: TouchEvent) => { - const { touches } = e; - const { clientX, clientY } = touches[0]; - const overflow = windowOverflow(); - if (!overflow) { - return; - } - - const value = isBottom ? clientX : clientY; - const diff = limiter(value, overflow); - setPosition(diff); - changePosition(); - }; - - const handleFree = (e: MouseEvent | FocusEvent | TouchEvent) => { - e.nativeEvent.stopImmediatePropagation(); - setDrag(false); - setLastPosition(position); - }; - - const handleScroll = (e: WheelEvent) => { - const { deltaY } = e; - const overflow = windowOverflow(); - if (!overflow) { - return; - } - - const value = deltaY > 0 ? -80 : 80; - const diff = limiter(value, overflow, true); - setPosition(diff); - changePosition(); - setLastPosition(position); - }; - - return ( -
-
- {isShown && children} -
- -
- ); -}; - -PanelComponent.displayName = "PanelComponent"; +PanelComponent.displayName = 'PanelComponent'; diff --git a/src/components/preview-component/index.ts b/src/components/preview-component/index.ts new file mode 100644 index 0000000..c486d93 --- /dev/null +++ b/src/components/preview-component/index.ts @@ -0,0 +1 @@ +export { PreviewComponent } from './preview-component'; diff --git a/src/components/preview-component/preview-component.scss b/src/components/preview-component/preview-component.scss index b611069..05b0903 100644 --- a/src/components/preview-component/preview-component.scss +++ b/src/components/preview-component/preview-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $previewBorderWidth: 10px; $plugSize: 90px; diff --git a/src/components/preview-component/preview-component.tsx b/src/components/preview-component/preview-component.tsx index 5ec1663..cf7a52f 100644 --- a/src/components/preview-component/preview-component.tsx +++ b/src/components/preview-component/preview-component.tsx @@ -1,77 +1,76 @@ -import * as React from "react"; -import { useCallback, useEffect, useMemo, useState } from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; +import cn from 'classnames'; -import { useSettings } from "../../hooks"; -import { Plug } from "../../assets"; -import "./preview-component.scss"; -import { BorderedHeader } from ".."; +import { useSettings } from '../../hooks'; +import { Plug } from '../../assets'; +import './preview-component.scss'; +import { BorderedHeader } from '..'; interface Props { - name?: string; - isLoading: boolean; - src: string; - value: number; - handleChange: (value: number) => void; + name?: string; + isLoading: boolean; + src: string; + value: number; + handleChange: (value: number) => void; } export const PreviewComponent: React.FC = ({ - name = "", - src, - value, - handleChange, - isLoading, + name = '', + src, + value, + handleChange, + isLoading, }: Props) => { - const { - settings: { language }, - } = useSettings(); - const [isLoaded, setLoaded] = useState(false); - const image = useMemo(() => { - setLoaded(false); - const img = new Image(); - img.src = src; - return img; - }, [src]); + const { + settings: { language }, + } = useSettings(); + const [isLoaded, setLoaded] = useState(false); + // TODO: Refactor like in ViewComponent + const image = useMemo(() => { + setLoaded(false); + const img = new Image(); + img.src = src; + return img; + }, [src]); - useEffect(() => { - image.onload = () => { - setLoaded(true); - }; - return () => { - image.onload = null; - }; - }, [image]); + useEffect(() => { + image.onload = () => { + setLoaded(true); + }; + return () => { + image.onload = null; + }; + }, [image]); - const handleClick = useCallback( - (e: React.MouseEvent) => { - e.preventDefault(); - handleChange(value); - }, - [handleChange, value] - ); + const handleClick = useCallback( + (e: React.MouseEvent) => { + e.preventDefault(); + handleChange(value); + }, + [handleChange, value], + ); - return ( -
- {name && ( -
- - {language[name as keyof typeof language]} - + return ( +
+ {name && ( +
+ {language[name as keyof typeof language]} +
+ )}
- )} -
- ); + ); }; -PreviewComponent.displayName = "PreviewComponent"; +PreviewComponent.displayName = 'PreviewComponent'; diff --git a/src/components/range-component/index.ts b/src/components/range-component/index.ts new file mode 100644 index 0000000..0dd7fb5 --- /dev/null +++ b/src/components/range-component/index.ts @@ -0,0 +1 @@ +export { RangeComponent } from './range-component'; diff --git a/src/components/range-component/range-component.scss b/src/components/range-component/range-component.scss index 19cbc32..bb6e0ec 100644 --- a/src/components/range-component/range-component.scss +++ b/src/components/range-component/range-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $rangeWidth: 90px; $rangeHeight: 3px; diff --git a/src/components/range-component/range-component.tsx b/src/components/range-component/range-component.tsx index f7f9a5a..a4373ef 100644 --- a/src/components/range-component/range-component.tsx +++ b/src/components/range-component/range-component.tsx @@ -1,165 +1,160 @@ -import * as React from "react"; -import { - KeyboardEvent, - useCallback, - useEffect, - useRef, - useState, - WheelEvent, -} from "react"; +import * as React from 'react'; +import { KeyboardEvent, useCallback, useEffect, useRef, useState, WheelEvent } from 'react'; -import "./range-component.scss"; +import './range-component.scss'; interface Props { - handleChange: (value: number) => void; - defaultValue: number; + handleChange: (value: number) => void; + defaultValue: number; } const MAX = 55; -export const RangeComponent: React.FC = ({ - handleChange, - defaultValue, -}: Props) => { - const [isPressed, setPressed] = useState(false); - const [position, setPosition] = useState(defaultValue * MAX); +export const RangeComponent: React.FC = ({ handleChange, defaultValue }: Props) => { + const [isPressed, setPressed] = useState(false); + const [position, setPosition] = useState(defaultValue * MAX); - const stick = useRef(null); + const stick = useRef(null); - const handleFocus = useCallback(() => setPressed(true), []); - const handleFree = useCallback(() => setPressed(false), []); + const handleFocus = useCallback(() => setPressed(true), []); + const handleFree = useCallback(() => setPressed(false), []); - const limiter = (value: number, width: number) => { - let diff = value; - if (diff > width - 35) { - diff = MAX; - } else if (diff < 0) { - diff = 0; - } - return diff; - }; + const limiter = useCallback((value: number, width: number) => { + let diff = value; + if (diff > width - 35) { + diff = MAX; + } else if (diff < 0) { + diff = 0; + } + return diff; + }, []); - const handleKeyDown = (e: KeyboardEvent) => { - if (!stick || !stick.current || !stick.current.parentNode) { - return; - } + const handleKeyDown = useCallback( + (e: KeyboardEvent) => { + if (!stick.current || !stick.current.parentNode) { + return; + } - const handleChangePosition = (value: number): void => { - setPosition(value); - handleChange(value / MAX); - }; + const handleChangePosition = (value: number): void => { + setPosition(value); + handleChange(value / MAX); + }; - const { width } = (stick.current - .parentNode as HTMLDivElement).getBoundingClientRect(); - switch (e.keyCode) { - case 37: - handleChangePosition(limiter(position - 5, width)); - break; - case 39: - handleChangePosition(limiter(position + 5, width)); - break; - default: - break; - } - }; + const { width } = (stick.current.parentNode as HTMLDivElement).getBoundingClientRect(); + switch (e.keyCode) { + case 37: + handleChangePosition(limiter(position - 5, width)); + break; + case 39: + handleChangePosition(limiter(position + 5, width)); + break; + default: + break; + } + }, + [handleChange, limiter, position, stick], + ); - const handlePoint = useCallback( - (e: React.MouseEvent | MouseEvent) => { - if (!stick || !stick.current || !stick.current.parentNode) { - return; - } - const { width, left } = (stick.current - .parentNode as HTMLDivElement).getBoundingClientRect(); - const { clientX } = e; - const value = clientX - left - 20; - const diff = limiter(value, width); + const handlePoint = useCallback( + (e: React.MouseEvent | MouseEvent) => { + if (!stick.current || !stick.current.parentNode) { + return; + } + const { width, left } = (stick.current + .parentNode as HTMLDivElement).getBoundingClientRect(); + const { clientX } = e; + const value = clientX - left - 20; + const diff = limiter(value, width); - setPosition(diff); - handleChange(diff / MAX); - }, - [stick, handleChange] - ); + setPosition(diff); + handleChange(diff / MAX); + }, + [limiter, handleChange, stick], + ); - const handleMouseMove = useCallback( - (e: MouseEvent) => { - if (!isPressed) { - return; - } - handlePoint(e); - }, - [isPressed, handlePoint] - ); + const handleMouseMove = useCallback( + (e: MouseEvent) => { + if (!isPressed) { + return; + } + handlePoint(e); + }, + [isPressed, handlePoint], + ); - const handleTouchMove = useCallback( - (e: TouchEvent) => { - if (!isPressed) { - return; - } - const { touches } = e; - const { clientX } = touches[0]; + const handleTouchMove = useCallback( + (e: TouchEvent) => { + if (!isPressed) { + return; + } + const { touches } = e; + const { clientX } = touches[0]; - if (!stick || !stick.current || !stick.current.parentNode) { - return; - } - const { width, left } = (stick.current - .parentNode as HTMLDivElement).getBoundingClientRect(); + if (!stick.current || !stick.current.parentNode) { + return; + } + const { width, left } = (stick.current + .parentNode as HTMLDivElement).getBoundingClientRect(); - const value = clientX - left - 20; - const diff = limiter(value, width); + const value = clientX - left - 20; + const diff = limiter(value, width); - setPosition(diff); - handleChange(diff / MAX); - }, - [isPressed, stick, handleChange] - ); + setPosition(diff); + handleChange(diff / MAX); + }, + [isPressed, limiter, handleChange, stick], + ); - const handleScroll = (e: WheelEvent) => { - if (!stick || !stick.current || !stick.current.parentNode) { - return; - } - const range = stick.current.parentNode as HTMLDivElement; - const { width } = range.getBoundingClientRect(); - range.focus(); - const { deltaY } = e; - const value = position + (deltaY > 0 ? -5 : 5); - const diff = limiter(value, width); + const handleScroll = useCallback( + (e: WheelEvent) => { + if (!stick.current || !stick.current.parentNode) { + return; + } + const range = stick.current.parentNode as HTMLDivElement; + const { width } = range.getBoundingClientRect(); + range.focus(); + const { deltaY } = e; + const value = position + (deltaY > 0 ? -5 : 5); + const diff = limiter(value, width); - setPosition(diff); - handleChange(diff / MAX); - }; + setPosition(diff); + handleChange(diff / MAX); + }, + [handleChange, limiter, position, stick], + ); - useEffect(() => { - window.addEventListener("mousemove", handleMouseMove); - window.addEventListener("mouseup", handleFree); - window.addEventListener("touchmove", handleTouchMove); - window.addEventListener("touchend", handleFree); - return () => { - window.removeEventListener("mousemove", handleMouseMove); - window.removeEventListener("mouseup", handleFree); - window.removeEventListener("touchmove", handleTouchMove); - window.removeEventListener("touchend", handleFree); - }; - }, [handleMouseMove, handleTouchMove, handleFree]); + useEffect(() => { + window.addEventListener('mousemove', handleMouseMove); + window.addEventListener('mouseup', handleFree); + window.addEventListener('touchmove', handleTouchMove); + window.addEventListener('touchend', handleFree); + return () => { + window.removeEventListener('mousemove', handleMouseMove); + window.removeEventListener('mouseup', handleFree); + window.removeEventListener('touchmove', handleTouchMove); + window.removeEventListener('touchend', handleFree); + }; + }, [handleMouseMove, handleTouchMove, handleFree]); - return ( -
-
-
- ); + return ( +
+
+
+ ); }; -RangeComponent.displayName = "RangeComponent"; +RangeComponent.displayName = 'RangeComponent'; diff --git a/src/components/select-component/index.ts b/src/components/select-component/index.ts new file mode 100644 index 0000000..aeebbe5 --- /dev/null +++ b/src/components/select-component/index.ts @@ -0,0 +1 @@ +export { SelectComponent } from './select-component'; diff --git a/src/components/select-component/select-component.scss b/src/components/select-component/select-component.scss index 078a0d1..70ffb3c 100644 --- a/src/components/select-component/select-component.scss +++ b/src/components/select-component/select-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $selectWidth: 90px; $selectHeight: 30px; @@ -36,7 +36,7 @@ $dropDownOutset: $DropDownBorder / 2; content: ""; } - &:active:not(.select--opened) { + &--opened { .select-arrow { background-image: $selectArrowClick; } diff --git a/src/components/select-component/select-component.tsx b/src/components/select-component/select-component.tsx index d248bf8..78a1dd1 100644 --- a/src/components/select-component/select-component.tsx +++ b/src/components/select-component/select-component.tsx @@ -1,95 +1,87 @@ -import * as React from "react"; -import { - FocusEvent, - KeyboardEvent, - useCallback, - useRef, - useState, -} from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { FocusEvent, KeyboardEvent, useCallback, useRef, useState } from 'react'; +import cn from 'classnames'; -import "./select-component.scss"; +import './select-component.scss'; interface Props { - children: React.ReactNode; - options: string[]; - current: unknown; - handleChange: (value: string) => void; + children: React.ReactNode; + options: string[]; + current: unknown; + handleChange: (value: string) => void; } export const SelectComponent: React.FC = ({ - children, - options, - current, - handleChange, + children, + options, + current, + handleChange, }: Props) => { - const [isSelectShown, setSelectShown] = useState(false); - const dropDownRef = useRef(null); + const [isSelectShown, setSelectShown] = useState(false); + const dropDownRef = useRef(null); - const handleSelectClick = useCallback(() => setSelectShown(!isSelectShown), [ - isSelectShown, - ]); + const handleSelectClick = useCallback(() => setSelectShown(!isSelectShown), [isSelectShown]); - const handleBlur = (e: FocusEvent) => { - if (!dropDownRef || !dropDownRef.current) { - return; - } - if ( - dropDownRef.current.contains(e.relatedTarget as Node) || - e.currentTarget === e.relatedTarget - ) { - return; - } - setSelectShown(!isSelectShown); - }; + const handleBlur = (e: FocusEvent) => { + if (!dropDownRef.current) { + return; + } + if ( + dropDownRef.current.contains(e.relatedTarget as Node) || + e.currentTarget === e.relatedTarget + ) { + return; + } + setSelectShown(!isSelectShown); + }; - const handleKeyDown = (e: KeyboardEvent) => { - if (e.keyCode !== 13 && e.keyCode !== 32) { - return; - } - setSelectShown(!isSelectShown); - }; + const handleKeyDown = (e: KeyboardEvent) => { + if (e.keyCode !== 13 && e.keyCode !== 32) { + return; + } + setSelectShown(!isSelectShown); + }; - const onItemClick = (itemValue: string) => handleChange(itemValue); + const onItemClick = (itemValue: string) => handleChange(itemValue); - const onItemKeyDown = (e: KeyboardEvent, itemValue: string) => { - if (e.keyCode !== 13 && e.keyCode !== 32) { - return; - } - handleChange(itemValue); - }; + const onItemKeyDown = (e: KeyboardEvent, itemValue: string) => { + if (e.keyCode !== 13 && e.keyCode !== 32) { + return; + } + handleChange(itemValue); + }; - return ( -
- {children} -
- {isSelectShown && ( -
- {options.map((item, index) => ( -
onItemClick(item)} - onKeyDown={(e) => onItemKeyDown(e, item)} - className={cn("select-item", { - "select-item--selected": item === current, - })} - > - {item} -
- ))} + return ( +
+ {children} +
+ {isSelectShown && ( +
+ {options.map((item, index) => ( +
onItemClick(item)} + onKeyDown={(e) => onItemKeyDown(e, item)} + className={cn('select-item', { + 'select-item--selected': item === current, + })} + > + {item} +
+ ))} +
+ )}
- )} -
- ); + ); }; -SelectComponent.displayName = "SelectComponent"; +SelectComponent.displayName = 'SelectComponent'; diff --git a/src/components/settings-component/index.ts b/src/components/settings-component/index.ts new file mode 100644 index 0000000..6eda67e --- /dev/null +++ b/src/components/settings-component/index.ts @@ -0,0 +1 @@ +export { SettingsComponent } from './settings-component'; diff --git a/src/components/settings-component/settings-component.scss b/src/components/settings-component/settings-component.scss index 8c9da50..b9469c6 100644 --- a/src/components/settings-component/settings-component.scss +++ b/src/components/settings-component/settings-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; $settingsWidth: 182px; $settingsHeight: 315px; diff --git a/src/components/settings-component/settings-component.tsx b/src/components/settings-component/settings-component.tsx index 799eee5..4844dea 100644 --- a/src/components/settings-component/settings-component.tsx +++ b/src/components/settings-component/settings-component.tsx @@ -1,132 +1,127 @@ -import * as React from "react"; +import * as React from 'react'; -import ru from "../../locales/ru.json"; -import en from "../../locales/en.json"; -import { useSettings } from "../../hooks"; -import { Settings } from "../../settings-context"; -import { - BorderedHeader, - CheckBoxComponent, - RangeComponent, - SelectComponent, -} from ".."; +import ru from '../../locales/ru.json'; +import en from '../../locales/en.json'; +import { useSettings } from '../../hooks'; +import { Settings } from '../../settings-context'; +import { BorderedHeader, CheckboxComponent, RangeComponent, SelectComponent } from '..'; -import "./settings-component.scss"; +import './settings-component.scss'; interface Props { - closeSettings: () => void; - checkboxOnSoundPlay: (volume?: number) => void; - checkboxOffSoundPlay: (volume?: number) => void; + closeSettings: () => void; + checkboxOnSoundPlay: (volume?: number) => void; + checkboxOffSoundPlay: (volume?: number) => void; } /* eslint-disable no-unused-expressions */ export const SettingsComponent: React.FC = ({ - closeSettings, - checkboxOnSoundPlay, - checkboxOffSoundPlay, + closeSettings, + checkboxOnSoundPlay, + checkboxOffSoundPlay, }: Props) => { - const { settings, saveSettings } = useSettings(); + const { settings, saveSettings } = useSettings(); - const handleCheckboxClick = (option: keyof Settings) => { - saveSettings?.({ ...settings, [option]: !settings[option] }); - if (!settings.uiSound) { - return; - } - if (settings[option]) { - checkboxOffSoundPlay(); - } else { - checkboxOnSoundPlay(); - } - }; + const handleCheckboxClick = (option: keyof Settings) => () => { + saveSettings?.({ ...settings, [option]: !settings[option] }); + if (!settings.uiSound) { + return; + } + if (settings[option]) { + checkboxOffSoundPlay(); + } else { + checkboxOnSoundPlay(); + } + }; - const handleChangeLanguage = (nextLanguage: string) => { - if (settings.currentLanguage === nextLanguage) { - return; - } - if (nextLanguage === ru["ui.language"]) { - saveSettings?.({ - ...settings, - language: ru, - currentLanguage: nextLanguage, - }); - } else { - saveSettings?.({ - ...settings, - language: en, - currentLanguage: nextLanguage, - }); - } - if (!settings.uiSound) { - return; - } - checkboxOnSoundPlay(); - }; + const handleChangeLanguage = (nextLanguage: string) => { + if (settings.currentLanguage === nextLanguage) { + return; + } + if (nextLanguage === ru['ui.language']) { + saveSettings?.({ + ...settings, + language: ru, + currentLanguage: nextLanguage, + }); + } else { + saveSettings?.({ + ...settings, + language: en, + currentLanguage: nextLanguage, + }); + } + if (!settings.uiSound) { + return; + } + checkboxOnSoundPlay(); + }; - const handleChangeRange = (value: number) => { - checkboxOnSoundPlay(); - saveSettings?.({ ...settings, musicVolume: value }); - }; + const handleChangeRange = (value: number) => { + checkboxOnSoundPlay(); + saveSettings?.({ ...settings, musicVolume: value }); + }; - const chooseOption = (option: keyof Settings): React.ReactNode => { - const { language } = settings; - switch (typeof settings[option]) { - case "boolean": + const chooseOption = (option: keyof Settings): React.ReactNode => { + const { language } = settings; + switch (typeof settings[option]) { + case 'boolean': + return ( + + ); + case 'object': + return ( + + {language['ui.language']} + + ); + case 'number': + return ( + + ); + + default: + return null; + } + }; + + const renderOption = (option: keyof Settings) => { + const { language } = settings; + const valueName = `ui.${option}` as keyof typeof language; return ( - - ); - case "object": - return ( - - {language["ui.language"]} - - ); - case "number": - return ( - +
+
{language[valueName]}
+ {chooseOption(option)} +
); + }; - default: - return null; - } - }; - - const renderOption = (option: keyof Settings) => { - const { language } = settings; - const valueName = `ui.${option}` as keyof typeof language; return ( -
-
{language[valueName]}
- {chooseOption(option)} -
+
+
+ {settings.language['ui.main-menu']} +
+
+ {renderOption('uiLanguage')} + {renderOption('musicVolume')} + {renderOption('uiSound')} +
+ +
); - }; - - return ( -
-
- {settings.language["ui.main-menu"]} -
-
- {renderOption("uiLanguage")} - {renderOption("musicVolume")} - {renderOption("uiSound")} -
- -
- ); }; -SettingsComponent.displayName = "SettingsComponent"; +SettingsComponent.displayName = 'SettingsComponent'; diff --git a/src/components/view-component/index.ts b/src/components/view-component/index.ts new file mode 100644 index 0000000..21afc7b --- /dev/null +++ b/src/components/view-component/index.ts @@ -0,0 +1 @@ +export { ViewComponent } from './view-component'; diff --git a/src/components/view-component/view-component.scss b/src/components/view-component/view-component.scss index d5d64ac..6c65d43 100644 --- a/src/components/view-component/view-component.scss +++ b/src/components/view-component/view-component.scss @@ -1,4 +1,4 @@ -@import "../../app/style"; +@import "../../pages/app/style"; .view { position: absolute; diff --git a/src/components/view-component/view-component.tsx b/src/components/view-component/view-component.tsx index 224e50d..1e62eeb 100644 --- a/src/components/view-component/view-component.tsx +++ b/src/components/view-component/view-component.tsx @@ -1,179 +1,54 @@ -import * as React from "react"; -import { - FocusEvent, - MouseEvent, - TouchEvent, - useCallback, - useEffect, - useState, -} from "react"; -import cn from "classnames"; +import * as React from 'react'; +import { useEffect, useState } from 'react'; +import cn from 'classnames'; -import { Background } from "../../assets"; -import { ANIMATION_DURATION, DEFAULT_HEIGHT, DEFAULT_WIDTH } from "../../utils"; +import { Background } from '../../assets'; +import { ANIMATION_DURATION } from '../../utils'; +import { useViewScroll } from '../../hooks'; -import "./view-component.scss"; +import './view-component.scss'; interface Props { - src: string; + src: string; } -interface Position { - x: number; - y: number; -} - -const initialPosition = { - x: 0, - y: 0, -}; - export const ViewComponent: React.FC = ({ src }: Props) => { - const [imageSrc, setImageSrc] = useState(Background); - const [isLoaded, setLoaded] = useState(false); - const [isDrag, setDrag] = useState(false); - const [trackPosition, setTrackPosition] = useState(initialPosition); - const [position, setPosition] = useState(initialPosition); - const [lastPosition, setLastPosition] = useState(initialPosition); - const [isBigScreen, setBigScreen] = useState(false); + const [imageSrc, setImageSrc] = useState(Background); + const [isLoaded, setLoaded] = useState(false); - const handleResize = useCallback(() => { - const { innerWidth, innerHeight } = window; + const { style, props } = useViewScroll(); - let width = 0; - let height = 0; - setBigScreen(false); + useEffect(() => { + setLoaded(false); + const timer = setTimeout(() => { + const image = new Image(); + image.src = src; + image.onload = () => { + setImageSrc(src); + setLoaded(true); + }; + }, ANIMATION_DURATION); + return () => { + clearTimeout(timer); + }; + }, [src]); - if (innerHeight < DEFAULT_HEIGHT && innerWidth < DEFAULT_WIDTH) { - width = (innerWidth - DEFAULT_WIDTH) / 2; - height = (innerHeight - DEFAULT_HEIGHT) / 2; - } else { - setBigScreen(true); - } - setPosition({ x: width, y: height }); - setLastPosition({ x: width, y: height }); - }, []); - - useEffect(() => { - handleResize(); - setLoaded(false); - const timer = setTimeout(() => { - const image = new Image(); - image.src = src; - image.onload = () => { - setImageSrc(src); - setLoaded(true); - }; - }, ANIMATION_DURATION); - return () => { - clearTimeout(timer); - }; - }, [src, handleResize]); - - useEffect(() => { - window.addEventListener("resize", handleResize); - return () => { - window.removeEventListener("resize", handleResize); - }; - }, [handleResize]); - - const limiter = (value: Position, width: number, height: number) => { - const { x: xValue, y: yValue } = value; - - let x = lastPosition.x - trackPosition.x + xValue; - let y = lastPosition.y - trackPosition.y + yValue; - - if (x > 0) { - x = 0; - } else if (x < -width) { - x = -width; - } - - if (y > 0) { - y = 0; - } else if (y < -height) { - y = -height; - } - - return { x, y }; - }; - - const handleTouchMove = (e: TouchEvent) => { - const { touches } = e; - if (isBigScreen) { - return; - } - const { innerWidth, innerHeight } = window; - const width = DEFAULT_WIDTH - innerWidth; - const height = DEFAULT_HEIGHT - innerHeight; - const { clientX: x, clientY: y } = touches[0]; - - const diff = limiter({ x, y }, width, height); - - setPosition(diff); - }; - - const handleTouchstart = (e: TouchEvent) => { - const { touches } = e; - e.nativeEvent.stopImmediatePropagation(); - const { clientX: x, clientY: y } = touches[0]; - setTrackPosition({ x, y }); - setDrag(true); - }; - - const handleMouseDown = (e: MouseEvent) => { - const { clientX, clientY } = e; - e.nativeEvent.stopImmediatePropagation(); - setTrackPosition({ x: clientX, y: clientY }); - setDrag(true); - }; - - const handleFree = (e: MouseEvent | FocusEvent | TouchEvent) => { - e.nativeEvent.stopImmediatePropagation(); - setDrag(false); - setLastPosition(position); - }; - - const handleMouseMove = (e: MouseEvent) => { - if (!isDrag) { - return; - } - if (isBigScreen) { - return; - } - const { innerWidth, innerHeight } = window; - const width = DEFAULT_WIDTH - innerWidth; - const height = DEFAULT_HEIGHT - innerHeight; - - const { clientX: x, clientY: y } = e; - const diff = limiter({ x, y }, width, height); - setPosition(diff); - }; - - return ( -
-
-
- ); + return ( +
+
+
+ ); }; -ViewComponent.displayName = "ViewComponent"; +ViewComponent.displayName = 'ViewComponent'; diff --git a/src/hooks/index.ts b/src/hooks/index.ts index ba8b999..a168869 100644 --- a/src/hooks/index.ts +++ b/src/hooks/index.ts @@ -1 +1,7 @@ -export { useSettings } from "./use-settings"; +export { useSettings } from './use-settings'; +export { useUiSound } from './use-ui-sound'; +export { usePanelScroll } from './use-panel-scroll'; +export { usePlaceView } from './use-place-view'; +export { useViewScroll } from './use-view-scroll'; +export { useDialog } from './use-dialog'; +export { useDialogStep } from './use-dialog-step'; diff --git a/src/hooks/use-dialog-step.ts b/src/hooks/use-dialog-step.ts new file mode 100644 index 0000000..c515d8d --- /dev/null +++ b/src/hooks/use-dialog-step.ts @@ -0,0 +1,49 @@ +import { useEffect, useRef, useState } from 'react'; +import { ANIMATION_DURATION, DIALOG_STEP_DURATION } from '../utils'; + +interface dialogStepType { + step: string; + isStepShown: boolean; +} + +interface Props { + text: string[]; +} + +export const useDialogStep = ({ text }: Props): dialogStepType => { + const [stepsCount] = useState(text.length); + const [step, setStep] = useState(0); + const [isStepShown, setStepShown] = useState(true); + const stepIntervalRef = useRef(null); + const stepShownTimeoutRef = useRef(null); + + useEffect(() => { + stepIntervalRef.current = setInterval(() => { + const nextStep = step + 1; + if (nextStep === stepsCount && stepIntervalRef.current) { + clearInterval(stepIntervalRef.current); + } + + setStepShown(false); + stepShownTimeoutRef.current = setTimeout(() => { + setStep(nextStep); + setStepShown(true); + }, ANIMATION_DURATION / 2); + }, DIALOG_STEP_DURATION); + + return () => { + if (stepIntervalRef.current) { + clearInterval(stepIntervalRef.current); + } + + if (stepShownTimeoutRef.current) { + clearTimeout(stepShownTimeoutRef.current); + } + }; + }, [step, stepsCount]); + + return { + step: text[step], + isStepShown, + }; +}; diff --git a/src/hooks/use-dialog.ts b/src/hooks/use-dialog.ts new file mode 100644 index 0000000..b3fd91b --- /dev/null +++ b/src/hooks/use-dialog.ts @@ -0,0 +1,104 @@ +import { RefObject, useCallback, useEffect, useRef, useState } from 'react'; +import { ANIMATION_DURATION, debounce, DIALOG_STEP_DURATION } from '../utils'; + +interface dialogPositionType { + bottomPanelButtonRef: RefObject; + offsetTop: number; + handleShowDialog: () => void; + handleHideDialog: () => void; + isDialogShown: boolean; + isDialogMounted: boolean; + handleDialogMenuItemClick: () => void; +} + +interface Props { + isBottomPanelShown: boolean; + stepsCount: number; +} + +export const useDialog = ({ isBottomPanelShown, stepsCount }: Props): dialogPositionType => { + const bottomPanelButtonRef = useRef(null); + const [isMounted, setMounted] = useState(false); + const [isShown, setShown] = useState(false); + const [offsetTop, setOffsetTop] = useState(0); + const shownTimerRef = useRef(null); + + const updateOffset = useCallback(() => { + if (!bottomPanelButtonRef.current) { + return; + } + + const { top } = bottomPanelButtonRef.current.getBoundingClientRect(); + setOffsetTop(top); + }, [bottomPanelButtonRef]); + + useEffect(() => { + updateOffset(); + + const throttledUpdateOffset = debounce(updateOffset, 100); + window.addEventListener('resize', throttledUpdateOffset); + return () => { + window.removeEventListener('resize', throttledUpdateOffset); + }; + }, [updateOffset]); + + useEffect(() => { + const timer = setTimeout(updateOffset, ANIMATION_DURATION); + return () => { + clearTimeout(timer); + }; + }, [updateOffset, isBottomPanelShown]); + + useEffect(() => { + let mountTimer: NodeJS.Timeout; + let shownTimer: NodeJS.Timeout; + let mainTimer: NodeJS.Timeout; + + if (isMounted) { + mainTimer = setTimeout(() => { + setShown(true); + shownTimer = setTimeout(() => { + setShown(false); + mountTimer = setTimeout(() => setMounted(false), ANIMATION_DURATION); + }, stepsCount * DIALOG_STEP_DURATION); + }, ANIMATION_DURATION); + } + return () => { + clearTimeout(mainTimer); + clearTimeout(shownTimer); + clearTimeout(mountTimer); + }; + }, [isMounted, stepsCount]); + + const handleShowDialog = useCallback(() => setMounted(true), []); + const handleHideDialog = useCallback(() => { + setShown(false); + shownTimerRef.current = setTimeout(() => setMounted(false), ANIMATION_DURATION); + }, []); + + const handleDialogMenuItemClick = useCallback(() => { + if (isShown) { + handleHideDialog(); + } else { + handleShowDialog(); + } + }, [handleHideDialog, handleShowDialog, isShown]); + + useEffect(() => { + return () => { + if (shownTimerRef.current) { + clearTimeout(shownTimerRef.current); + } + }; + }, [shownTimerRef]); + + return { + bottomPanelButtonRef, + offsetTop, + handleShowDialog, + handleHideDialog, + isDialogShown: isShown, + isDialogMounted: isMounted, + handleDialogMenuItemClick, + }; +}; diff --git a/src/hooks/use-panel-scroll.ts b/src/hooks/use-panel-scroll.ts new file mode 100644 index 0000000..e8a1f9c --- /dev/null +++ b/src/hooks/use-panel-scroll.ts @@ -0,0 +1,253 @@ +import { + FocusEvent, + MouseEvent, + RefObject, + TouchEvent, + useCallback, + useEffect, + useMemo, + useRef, + useState, + WheelEvent, +} from 'react'; + +import { + ANIMATION_DURATION, + debounce, + Orientation, + PREVIEW_HEIGHT, + PREVIEW_WIDTH, + SPACE, +} from '../utils'; + +interface Props { + orientation: Orientation; + itemsCount: number; + panel: RefObject; + isShown: boolean; +} + +type panelScrollType = { + panelProps: { + onMouseUp: (e: MouseEvent) => void; + onMouseDown: (e: MouseEvent) => void; + onMouseMove: (e: MouseEvent) => void; + onMouseLeave: (e: MouseEvent) => void; + onTouchStart: (e: TouchEvent) => void; + onTouchMove: (e: TouchEvent) => void; + onTouchEnd: (e: TouchEvent) => void; + onWheel: (e: WheelEvent) => void; + onBlur: (e: FocusEvent) => void; + ref: RefObject; + tabIndex: number; + }; +}; + +const calculateOverflow = (isBottom: boolean, itemsCount: number) => { + const { innerWidth, innerHeight } = window; + const windowSize = isBottom ? innerWidth : innerHeight; + const containerSize = itemsCount * ((isBottom ? PREVIEW_WIDTH : PREVIEW_HEIGHT) + 15); + if (!(containerSize > windowSize)) { + return 0; + } + return Math.abs(containerSize - windowSize); +}; + +/* eslint-disable no-param-reassign */ +export const usePanelScroll = ({ + orientation, + itemsCount, + panel, + isShown, +}: Props): panelScrollType => { + const ref = useRef(null); + const [isDrag, setDrag] = useState(false); + const [trackPosition, setTrackPosition] = useState(0); + const [position, setPosition] = useState(0); + const [lastPosition, setLastPosition] = useState(0); + const [overflow, setOverflow] = useState(0); + + const isBottom = useMemo(() => orientation === Orientation.bottom, [orientation]); + + useEffect(() => { + const timeout = setTimeout(() => { + if (ref.current && isShown) { + ref.current.focus(); + } + }, ANIMATION_DURATION); + + return () => { + clearTimeout(timeout); + }; + }, [ref, isShown]); + + const resetPanel = useCallback( + (animate = true) => { + if (!panel.current) { + return; + } + if (animate) { + panel.current.style.transition = `transform 0.5s`; + } + panel.current.style.transform = `unset`; + setTrackPosition(0); + setPosition(0); + setLastPosition(0); + }, + [panel], + ); + + useEffect(() => { + let timeout: NodeJS.Timeout; + const handleResize = debounce(() => { + resetPanel(); + timeout = setTimeout(() => { + if (!panel.current) { + return; + } + panel.current.style.transition = 'unset'; + }, ANIMATION_DURATION); + + const overflowValue = calculateOverflow(isBottom, itemsCount); + setOverflow(overflowValue); + }, 100); + + handleResize(); + window.addEventListener('resize', handleResize); + return () => { + if (timeout) { + clearTimeout(timeout); + } + window.removeEventListener('resize', handleResize); + }; + }, [panel, resetPanel, isBottom, itemsCount]); + + useEffect(() => { + if (!isShown) { + resetPanel(false); + } + }, [isShown, resetPanel]); + + const changePosition = useCallback(() => { + if (!panel.current) { + return; + } + panel.current.style.transform = `translate${isBottom ? 'X' : 'Y'}(${-position}px)`; + }, [isBottom, panel, position]); + + const limiter = useCallback( + (value: number, isWheel = false) => { + let diff = (!isWheel ? trackPosition : 0) - value + lastPosition; + if (diff > overflow + SPACE) { + diff = overflow + SPACE; + } else if (diff < 0) { + diff = 0; + } + return diff; + }, + [lastPosition, trackPosition, overflow], + ); + + const handleFree = useCallback( + (e: MouseEvent | FocusEvent | TouchEvent) => { + e.nativeEvent.stopImmediatePropagation(); + setDrag(false); + setLastPosition(position); + }, + [position], + ); + + const onMouseUp = useCallback((e: MouseEvent) => handleFree(e), [handleFree]); + + const onMouseDown = useCallback( + (e: MouseEvent) => { + const { clientX, clientY } = e; + e.nativeEvent.stopImmediatePropagation(); + setTrackPosition(isBottom ? clientX : clientY); + setDrag(true); + }, + [isBottom], + ); + + const onMouseMove = useCallback( + (e: MouseEvent) => { + if (!isDrag) { + return; + } + if (!overflow) { + return; + } + + const { clientX, clientY } = e; + const value = isBottom ? clientX : clientY; + const diff = limiter(value); + setPosition(diff); + changePosition(); + }, + [changePosition, isBottom, isDrag, limiter, overflow], + ); + + const onMouseLeave = useCallback((e: MouseEvent) => handleFree(e), [handleFree]); + + const onTouchStart = useCallback( + (e: TouchEvent) => { + const { touches } = e; + e.nativeEvent.stopImmediatePropagation(); + setTrackPosition(isBottom ? touches[0].clientX : touches[0].clientY); + setDrag(true); + }, + [isBottom], + ); + + const onTouchMove = useCallback( + (e: TouchEvent) => { + const { touches } = e; + const { clientX, clientY } = touches[0]; + if (!overflow) { + return; + } + + const value = isBottom ? clientX : clientY; + const diff = limiter(value); + setPosition(diff); + changePosition(); + }, + [changePosition, isBottom, limiter, overflow], + ); + + const onTouchEnd = useCallback((e: TouchEvent) => handleFree(e), [handleFree]); + + const onWheel = useCallback( + (e: WheelEvent) => { + const { deltaY } = e; + if (!overflow) { + return; + } + + const value = deltaY > 0 ? -80 : 80; + const diff = limiter(value, true); + setPosition(diff); + changePosition(); + setLastPosition(position); + }, + [changePosition, limiter, position, overflow], + ); + + const onBlur = useCallback((e: FocusEvent) => handleFree(e), [handleFree]); + + return { + panelProps: { + onMouseUp, + onMouseDown, + onMouseMove, + onMouseLeave, + onTouchStart, + onTouchMove, + onTouchEnd, + onWheel, + onBlur, + ref, + tabIndex: isShown ? 0 : -1, + }, + }; +}; diff --git a/src/hooks/use-place-view.ts b/src/hooks/use-place-view.ts new file mode 100644 index 0000000..a308702 --- /dev/null +++ b/src/hooks/use-place-view.ts @@ -0,0 +1,138 @@ +import { useCallback, useLayoutEffect, useMemo, useState } from 'react'; +import { useHistory, useParams } from 'react-router-dom'; + +import Sound from '../modules/sound'; +import { useSettings } from './use-settings'; +import places from '../assets'; +import { delay } from '../utils'; + +type placeViewType = { + isLoading: boolean; + activePlace: number; + activeView: number; + isLeftPanelShown: boolean; + isBottomPanelShown: boolean; + hideLeftPanel: () => void; + hideBottomPanel: () => void; + onLeftPanelClick: (value: number) => void; + onBottomPanelClick: (value: number) => void; + closePanels: () => void; +}; + +interface Props { + panelOpenSound: Sound; + panelCloseSound: Sound; +} + +export const usePlaceView = ({ panelOpenSound, panelCloseSound }: Props): placeViewType => { + const { + settings: { language, uiSound }, + } = useSettings(); + + const { placeName, viewNumber } = useParams(); + const { currentPlace, currentView } = useMemo(() => { + let placeIndex = places.findIndex((place) => place.name === placeName); + placeIndex = placeIndex === -1 ? 0 : placeIndex; + let viewIndex = Number(viewNumber) || 0; + viewIndex = + places[placeIndex].view.length > viewIndex + ? viewIndex + : places[placeIndex].view.length - 1; + return { + currentPlace: placeIndex, + currentView: viewIndex, + }; + }, [placeName, viewNumber]); + + const history = useHistory(); + + const [isLoading, setLoading] = useState(false); + const [isLeftPanelShown, setLeftPanelShown] = useState(false); + const [isBottomPanelShown, setBottomPanelShown] = useState(false); + const [activePlace, setActivePlace] = useState(currentPlace); + const [activeView, setActiveView] = useState(currentView); + + const handleUiSoundPanels = useCallback( + (isOpponentOpened: boolean, currentPanel: boolean) => { + if (!uiSound) { + return; + } + + if (isOpponentOpened) { + panelCloseSound.playSound(); + } + + if (currentPanel) { + panelCloseSound.playSound(); + } else { + panelOpenSound.playSound(); + } + }, + [panelCloseSound, panelOpenSound, uiSound], + ); + + const hideLeftPanel = useCallback(() => { + handleUiSoundPanels(isBottomPanelShown, isLeftPanelShown); + setBottomPanelShown(false); + setLeftPanelShown(!isLeftPanelShown); + }, [handleUiSoundPanels, isBottomPanelShown, isLeftPanelShown]); + + const hideBottomPanel = useCallback(() => { + handleUiSoundPanels(isLeftPanelShown, isBottomPanelShown); + setLeftPanelShown(false); + setBottomPanelShown(!isBottomPanelShown); + }, [handleUiSoundPanels, isBottomPanelShown, isLeftPanelShown]); + + const delayedChange = useCallback( + (fn: (value: number) => void, value: number) => { + if (isLoading) { + return; + } + fn(value); + setLoading(true); + delay().then(() => { + setLoading(false); + }); + }, + [isLoading], + ); + + const onLeftPanelClick = useCallback( + (value: number) => { + delayedChange(setActivePlace, value); + setActiveView(0); + }, + [delayedChange], + ); + + const onBottomPanelClick = useCallback( + (value: number) => { + delayedChange(setActiveView, value); + }, + [delayedChange], + ); + + useLayoutEffect(() => { + history.push(`/${places[activePlace].name}/${activeView}`); + document.title = language[`place.${places[activePlace].name}` as keyof typeof language]; + }, [activePlace, activeView, language, history]); + + const closePanels = useCallback(() => { + handleUiSoundPanels(false, isLeftPanelShown || isBottomPanelShown); + setLeftPanelShown(false); + setBottomPanelShown(false); + }, [handleUiSoundPanels, isBottomPanelShown, isLeftPanelShown]); + + return { + isLoading, + activePlace, + activeView, + isLeftPanelShown, + isBottomPanelShown, + hideLeftPanel, + hideBottomPanel, + onLeftPanelClick, + onBottomPanelClick, + closePanels, + }; +}; diff --git a/src/hooks/use-settings.ts b/src/hooks/use-settings.ts index 7938e3e..a13e93e 100644 --- a/src/hooks/use-settings.ts +++ b/src/hooks/use-settings.ts @@ -1,5 +1,4 @@ -import { useContext } from "react"; -import SettingsContext, { SettingsContextType } from "../settings-context"; +import { useContext } from 'react'; +import SettingsContext, { SettingsContextType } from '../settings-context'; -export const useSettings = (): SettingsContextType => - useContext(SettingsContext); +export const useSettings = (): SettingsContextType => useContext(SettingsContext); diff --git a/src/hooks/use-ui-sound.ts b/src/hooks/use-ui-sound.ts new file mode 100644 index 0000000..e16fb40 --- /dev/null +++ b/src/hooks/use-ui-sound.ts @@ -0,0 +1,40 @@ +import { useMemo } from 'react'; + +import Sound from '../modules/sound'; +import { soundLoad, UI_SOUND_VOLUME } from '../utils'; + +import PanelOpenAudio from '../assets/audio/panel-open.ogg'; +import PanelCloseAudio from '../assets/audio/panel-close.ogg'; + +import SettingsOpenAudio from '../assets/audio/menu-open.ogg'; +import SettingsCloseAudio from '../assets/audio/menu-close.ogg'; + +import CheckBoxOnAudio from '../assets/audio/check-box-on.ogg'; +import CheckBoxOffAudio from '../assets/audio/check-box-off.ogg'; + +type uiSoundType = { + panelOpenSound: Sound; + panelCloseSound: Sound; + settingsOpenSound: Sound; + settingsCloseSound: Sound; + checkboxOnSound: Sound; + checkboxOffSound: Sound; +}; + +export const useUiSound = (): uiSoundType => { + const panelOpenSound = useMemo(() => soundLoad(PanelOpenAudio, UI_SOUND_VOLUME), []); + const panelCloseSound = useMemo(() => soundLoad(PanelCloseAudio, UI_SOUND_VOLUME), []); + const settingsOpenSound = useMemo(() => soundLoad(SettingsOpenAudio, UI_SOUND_VOLUME), []); + const settingsCloseSound = useMemo(() => soundLoad(SettingsCloseAudio, UI_SOUND_VOLUME), []); + const checkboxOnSound = useMemo(() => soundLoad(CheckBoxOnAudio, UI_SOUND_VOLUME), []); + const checkboxOffSound = useMemo(() => soundLoad(CheckBoxOffAudio, UI_SOUND_VOLUME), []); + + return { + panelOpenSound, + panelCloseSound, + settingsOpenSound, + settingsCloseSound, + checkboxOnSound, + checkboxOffSound, + }; +}; diff --git a/src/hooks/use-view-scroll.ts b/src/hooks/use-view-scroll.ts new file mode 100644 index 0000000..4993ebb --- /dev/null +++ b/src/hooks/use-view-scroll.ts @@ -0,0 +1,177 @@ +import { + FocusEvent, + MouseEvent, + TouchEvent, + useCallback, + useEffect, + useMemo, + useState, +} from 'react'; + +import { debounce, DEFAULT_HEIGHT, DEFAULT_WIDTH } from '../utils'; + +interface Position { + x: number; + y: number; +} + +const initialPosition: Position = { + x: 0, + y: 0, +}; + +type ViewScrollType = { + style: { + backgroundPosition: string; + backgroundSize: string; + }; + props: { + onMouseMove: (event: MouseEvent) => void; + onMouseDown: (event: MouseEvent) => void; + onMouseUp: (event: MouseEvent) => void; + onMouseLeave: (event: MouseEvent) => void; + onTouchStart: (event: TouchEvent) => void; + onTouchMove: (event: TouchEvent) => void; + onTouchEnd: (event: TouchEvent) => void; + onBlur: (event: FocusEvent) => void; + }; +}; + +export const useViewScroll = (): ViewScrollType => { + const [isDrag, setDrag] = useState(false); + const [trackPosition, setTrackPosition] = useState(initialPosition); + const [position, setPosition] = useState(initialPosition); + const [lastPosition, setLastPosition] = useState(initialPosition); + const [isBigScreen, setBigScreen] = useState(false); + + const handleResize = useMemo( + () => + debounce(() => { + const { innerWidth, innerHeight } = window; + + let width = 0; + let height = 0; + setBigScreen(false); + + if (innerHeight < DEFAULT_HEIGHT && innerWidth < DEFAULT_WIDTH) { + width = (innerWidth - DEFAULT_WIDTH) / 2; + height = (innerHeight - DEFAULT_HEIGHT) / 2; + } else { + setBigScreen(true); + } + setPosition({ x: width, y: height }); + setLastPosition({ x: width, y: height }); + }, 100), + [], + ); + + useEffect(() => { + handleResize(); + window.addEventListener('resize', handleResize); + return () => { + window.removeEventListener('resize', handleResize); + }; + }, [handleResize]); + + const limiter = useCallback( + (value: Position, width: number, height: number) => { + const { x: xValue, y: yValue } = value; + + let x = lastPosition.x - trackPosition.x + xValue; + let y = lastPosition.y - trackPosition.y + yValue; + + if (x > 0) { + x = 0; + } else if (x < -width) { + x = -width; + } + + if (y > 0) { + y = 0; + } else if (y < -height) { + y = -height; + } + + return { x, y }; + }, + [lastPosition.x, lastPosition.y, trackPosition.x, trackPosition.y], + ); + + const onTouchMove = useCallback( + (e: TouchEvent) => { + const { touches } = e; + if (isBigScreen) { + return; + } + const { innerWidth, innerHeight } = window; + const width = DEFAULT_WIDTH - innerWidth; + const height = DEFAULT_HEIGHT - innerHeight; + const { clientX: x, clientY: y } = touches[0]; + + const diff = limiter({ x, y }, width, height); + + setPosition(diff); + }, + [isBigScreen, limiter], + ); + + const onTouchStart = useCallback((e: TouchEvent) => { + const { touches } = e; + e.nativeEvent.stopImmediatePropagation(); + const { clientX: x, clientY: y } = touches[0]; + setTrackPosition({ x, y }); + setDrag(true); + }, []); + + const onMouseDown = useCallback((e: MouseEvent) => { + const { clientX, clientY } = e; + e.nativeEvent.stopImmediatePropagation(); + setTrackPosition({ x: clientX, y: clientY }); + setDrag(true); + }, []); + + const handleFree = useCallback( + (e: MouseEvent | FocusEvent | TouchEvent) => { + e.nativeEvent.stopImmediatePropagation(); + setDrag(false); + setLastPosition(position); + }, + [position], + ); + + const onMouseMove = useCallback( + (e: MouseEvent) => { + if (!isDrag) { + return; + } + if (isBigScreen) { + return; + } + const { innerWidth, innerHeight } = window; + const width = DEFAULT_WIDTH - innerWidth; + const height = DEFAULT_HEIGHT - innerHeight; + + const { clientX: x, clientY: y } = e; + const diff = limiter({ x, y }, width, height); + setPosition(diff); + }, + [isBigScreen, isDrag, limiter], + ); + + return { + style: { + backgroundPosition: `${position.x}px ${position.y}px`, + backgroundSize: `${isBigScreen ? 'cover' : 'auto'}`, + }, + props: { + onMouseMove, + onMouseDown, + onTouchStart, + onTouchMove, + onMouseUp: handleFree, + onTouchEnd: handleFree, + onMouseLeave: handleFree, + onBlur: handleFree, + }, + }; +}; diff --git a/src/index.tsx b/src/index.tsx index c9394c8..7d1112e 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -1,23 +1,27 @@ -import * as React from "react"; -import ReactDom from "react-dom"; +import * as React from 'react'; +import ReactDom from 'react-dom'; +import { BrowserRouter as Router, Redirect, Route, Switch } from 'react-router-dom'; -import { Settings, SettingsProvider } from "./settings-context"; -import App from "./app"; +import { SettingsProvider } from './settings-context'; +import { bootstrapSettings, DEFAULT_PLACE, PATH_PLACES } from './utils'; +import { App, NotFound } from './pages'; -import ru from "./locales/ru.json"; -import en from "./locales/en.json"; +const Root = () => ; -const defaultSettings: Settings = { - language: ru, - musicVolume: 1.0, - currentLanguage: ru["ui.language"], - uiLanguage: [ru["ui.language"], en["ui.language"]], - uiSound: true, +const Init: React.FC = () => { + return ( + + + + + + + + + + ); }; -ReactDom.render( - - - , - document.getElementById("root") -); +Init.displayName = 'Init'; + +ReactDom.render(, document.getElementById('root')); diff --git a/src/locales/en.json b/src/locales/en.json index 2140e41..adc307f 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -3,14 +3,22 @@ "ui.button.views": "Views", "ui.button.close": "Close", "ui.main-menu": "Main Menu", + "ui.dialog.button": "Okay", "ui.uiSound": "UI Sound", "ui.uiLanguage": "Language", "ui.language": "English", "ui.musicVolume": "Music", + "ui.dialog.welcome.title": "Dinastro EU-Дракономор", + "ui.dialog.welcome.text-1": "Welcome in World of Warcraft best places! To choose the place, you need to open the left panel and select a desired place. Every place has different views, you can select them from the bottom panel.", + "ui.dialog.welcome.text-2": "On the right corner you can find settings and help button. In the settings you can turn off UI sound and change volume. With help button you can play this dialog again.", + "ui.dialog.welcome.text-3": "With space button you can pause current playing, but any click on application will trigger playing.", "place.stormwind-park": "Stormwind Park", "place.halls-of-valor": "Halls Of Valor", "place.pandaria": "Pandaria", "place.dalaran": "Dalaran", "place.crystalsong-forest": "Crystalsong forest", - "place.nagrand": "Nagrand" + "place.nagrand": "Nagrand", + "place.grizzly-hills": "Grizzly Hills", + "place.boralus": "Boralus", + "error.404": "Place not found" } diff --git a/src/locales/ru.json b/src/locales/ru.json index bf059cd..efcea01 100644 --- a/src/locales/ru.json +++ b/src/locales/ru.json @@ -3,14 +3,22 @@ "ui.button.views": "Виды", "ui.button.close": "Закрыть", "ui.main-menu": "Главное меню", + "ui.dialog.button": "Принять", "ui.uiSound": "Звуки интерфейса", "ui.uiLanguage": "Язык", "ui.language": "Русский", "ui.musicVolume": "Музыка", + "ui.dialog.welcome.title": "Динэстро Дракономор", + "ui.dialog.welcome.text-1": "Приветствую в лучших местах World of Warcraft! Чтобы выбрать место, необходимо открыть левую панель и выбрать желаемое. Каждое место обладает несколькими видами, их можно выбрать, открыв нижнюю панель.", + "ui.dialog.welcome.text-2": "В правом верхнем углу находятся настройки и кнопка помощи. В настройках можно отключить звуки интерфейса и изменить громкость. С помощью кнопки помощи можно вызвать это сообщение повторно.", + "ui.dialog.welcome.text-3": "С помощью клавиши пробел можно поставить проигрывание на паузу, однако любой клик по приложению вновь запустит музыку.", "place.stormwind-park": "Парк Штормграда", "place.halls-of-valor": "Чертоги Доблести", "place.pandaria": "Пандария", "place.dalaran": "Даларан", "place.crystalsong-forest": "Лес хрустальной песни", - "place.nagrand": "Награнд" + "place.nagrand": "Награнд", + "place.grizzly-hills": "Седые холмы", + "place.boralus": "Боралус", + "error.404": "Место не найдено" } diff --git a/src/modules/sound.ts b/src/modules/sound.ts index 6a7a877..b3b38ac 100644 --- a/src/modules/sound.ts +++ b/src/modules/sound.ts @@ -1,49 +1,45 @@ /* eslint-disable no-console */ export default class Sound { - public audio: HTMLAudioElement; + public audio: HTMLAudioElement; - private volume: number; + private volume: number; - constructor(file: string, volumeValue?: number) { - const volume = this.validateVolume(volumeValue); - this.audio = new Audio(file); - this.audio.load(); - this.volume = volume; - } - - public setVolume = (volume: number): Sound => { - this.validateVolume(volume); - this.volume = volume; - - return this; - }; - - public playSound = (volume: number = this.volume): void => { - this.audio.volume = this.validateVolume(volume); - if (!this.audio.readyState) { - return; + constructor(file: string, volumeValue?: number) { + const volume = this.validateVolume(volumeValue); + this.audio = new Audio(file); + this.audio.load(); + this.volume = volume; } - this.audio - .play() - .catch((error: Error) => console.error(`Error playback: ${error}`)); - }; - public playMusic = (volume: number = this.volume): void => { - this.audio.volume = this.validateVolume(volume); - if (!this.audio.readyState) { - return; - } - this.audio - .play() - .catch((error: Error) => console.error(`Error playback: ${error}`)); - }; + public setVolume = (volume: number): Sound => { + this.validateVolume(volume); + this.volume = volume; - public pause = (): void => this.audio.pause(); + return this; + }; - private validateVolume = (volumeValue = 1.0) => { - if (volumeValue && (volumeValue < 0 || volumeValue > 1)) { - throw Error('"Volume" must be an number between 0.0 and 1.0'); - } - return volumeValue; - }; + public playSound = (volume: number = this.volume): void => { + this.audio.volume = this.validateVolume(volume); + if (!this.audio.readyState) { + return; + } + this.audio.play().catch((error: Error) => console.error(`Error playback: ${error}`)); + }; + + public playMusic = (volume: number = this.volume): void => { + this.audio.volume = this.validateVolume(volume); + if (!this.audio.readyState) { + return; + } + this.audio.play().catch((error: Error) => console.error(`Error playback: ${error}`)); + }; + + public pause = (): void => this.audio.pause(); + + private validateVolume = (volumeValue = 1.0) => { + if (volumeValue && (volumeValue < 0 || volumeValue > 1)) { + throw Error('"Volume" must be an number between 0.0 and 1.0'); + } + return volumeValue; + }; } diff --git a/src/pages/app/index.tsx b/src/pages/app/index.tsx new file mode 100644 index 0000000..006ef21 --- /dev/null +++ b/src/pages/app/index.tsx @@ -0,0 +1,229 @@ +import * as React from 'react'; +import { KeyboardEvent, useCallback, useEffect, useRef, useState } from 'react'; + +import { + DialogModal, + MainMenuComponent, + MenuItemComponent, + MusicComponent, + PanelComponent, + PreviewComponent, + SettingsComponent, + ViewComponent, +} from '../../components'; +import places from '../../assets'; +import { author, authorUrl, Orientation } from '../../utils'; +import { useDialog, usePlaceView, useSettings, useUiSound } from '../../hooks'; +import Sound from '../../modules/sound'; + +import './style.scss'; +import { MenuItems } from '../../components/menu-item-component/menu-item-component'; + +export const App: React.FC = () => { + const { + settings: { uiSound, musicVolume, language }, + } = useSettings(); + + const [isSettingsShown, setSettingsShown] = useState(false); + const [isPlaying, setPlaying] = useState(false); + + const { + panelOpenSound, + panelCloseSound, + settingsOpenSound, + settingsCloseSound, + checkboxOnSound, + checkboxOffSound, + } = useUiSound(); + + const [currentPlaying, setCurrentPlaying] = useState(); + const { + isLoading, + activePlace, + activeView, + closePanels, + hideBottomPanel, + hideLeftPanel, + isBottomPanelShown, + isLeftPanelShown, + onBottomPanelClick, + onLeftPanelClick, + } = usePlaceView({ panelOpenSound, panelCloseSound }); + + const app = useRef(null); + const dialogText = [ + language['ui.dialog.welcome.text-1'], + language['ui.dialog.welcome.text-2'], + language['ui.dialog.welcome.text-3'], + ]; + const { + bottomPanelButtonRef, + offsetTop, + handleShowDialog, + handleHideDialog, + handleDialogMenuItemClick, + isDialogShown, + isDialogMounted, + } = useDialog({ + isBottomPanelShown, + stepsCount: dialogText.length, + }); + + useEffect(() => { + if (app.current) { + app.current.focus(); + } + handleShowDialog(); + }, [app, handleShowDialog]); + + useEffect(() => { + if (!currentPlaying) { + return; + } + currentPlaying.setVolume(musicVolume); + currentPlaying.playMusic(); + }, [currentPlaying, musicVolume]); + + const appClick = useCallback(() => { + if (currentPlaying) { + currentPlaying.playMusic(); + } + }, [currentPlaying]); + + const openCloseSettings = useCallback(() => { + setSettingsShown(!isSettingsShown); + if (app.current) { + app.current.focus(); + } + if (!uiSound) { + return; + } + if (isSettingsShown) { + settingsCloseSound.playSound(); + } else { + settingsOpenSound.playSound(); + } + }, [app, isSettingsShown, uiSound, settingsCloseSound, settingsOpenSound]); + + const handleOpenSettings = useCallback( + (e: KeyboardEvent) => { + switch (e.keyCode) { + case 27: + if (isLeftPanelShown || isBottomPanelShown) { + closePanels(); + break; + } + openCloseSettings(); + break; + case 32: + // TODO: ADD STATUS + if (!currentPlaying) { + return; + } + if (isPlaying) { + currentPlaying.pause(); + setPlaying(false); + } else { + currentPlaying.playMusic(); + } + break; + default: + break; + } + }, + [ + isLeftPanelShown, + isBottomPanelShown, + openCloseSettings, + currentPlaying, + isPlaying, + closePanels, + ], + ); + + // TODO: author focus scss round + return ( +
+ + +
+ {author} + {`v${process.env.REACT_APP_VERSION}`} +
+ + +
+ + {places.map((place, index) => ( + + ))} + + + {places[activePlace].preview.map((preview, index) => ( + + ))} + + {isSettingsShown && ( + + )} + + {isDialogMounted && ( + + )} +
+ ); +}; + +App.displayName = 'App'; diff --git a/src/app/style.scss b/src/pages/app/style.scss similarity index 97% rename from src/app/style.scss rename to src/pages/app/style.scss index 0272d91..8aecb17 100644 --- a/src/app/style.scss +++ b/src/pages/app/style.scss @@ -1,10 +1,11 @@ -@import "../assets/assets"; +@import "../../assets/assets"; $hoverColor: rgba(173, 154, 32, .75); $hoverBox: 0 0 4px 2px $hoverColor; $previewHeight: 180px; $previewWidth: 320px; $font: "Arial Narrow"; +$fontMorpheus: "Morpheus"; $fontSpacing: 1.2px; $fontSize: 14px; //$fontShadow: 2px 2px 2px #000; diff --git a/src/pages/index.ts b/src/pages/index.ts new file mode 100644 index 0000000..e150192 --- /dev/null +++ b/src/pages/index.ts @@ -0,0 +1,2 @@ +export { NotFound } from './not-found'; +export { App } from './app'; diff --git a/src/pages/not-found/index.tsx b/src/pages/not-found/index.tsx new file mode 100644 index 0000000..bf17f12 --- /dev/null +++ b/src/pages/not-found/index.tsx @@ -0,0 +1,36 @@ +import * as React from 'react'; +import { useCallback } from 'react'; + +import { useSettings } from '../../hooks'; +import { DialogBox } from '../../components/dialog-box'; +import PandarenVideo from '../../assets/pandaren.mp4'; +import { DEFAULT_PLACE } from '../../utils'; + +import './style.scss'; + +export const NotFound: React.FC = () => { + const { + settings: { language }, + } = useSettings(); + + const handleClick = useCallback(() => { + const { origin } = window.location; + window.location.replace(`${origin}/${DEFAULT_PLACE}`); + }, []); + + return ( + <> +
+ + +
+ {language['error.404']} + + ); +}; + +NotFound.displayName = 'NotFound'; diff --git a/src/pages/not-found/style.scss b/src/pages/not-found/style.scss new file mode 100644 index 0000000..c0450c9 --- /dev/null +++ b/src/pages/not-found/style.scss @@ -0,0 +1,25 @@ +$black: #000; + +.container { + z-index: 8; + display: flex; + align-items: center; + justify-content: center; + width: 100vw; + height: 100vh; + background-color: $black; + + &-video { + z-index: 9; + width: auto; + height: 100%; + + &-fallback { + position: absolute; + z-index: 8; + width: 100vw; + height: auto; + opacity: .3; + } + } +} diff --git a/src/react-app-env.d.ts b/src/react-app-env.d.ts index 32d064d..a2b005a 100644 --- a/src/react-app-env.d.ts +++ b/src/react-app-env.d.ts @@ -1,3 +1,4 @@ /// -declare module "*.ogg"; -declare module "*.mp3"; +declare module '*.ogg'; +declare module '*.mp3'; +declare module '*.mp4'; diff --git a/src/settings-context.tsx b/src/settings-context.tsx index 7223658..956895a 100644 --- a/src/settings-context.tsx +++ b/src/settings-context.tsx @@ -1,57 +1,50 @@ -import * as React from "react"; -import { createContext, useState } from "react"; +import * as React from 'react'; +import { createContext, useState } from 'react'; -import ru from "./locales/ru.json"; -import en from "./locales/en.json"; +import ru from './locales/ru.json'; +import en from './locales/en.json'; export interface Settings { - language: typeof ru | typeof en; - musicVolume: number; - currentLanguage: string; - uiLanguage: string[]; - uiSound: boolean; + language: typeof ru | typeof en; + musicVolume: number; + currentLanguage: string; + uiLanguage: string[]; + uiSound: boolean; } export interface SettingsContextType { - settings: Settings; - saveSettings?: (value: Settings) => void; + settings: Settings; + saveSettings?: (value: Settings) => void; } interface Props { - children: React.ReactNode; - settings: Settings; + children: React.ReactNode; + settings: Settings; } const defaultSettings: SettingsContextType = { - settings: { - language: ru, - musicVolume: 1.0, - currentLanguage: ru["ui.language"], - uiLanguage: [ru["ui.language"], en["ui.language"]], - uiSound: true, - }, + settings: { + language: ru, + musicVolume: 1.0, + currentLanguage: ru['ui.language'], + uiLanguage: [ru['ui.language'], en['ui.language']], + uiSound: true, + }, }; const SettingsContext = createContext(defaultSettings); -export const SettingsProvider: React.FC = ({ - children, - settings, -}: Props) => { - const [currentSettings, setCurrentSettings] = useState( - settings || defaultSettings - ); +export const SettingsProvider: React.FC = ({ children, settings }: Props) => { + const [currentSettings, setCurrentSettings] = useState(settings || defaultSettings); - const saveSettings = (value: Settings) => { - setCurrentSettings(value); - }; + const saveSettings = (value: Settings) => { + setCurrentSettings(value); + }; - return ( - - {children} - - ); + return ( + + {children} + + ); }; export default SettingsContext; diff --git a/src/utils/bootstrap-settings.ts b/src/utils/bootstrap-settings.ts new file mode 100644 index 0000000..700f898 --- /dev/null +++ b/src/utils/bootstrap-settings.ts @@ -0,0 +1,41 @@ +import { Settings } from '../settings-context'; +import en from '../locales/en.json'; +import ru from '../locales/ru.json'; + +export function bootstrapSettings(): Settings { + const initialSettings: Settings = { + language: en, + musicVolume: 1.0, + currentLanguage: en['ui.language'], + uiLanguage: [en['ui.language'], ru['ui.language']], + uiSound: true, + }; + const languageString = + (navigator.languages && navigator.languages[0]) || + navigator.language || + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + navigator.userLanguage; + + const language = languageString.match(/\w*/i); + if (!language || !language.length) { + return initialSettings; + } + + switch (language[0]) { + case 'ru': + return { + ...initialSettings, + language: ru, + currentLanguage: ru['ui.language'], + }; + case 'en': + return { + ...initialSettings, + language: en, + currentLanguage: en['ui.language'], + }; + default: + return initialSettings; + } +} diff --git a/src/utils/constants.ts b/src/utils/constants.ts index 477169e..f5124e8 100644 --- a/src/utils/constants.ts +++ b/src/utils/constants.ts @@ -1,3 +1,5 @@ +import defaultPlace from '../assets/stormwind-park'; + export const ANIMATION_DURATION = 500; export const LOADING_DURATION = 800; export const PREVIEW_WIDTH = 320; @@ -7,3 +9,11 @@ export const UI_MUSIC_VOLUME = 1; export const SPACE = 200; export const DEFAULT_WIDTH = 1920; export const DEFAULT_HEIGHT = 1080; + +export const DIALOG_STEP_DURATION = 7000; + +export const DEFAULT_PLACE = `${defaultPlace.name}/0`; +export const PATH_PLACES = '/:placeName/:viewNumber'; + +export const author = 'obergodmar'; +export const authorUrl = 'https://github.com/obergodmar'; diff --git a/src/utils/index.ts b/src/utils/index.ts index eda5447..b38f675 100644 --- a/src/utils/index.ts +++ b/src/utils/index.ts @@ -1,34 +1,27 @@ -import { LOADING_DURATION } from "./constants"; -import Sound from "../modules/sound"; +import { LOADING_DURATION } from './constants'; +import Sound from '../modules/sound'; -export { - PREVIEW_WIDTH, - PREVIEW_HEIGHT, - UI_MUSIC_VOLUME, - UI_SOUND_VOLUME, - LOADING_DURATION, - ANIMATION_DURATION, - DEFAULT_HEIGHT, - DEFAULT_WIDTH, - SPACE, -} from "./constants"; +export * from './constants'; +export * from './types'; + +export { bootstrapSettings } from './bootstrap-settings'; export const delay = (): Promise => - new Promise((resolve) => setTimeout(resolve, LOADING_DURATION)); + new Promise((resolve) => setTimeout(resolve, LOADING_DURATION)); export const soundLoad = (soundFile: string, soundVolume: number): Sound => - new Sound(soundFile, soundVolume); + new Sound(soundFile, soundVolume); export const randomNumber = (min: number, max: number): number => - Math.floor(Math.random() * (max - min)) + min; + Math.floor(Math.random() * (max - min)) + min; // eslint-disable-next-line export function debounce(fn: (args: any) => unknown, ms: number): any { - let timer: NodeJS.Timeout; - return (...args: [unknown]) => { - if (timer) { - clearTimeout(timer); - } - timer = setTimeout(() => fn.apply(this, args), ms); - }; + let timer: NodeJS.Timeout; + return (...args: [unknown]) => { + if (timer) { + clearTimeout(timer); + } + timer = setTimeout(() => fn.apply(this, args), ms); + }; } diff --git a/src/utils/types.ts b/src/utils/types.ts new file mode 100644 index 0000000..718c64c --- /dev/null +++ b/src/utils/types.ts @@ -0,0 +1,4 @@ +export enum Orientation { + bottom = 'bottom', + left = 'left', +}