diff --git a/.babelrc b/.babelrc
new file mode 100644
index 0000000..f4bce23
--- /dev/null
+++ b/.babelrc
@@ -0,0 +1,14 @@
+{
+ "presets": ["es2015", "react", "stage-0"],
+ "plugins": [
+ [
+ "react-intl", {
+ "messagesDir": "./client/i18n/messages",
+ "enforceDescriptions": false
+ }
+ ]
+ ],
+ "ignore": [
+ "**/*.test.js"
+ ]
+}
diff --git a/.gitignore b/.gitignore
index 9c9e33c..a61d6c7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,27 +1,45 @@
+# See http://help.github.com/ignore-files/ for more about ignoring files.
+
+# dependencies
node_modules
bower_components
+# testing
+/coverage
+
+# production
+#/build
+
+stats.html
+client/public/assets/js/stats.html
+
+# misc
+.DS_Store
+.env
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
.sass-cache
+client/lib
+
+client/src/scss/bourbon
+client/src/scss/neat
+client/src/scss/spec
_build/scss/bourbon
_build/scss/neat
_build/scss/font-awesome
_build/scss/html5-boilerplate
-_build/lib
-
-*.css.map
-assets/css/font-awesome*.css
-assets/fonts/
+/sources
+/sources.zip
-.baseDir.ts
-.baseDir.js
-.baseDir.js.map
+crowdin.yml
.tscache
-npm-debug.log
+prod/client/i18n
-_build/ts/DefinitelyTyped
+__snapshots__
-_build/tscommand-*
+/i18n
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..1f56aa7
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,16 @@
+language: node_js
+node_js:
+ - "6"
+deploy:
+ provider: heroku
+ api_key:
+ secure: sgbowaUrgNLjctC0b2Ld9Ruqx14PIKq149c7Rb7l0o7SuqLp/W/8NS8NnDzvSPOqzYfDw+fAidWlds1b2Lfbjx+7bYDFUz+zmPIQTTTR1oW0klOXD6h9gDHaV068t1JsbyCr4nvCCy38b+whw2Z+syzWUFwqmlfkSE4tmL6zSNmfB8yd84OWtQ9UoCwMCqiIORPoQUudOqCD5Ve6c1wJKQjftgYeEiit+UJK8dy2rpU5ElNHggDK4RFWf8M8ZlrFvTk9RR86ZUbdIrehXiZ1xIQJDsixDiu44f9XwnS0/c+txywLSKtIXUIPbaA8ftEk3jt4m8PXTxXVp+UQGTPhtjMr0YNBx3VdSEbFHm2zxBhopRgDR3HAyQ4DhDs3N22YkXugkpr8S0z+Vb/KlEf+WjXllVB9mVk5T2CdxVZ4feWDxrguHWP70JAEr1PqXUU2pJ3GKntAIbnfQDr1VJS4WnjxDGx6PVHGeQfmVdr5t9zCYt76z0s/dVhfWnVgTirZ3yAHf5osTnM0cS+/pBC6vMpoyUu+3x3SaBMxR2DhLNGUhGqwbcxndgfKFUeru6noxEBm87S+aFWQ6y3BKs4PRqrBU8bLEky39S1DMkMlHqXnFNwgmwKQbwZ2LCQ4X54hToT9fNWWQHH0zkWUoCoc85h6+9Ai9/TPsGwFXWXxHLo=
+ app: reacteureka
+ on:
+ repo: jpdevries/eureka
+ branch: release-2.0
+
+# safelist
+branches:
+ only:
+ - release-2.0
diff --git a/LICENSE b/LICENSE
index 3b41b4f..9bbafd0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,22 +1,31 @@
-The MIT License (MIT)
+BSD License
-Copyright (c) 2015 JP DeVries
+For Eureka Browser software
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Copyright (c) 2015-present, John-Paul DeVries
+All rights reserved.
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-SOFTWARE.
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ * Neither the name Eureka Browser nor the names of its contributors may be used to
+ endorse or promote products derived from this software without specific
+ prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/README.md b/README.md
index fa101b4..9666eb3 100644
--- a/README.md
+++ b/README.md
@@ -1,194 +1,702 @@
-# Eureka
+# Eureka 🌲
+[](https://travis-ci.org/jpdevries/eureka) [](https://badge.fury.io/js/eureka-browser)
-Flexible Media Browser Component. [Try the demo](http://markup.tips/eureka).
-As seen in [Redactor 2.0](https://www.modmore.com/extras/redactor) by modmore. Contributions welcomed.
+Eureka is a progressively enhanced flexible media browser. Connected to your media sources through a REST API, this accessible web component allows users to browse media sources, upload files, and choose media items.
-> With `eureka.js` your users will be saying "I found it!" in no time.
+[🤗 Try the demo](https://eureka.markup.tips/).
+
+> With `eureka.js` users will be saying "I found it!" in no time.
— [@mrktps](https://twitter.com/mrktps)
-### Discuss
+## 💬 Discuss
Join the conversation in our public Gitter chat room.
[](https://gitter.im/jpdevries/eureka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-### Features
+## 📚 Wiki
+Don't forget to [browse the Wiki](https://github.com/jpdevries/eureka/wiki) for [more information on the REST API](https://github.com/jpdevries/eureka/wiki/REST-API), [patterns](https://github.com/jpdevries/eureka/wiki/Patterns), [screenshots](https://github.com/jpdevries/eureka/wiki/Screenshots) and more.
+
+## 🍻 Support
+The Eureka Media Browser and supporting resources are provided free as in beer.
+[Gratuities are accepted through Square Cash](https://cash.me/$devriesdev).
+
+## 🏋️♀️ Weigh In
+The Eureka Media Browser is pretty lightweight all things considered.
+
+| Asset | Weight (GZIP minified)
+| ------------- |:-------------:|
+| CSS Stylesheet | `7.83kB` |
+| SVG Icons | `7.88kB` |
+| React Component | `75.83kB` |
+
+[Have a gander at our Webpack Visualizer](https://eureka.markup.tips/assets/js/stats.html) 👀 .
+
+### 📄 HTML–first
+As a progressively enhanced web component, Eureka is functional HTML–first. This means that technically anything other than the initial HTML layer is a non–critical enhancement. Critical features supported by the HTML layer, such as browse, upload, and choose, are universally supported and do not depend on modern browsers, CSS styles, or script.
+
+😲 Take a gander at Eureka in the nued by waking our incredibly lightweight [raw HTML example](https://reacteureka.herokuapp.com/nued).
+
+We also encourage you to temporarily disable JavaScript in your browser and party with Eureka like it's 1999.
+
+## Powered By 🚀
+ - Progressively Enhanced from HTML components
+ - All–new Virtual DOM powered by React/Redux
+ - Node Server Side Rendering
+ - Node testing server
+
+## Highlights 🖋
+ - Configurable Rest API endpoints
- Browse multiple media sources for images
- Drag and Drop Upload Support
- Flexible Layout
- Responsive Design
- - Lightweight
- - no external dependencies (not even jQuery)
- - `eureka.min.js` 65kb minified
- - `eureka.min.css` 40kb minified
+ - Save Data with responsive thumbnails
+ - Configurable Styles via CSS Variables
- Accessible
- supports mobile and touch devices
- - supports `.no-js`
- - ARIA Keyboard Support
- - please log *any* a11y issues [here](https://github.com/jpdevries/eureka/issues)
+ - supports `.no-js` via server side rendering
+ - ARIA & Keyboard Support
+ - high contrast themes
+
+## 🚥 Features
+The level of isomorphism between the client and server side one can achieve with Node is unmatched. Eureka takes advantage of this unique strength of Node by, through an isomorphic server and standard synchronous forms, achieving full support for critical features.
+
+No features rely solely on sight or the use of a mouse. Keyboard use is supported. Accommodations are taken for users that benefit from high contrast themes. Visually hidden text is used to convey aspects of the interface that are otherwise visually implied to screen readers and assistive technology.
+
+The semantic HTML layer remains usable even absent of style as pure HTML.
+
+
+ Support of features against browser environments
+
+
+ Feature
+ .no-js
+ < IE 9
+ Chrome
+ Safari
+ Firefox
+ IE 11
+ Edge
+
+
+
+
+ Upload multiple files
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Browse directories
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Choose a media item
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Keyboard Support
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ ARIA Support
+ ✅
+ ✳️
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ WCAG Level AA
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Internationalization
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Download Item
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Choose Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Delete Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Keyboard Shortcuts
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Crop Images
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Paste to Upload
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Media Source panel
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Async UX
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Filterable Data Table
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Sortable Data Table
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Drag 'n drop uploads
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Grid Layout
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ❌
+
+
+ Flexible Layout
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ View Chooser
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Masonry Layout Mode
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Pathbar
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Rename Item
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Delete Item
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Download Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Local Storage
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Variable Styles
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ✅
+
+
+ Accessible Themes
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ✅
+
+
+ Mobile First Layout
+ ✅
+ ✳️
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Fullscreen Mode
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ HTML5 Context Menus
+ ❌
+ ❌
+ 🔧
+ ❌
+ ✅
+ ❌
+ ❌
+
+
+ HTML5 Details
+ ✳️
+ ❌
+ ✅
+ ✅
+ ✅
+ ✳️
+ ✅
+
+
+ HTML5 Datalist
+ ✳️
+ ❌
+ ✅
+ ❌
+ ✅
+ ✳️
+ ✳️
+
+
+
+
+## 🛠 Usage
-### Tech Specs
- - Built [HTML-first](http://markup.tips/htmlftw) and powered by [Markup.tips](http://markup.tips)
- - ES5/6 JavaScript authored in [TypeScript](http://www.typescriptlang.org)
- - Extensible theme authored in Object Oriented [Sass](http://sass-lang.com)
- - Automation & Build powered by [Grunt](http://gruntjs.com)
+```bash
+npm install eureka-browser --save
+```
-### Preview
-
-Eureka draws a flexible view and allows users to browse, upload, and choose media items from any number of different media sources.
+#### Bower
+You can also install Eureka via Bower, which is a good way to fetch its stylesheet and icon sprite. There is also a UMD export of the `EurekaMediaBrowser` component for the unlikely case you'll need it.
-### Usage
+```bash
+npm install -g bower
+```
-`eureka.js` needs you to load at least one `JavaScript` file and one `CSS` stylesheet before getting started.
-```html
-
-
-
-
-
-
+```bash
+bower install eureka-browser#release-2.0
+ls bower_components/eureka-browser/client/build/assets/css/ # default eureka theme
+ls bower_components/eureka-browser/client/build/assets/img # icon sprite
+ls bower_components/eureka-browser/client/build/assets/js # bundled and unbundled UMD exports of EurekaMediaBrowser component
```
-The Eureka Media Browser is built [HTML-first](http://markup.tips/html-ftw) using [Markup.tips](http://markup.tips). This means `eureka.js` assumes you've populated the `DOM` with `HTML` markup manually. If you haven't, no worries. `muckboot.eureka.js` can do that for you. Let's say you start off with an empty div:
+#### HTML
+The `` React component is styled by a standard CSS stylesheet. Include the CSS for the appropriate version of the media browser. Reference the theming section for [more information on styling Eureka](https://github.com/jpdevries/eureka#-theming).
```html
-
+
```
-_Note the `.eureka` class and the use of a unique identifer. The unique identier is important because `eureka.js` will use it a lot when referencing the `DOM`._
+```html
+
+
+
+```
+
+#### JS
```js
-var $muckboot = new MuckBoot({ // paint the DOM
- id:'media-browser_0',
- upload:true // if set to false will not add uploading related elements to the DOM
- createDir:false, // add create directory button
- enlargeFocusRows:true, // whether or not to make images in focused rows bigger
- hideImagesOnListView:undefined, // if true hides image thumbs in list view
- allowFullScreen:true
-});
+import React from 'react';
+import ReactDOM from 'react-dom';
+import { EurekaMediaBrowser } from 'eureka-browser';
+
+ReactDOM.render(
+ ,
+ document.getElementById('eureka-root')
+);
```
-Now that `muckboot.eureka.js` has done the prep-work Eureka is ready for instantiation.
+Eureka will then be injected into the DOM and eagerly reach out to the REST API for the JSON data it needs to offer the interface.
+
+Configure the `EurekaMediaBrowser` via the optional attributes found in the default configuration below:
+```xml
+
+```
-```js
-var $eureka = new Eureka({ // init the Eureka component
- // REQUIRED SETTINGS
- uid:'media-browser_0', // id of our div
- // if useWebWorkers is true these must be absolute paths or relative to the webserver root
- directoryRequestURL:'fakepi/listdirectory.php', // lists contents of a directory. along with headers Object, sends 's' and 'dir' parameters for media source and current directory
- listSourceRequestURL:'fakepi/listsource.php', // list navigation tree of a given media sources. along with headers Object, sends 's' paramater for media source to list
- listSourcesRequestURL:'fakepi/listsources.php', // fetches a list of all media sources
-
- // OPTIONAL SETTINGS
- directoryChildrenRequestURL:'fakepi/listdirectorychildren.php', // fetches a list of direct children directories of the given directory. If ommited diretoryRequestURL will be used and all non-directory results will be ignored
- useWebWorkers:true, // whether or not to use a worker thread when making XHR Requests
- touch:Modernizr.touch, // or use your own feature detection
- fileUploadURL:undefined, // endpoint to send files to, removes upload components from UI if not set
- navTreeHidden:false, // initially hides the sidebar
- useLocalStorage:true, // whether or not to try and use localStorage to save state data
- displayFullTreePaths:false, // when enabled displays full paths in the tree
- allowRename:true, // disabling removes rename button from contextual menus
- allowDelete:true, // disabling removes delete button from contextual menus
- confirmBeforeDelete:true, // when enabled confirms before deleting items
- storagePrefix:'eureka_', // prepended to localStorage keys
- locale:'en-US', // i18n
- mediaSource:0, // zero-based numeric index of current media source (will override localStorage)
- currentDirectory:'/', // (will override localStorage)
- debug:false, // when enabled traces debugging info to console.log
- headers: [{
- 'Powered-By': 'Eureka by Markup.tips' // additional headers for XHR requests
- }]
-});
+## ⚙️ Options
+
+| Option | Default | Description |
+| ------------- |:-------------:| -----|
+| `basePath` | `"/"` | Prepended to URLs for XHR requests to the Rest API. Set to the absolute path of your Rest API. |
+| `allowUploads` | `true` | Whether or not to allow uploading of media items |
+| `treeHidden` | `true` | Whether or not the Media Source Panel "sidebar" should be initially closed |
+| `useLocalStorage` | `true` | Whether or not to use the JavaScript `localStorage` API to remember session data such as the last visited directory and view mode preference |
+| `storagePrefix` | `"eureka__"` | Prepended to `localStorage` keys |
+| `allowRename` | `true` | Whether or not to offer users the ability to rename directories and media items |
+| `allowDelete` | `true` | Whether or not to offer users the ability to delete directories and media items |
+| `allowDownload` | `false` | Whether or not to add a download button to media items |
+| `confirmBeforeDelete` | `false` | Whether or not to confirm intent before users delete directories and media items |
+| `locale` | `"en-US"` | The localization to use. See Lexicons. |
+| `mediaSource` | `undefined` | The default initial media source id to use |
+| `currentDirectory` | `"/"` | The default initial directory to use |
+| `uid` | `"0"` | A unique identifier used to ensure multiple `` components on the same page do not share the same DOM ids |
+| `assetsBasePath` | `"./assets/"` | Relative path to the Eureka assets directory |
+| `iconSVG` | `"./img/icons.svg"` | Path, relative to `assetsBasePath`, to the Eureka icon sprite sheet |
+| `callbacks` | `{close: undefined, choose: undefined}` | Object containing close and choose callbacks |
+| `headers` | `{'Powered-By': 'Eureka by Markup.tips'}` | Additional request headers sent with XHR requests |
+| `intervals` | `{searchBarPlaceholder: false,fetchDirectoryContents: 18000,updateSourceTree: false}` | Intervals for whether or not and how often to do things like hit the REST API for updated data or update the placeholder attribute based on the current directory listing |
+| `enlargeFocusedRows` | `false` | Whether or not to enlarge thumbnails of focused rows |
+| `mode` | `"table"` | Initial view mode (table, thumb, grid, list) |
+| `sort` | `"name"` | Initial column to sort media items on |
+| `allowFullscreen` | `true` | Whether or not the interface should offer a fullscreen button |
+| `emphasisFocusedMediaItem` | `true` | Whether or not to emphasis selected media items (defaults to emphasizing the filename, only applies to table and list view modes) |
+| `doDragNDrop` | `true` | Whether or not to enable drag 'n drop features |
+| `allowChooseMultiple` | `true` | Whether or not to allow multiple files to be chosen |
+| `allowInvertSelection` | `true` | Whether or not to allow selection of multiple items to be inverted |
+| `allowDownloadMultiple` | `true` | Whether or not to allow multiple selected items to be download as a zip file |
+
+
+
+*Please take note that when `useLocalStorage` is `true` any options manually passed in as props will take precedent.*
+
+## 🌐 Browser Support
+The server side rendering and HTML–first design patterns begin progressively enhancing a universally supported HTML layer. So basic features are supported in any browser. JavaScript support begins at IE9. Desired CSS layout requires Flexbox and is further enhanced with Grid Layout.
+
+## 🔡 i18n
+Eureka is on Crowdin. Please [contribute to our translations](https://crowdin.com/project/eureka-browser) if you are able.
+
+## ♿️ Accessibility Proclaimer
+Eureka strives for WCAG Level AA success criteria in all scenarios with some accessibility preference features leaning towards Level AAA. Please [log *any* a11y issues here](https://github.com/jpdevries/eureka/issues).
+
+## ✅ Getting Started
+We're going to use `yarn` so make sure that is installed.
+
+```bash
+npm install yarn -g
```
-Eureka has been instantiated it's up to your user to find or upload the content they seek.
+To fire up a testing server run the following:
-### API
-The endpoints you'll need to supply Eureka with are documented in [the Wiki](https://github.com/jpdevries/eureka/wiki/API-Docs).
+```bash
+git clone -b release-2.0 git://github.com/jpdevries/eureka.git
+cd eureka
+yarn prestart
+yarn build
+yarn serve # start the development server
+# open http://localhost:3001 # Node server
+```
-### Events
-`eureka.js` likes to let you know when things happen.
+To host the compiled production server run
+```bash
+yarn start # install, fetch sources, build
+```
-| Event | Note |
-| ------------ |:-------------- |
-| `EurekaModel.EurekaFoundIt` | Dispatched when a media item is chosen |
-| `EurekaModel.EurekaFileRename` | Dispatched when a media item is renamed |
-| `EurekaModel.EurekaUnlink` | Dispatched when a media item is deleted |
-| `EurekaModel.EurekaDirectoryCreated` | Dispatched when a new directory is created |
-| `EurekaModel.EurekaDirectoryOpened` | Dispatched when a directory is opened |
-| `EurekaModel.EurekaDirectoryChanged` | Dispatched when the current directory is changed |
-| `EurekaModel.EurekaMediaSourceChange` | Dispatched when the current media source is changed |
-| `EurekaModel.EurekaMediaSourcesListChange` | Dispatched when the list of available sources is updated |
-| `EurekaModel.EurekaViewChange` | Dispatched when the view mode is changed |
+or
+```bash
+yarn prod # fire up the production server
+```
+The testing server hosts the `sources` and `client/build` directories along with a REST API to `GET`, `POST`, `PUT`, `DELETE` media items.
+
-##### Listening to Events
-The `EurekaFoundIt` is dispatched from the DOM element itself. This means that if you create a new Eureka Browser named "foo" like so:
-```html
-
-
+## ⚒ Development
+The Eureka component is created with `create-react-app` and found in the `client` directory. There you can run React tests, build the React component, and start the development server.
+
+Firstly, you'll need the testing server running for the REST API:
+```bash
+cd eureka
+yarn server
```
-You can listen to when things happen like so:
-```js
-var el = document.getElementById('foo');
-el.addEventListener(EurekaModel.EurekaFoundIt,function(e){
- var data = e.detail;
- var src = data.src; // probably what you are interesting in
- var filename = data.filename; // also good to know
- var filesize = data.filesize;
- var timestamp = data.timestap;
-});
+Now, in another terminal tab:
+
+```bash
+cd client
+yarn build
+yarn test
+yarn start
+# open http://localhost:3000 # development server
```
-Isn't that neat?
+The development server, like any other React app created with `create-react-app`, will automatically inject changes as you save changes to your source files.
+
+## 🗄 REST API
+Eureka is hungry for remote media sources. It needs a REST API to feed it JSON data.
+Find docs at the [REST API wiki page](https://github.com/jpdevries/eureka/wiki/REST-API).
-##### Event Data
-Events attach relevent data to the `detail` property of the `Event` itself. `eureka.js` is still in rapid development and events and their corresponding data are not yet fully documented, so log it to the console and see what you get for now. It'll be our own little surprise.
+### 💄 Decorating Actions
+Eureka's core Redux actions assume you'll be using a REST API. If REST isn't really your thing, or you need to modify the Redux actions for some other reason, you can decorate the actions Eureka will use. This is done using a Higher Order Component that wraps `EurekaMediaBrowser` and injects a `decoratedActions` property which will be applied as a shallow merge on top of the default actions. Reference this [Gist example of decorating actions](https://gist.github.com/jpdevries/e967056bd31cf6f01df0e431df68283b) for an example.
-### Browser Support
-Eureka targets modern HTML5 browsers and uses the latest draft of the flexible box model spec. Of course utilizing the HTML layer should get you universal support in theory, but regarding CSS3 and JavaScript support for layout and progressive enhancements we support the following environments:
- - Chrome
- - Safari
- - Firefox
- - IE 11,10
- - Basic IE 9 support is available via some external shivs. See [Supporting IE9](https://github.com/jpdevries/eureka/wiki/Supporting-IE9).
- - Edge
- - Opera 35+
- - iOS Latest
- - Android Latest
+## 📠 Server Side Rendering
+Eureka is progressively enhanced with React to be asynchronous and a richer experience in capable browsers that successfully execute scripts. But Eureka's support doesn't end at modern browsers because its design process doesn't start there. Eureka is a semantic and synchronous HTML form before it is an enhanced Virtual DOM.
-### Keyboard Shortcuts
-In addition to the below shortcuts, Eureka supports standard tab-to-focus usability shortcuts.
+Reference the [Server Side Rendering Wiki page](https://github.com/jpdevries/eureka/wiki/Server-Side-Rendering) for documentations and examples on achieving world wide support.
+
+### ⌨️ Keyboard Shortcuts
+Eureka uses JavaScript events to enrich the user experience of keyboard users.
| Shortcut | Command |
| --------------- |:-------------: |
-| Toggle Sidebar | ctrl ; |
-| Change View | ctrl alt (1-5) |
-| Change Media Source | alt (1-9) |
+| Toggle Sidebar | ctrl+; |
+| Change View | ctrl+alt+(1-5) |
+| Change Media Source | alt+(1-9) |
| Delete Item | backspace |
| Expand Item | spacebar |
| Choose Item | return |
-| Create Directory | ctrl n |
-| Upload Files | ctrl u |
-| Rename Item | ctrl r |
-| Filter Items | ctrl f |
+| Create Directory | ctrl+n |
+| Create file | ctrl+shift+n |
+| Upload Files | ctrl+u |
+| Rename Item | ctrl+r |
+| Filter Items | ctrl+f |
+| Sort Ascending | alt+up |
+| Sort Descending | alt+down |
+| Sort by filename | alt+n |
+| Sort by dimensions | alt+d |
+| Sort by file size | alt+f |
+| Sort by edited on | alt+e |
+| Set Choose Mode to Single | alt+s |
+| Set Choose Mode to Multiple | alt+m |
+| Invert Selection | alt+i |
+
+
+## 🎨 Theming
+Request additional theming options and share your themes by [opening an issue](https://github.com/jpdevries/eureka/issues/new) or [joining the discussion on Gitter](https://gitter.im/jpdevries/eureka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge).
+
+| Variable | Description |
+| ------------- | -----|
+| `--active` | Color used to highlight activated components such as the drop area |
+| `--border-width` | Generic border width for panels, components, inputs |
+| `--border-style` | Generic border style for panels, components, inputs |
+| `--border-color` | Generic border color for panels, components, inputs |
+| `--button-bg` | Background color of button elements |
+| `--button-color` | Color of button text |
+| `--color` | Default text color |
+| `--dangerous` | Color to use for warnings and errors |
+| `--light-bg` | Generic light background color, used for panels |
+| `--link-color` | Default anchor text color |
+| `--panel-border-color` | Border color of panel components |
+| `--subtle` | Subtle color, used for Media Source Panel |
+| `--very-subtle` | Very subtle color, used for drop zone area |
+| `--very-subtle-icon-opacity` | Opacity for very subtle icons |
+
+## 📣 Audible Interface
+Eureka uses a combination of ARIA attributes and `.visually-hidden` text to offer an experience that is as accessible visually as it is audibly.
+
+
+
+There is one Achilles heel here. Depending on your media source API, you might not be able to provide alternative text for images and media items. In the event that no alt text is provided, Eureka will to the best it can. For example:
+
+> schildpad.jpg displays at 336x125, weighs 37 KB, and was edited on Sunday, April 02, 2017, Central European Summer Time
+
+## 📺 Fullscreen Mode
+To maximize usability Eureka leverages the Fullscreen API.
+
+
+See the Fullscreen Mode in action
+
+
+
+## 🏞 Masonry Layout
+Eureka is enhanced by a Masonry Layout mode.
+
+
+Masonry Layout Mode
+
+
+
+If you are using Eureka as a UMD Module (probably not) you'll need [to load Masonry first](https://github.com/jpdevries/eureka/wiki/Loading-Patterns-(WIP)). If you would not like Masonry to be included in your bundle, add Masonry to your Webpack excludes. Eureka will only enable the Masonry Layout if Masonry is available.
-### Contribution Guidelines
-There's [lots to do](https://github.com/jpdevries/eureka/issues). Feel free to discuss or [open an issue](https://github.com/jpdevries/eureka/issues/) before submitting pull requests. Once you've checked out the project you'll want to get up and running with the Grunt workflow:
-```bash
-cd eureka/_build/
-npm install #install node modules
-grunt build #build source files
+```js
+externals: {
+ "react": "React",
+ "react-dom":"ReactDOM",
+ "redux":"Redux",
+ "react-redux":"ReactRedux",
+ "react-masonry-component":"Masonry"
+}
```
-To watch files for changes simply run the `grunt` task:
-```bash
-cd eureka/_build/
-grunt #watch for changes
-```
-You may test with either `examples/index.php` or `examples/muck.php`. HTML-first features are written and tested in `examples/index.php` while `muck.php` is a naked DOM populdated by `muckboot.eureka.js`.
+## 👀 Accessible Themes
+Eureka is empowered by themes which make it more accessible to users with particular physical or contextual disabilities or preferences.
+
+### Black on White
+
+
+### White on Black
+
diff --git a/_build/README.md b/_build/README.md
deleted file mode 100644
index 8581ca1..0000000
--- a/_build/README.md
+++ /dev/null
@@ -1,83 +0,0 @@
-# Build
-
-What you need
---------------------------------------
-
-In order to build Eureka front end assets, you need to have Ruby, Node.js/npm latest and git 1.7 or later.
-(Earlier versions might work OK, but are not tested.)
-
-For Windows you have to download and install [git](http://git-scm.com/downloads) and [Node.js](http://nodejs.org/download/).
-
-Mac OS users should install [Homebrew](http://mxcl.github.com/homebrew/). Once Homebrew is installed, run `brew install git` to install git,
-and `brew install node` to install Node.js.
-
-Linux/BSD users should use their appropriate package managers to install git and Node.js, or build from source
-if you swing that way. Easy-peasy.
-
-Installing Ruby and Ruby Gems
-----------------------------
-You'll need ruby and sass gems installed. If you're on OS X or Linux you probably already have Ruby installed; test with ruby -v in your terminal. When you've confirmed you have Ruby installed, run gem install sass to install Sass.
-
-```bash
-gem install sass
-```
-
-Make sure you have `sass` installed by testing:
-
-```bash
-sass --version
-```
-_Note: Depending on your Ruby setup you may need to use `sudo gem install sass`._
-
-Installing Grunt & Grunt Packages
-----------------------------
-
-First, clone a copy of this git repo by running:
-
-```bash
-git clone -b grunt git@github.com:jpdevries/eureka.git
-```
-
-Install the [grunt-cli](http://gruntjs.com/getting-started#installing-the-cli) package if you haven't before. These should be done as global installs:
-
-```bash
-npm install -g grunt-cli
-```
-
-Make sure you have `grunt` installed by testing:
-
-```bash
-grunt --version
-```
-
-Enter the default template directory and install the Node and Bower dependencies, this time *without* specifying a global(-g) install:
-
-```bash
-cd eureka/_build/
-npm install
-```
-_Note: `npm install` updates dependencies and should be run whenever you pull from git._
-
-Optionally enable Growl notifications install [terminal-notifier](https://github.com/alextucker/grunt-growl#getting-started) with RubyGems:
-```bash
-gem install terminal-notifier
-```
-_Note: Depending on your Ruby setup you may need to use `sudo gem install terminal-notifier`._
-
-Grunt Commands
-----------------------------
-
-__Build__
-Compile Sass and concatenate and minify JavaScript by running:
-
-```bash
-grunt build
-```
-
-__Watch__
-Watches files for changes and runs Sass and JavaScript tasks:
-
-```bash
-grunt
-```
-_Note: grunt is now watching files for changes. When Sass files are changed CSS will automatically be generated. Install the LiveReload [browser extension](http://feedback.livereload.com/knowledgebase/articles/86242-how-do-i-install-and-use-the-browser-extensions-) to inject CSS changes without a page refresh._
diff --git a/_build/bower.json b/_build/bower.json
deleted file mode 100644
index 48ac4b3..0000000
--- a/_build/bower.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
- "name": "eureka",
- "version": "1.2.0",
- "author": {
- "name": "JP DeVries",
- "url": "http://devries.jp"
- },
- "homepage": "https://github.com/jpdevries/eureka",
- "description": "A modern web component for browsing and uploading files to multiple remote media sources",
- "repository": {
- "type": "git",
- "url": "https://github.com/jpdevries/eureka"
- },
- "bugs": {
- "url": "https://github.com/jpdevries/eureka/issues"
- },
- "dependencies": {
- "html5-file-uploader": "git://github.com/jpdevries/html5-file-uploader.git#a0367a276344068f34362046233f478ca3e30fd5",
- "html5-boilerplate": "5.0.0",
- "font-awesome": "4.3.0",
- "dom4": "~1.4.3",
- "scopedQuerySelectorShim": "git@github.com:jpdevries/scopedQuerySelectorShim#patch-1"
- },
- "exportsOverride": {
- "scopedQuerySelectorShim" : {
- "":"src"
- },
- "DefinitelyTyped": {
- "": "modernizr"
- },
- "bourbon": {
- "": "app/assets/stylesheets/"
- },
- "neat": {
- "": "app/assets/stylesheets/"
- },
- "html5-boilerplate": {
- "css": [
- "dist/css/main.css",
- "dist/css/normalize.css"
- ],
- "js": [
- "dist/js"
- ],
- "": [
- "dist/.htaccess",
- "dist/favicon.ico",
- "dist/humans.txt",
- "dist/index.html",
- "dist/robots.txt",
- "dist/apple-touch-icon-precomposed.png"
- ]
- },
- "font-awesome": {
- "scss": [
- "scss"
- ],
- "fonts": [
- "fonts"
- ],
- "less": [
- "less"
- ],
- "css": [
- "css"
- ]
- },
- "dom4": {
- "": [
- "build/*.js"
- ]
- }
- },
- "keywords": [
- "media",
- "browser"
- ],
- "devDependencies": {
- "DefinitelyTyped": "*",
- "bourbon": "^4.2.3",
- "neat": "^1.7.2"
- },
- "license": "MIT",
- "ignore": [
- "**/.*",
- "node_modules",
- "bower_components",
- "test",
- "tests"
- ]
-}
diff --git a/_build/examples/assets/eureka.1.2.0.js b/_build/examples/assets/eureka.1.2.0.js
deleted file mode 100644
index 4ea737d..0000000
--- a/_build/examples/assets/eureka.1.2.0.js
+++ /dev/null
@@ -1,3169 +0,0 @@
-var AJAX = (function () {
- function AJAX() {
- this.x = new XMLHttpRequest();
- }
- AJAX.prototype.send = function (method, url, data, callback, sync, headers) {
- if (sync === void 0) { sync = true; }
- if (headers === void 0) { headers = []; }
- var that = this;
- this.x.open(method, url, sync);
- this.x.onreadystatechange = function () {
- if (that.x.readyState == 4) {
- callback(this.responseText);
- }
- };
- if (method == 'POST') {
- this.x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
- }
- if (headers !== undefined && headers !== null && headers.length !== undefined && headers.length) {
- for (var i = 0; i < headers.length; i++) {
- var obj = headers[i];
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- this.x.setRequestHeader(key, obj[key]);
- }
- }
- }
- }
- this.x.send(data);
- };
- AJAX.prototype.get = function (url, data, callback, sync, headers) {
- if (sync === void 0) { sync = true; }
- if (headers === void 0) { headers = []; }
- var query = [];
- for (var key in data) {
- query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
- }
- this.send('GET', url + ((url.indexOf('?') > 0) ? '&' : '?') + query.join('&'), null, callback, sync, headers);
- };
- AJAX.prototype.post = function (url, data, callback, sync) {
- if (sync === void 0) { sync = true; }
- var query = [];
- for (var key in data) {
- query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
- }
- this.send('POST', url, query.join('&'), callback, sync, (data.headers !== undefined ? data.headers : null));
- };
- AJAX.prototype.setHeaders = function (headers) {
- var that = this;
- for (var i = 0; i < headers.length; i++) {
- var obj = headers[i];
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- this.x.setRequestHeader(key, obj[key]);
- }
- }
- }
- };
- return AJAX;
-}());
-(function () {
- if (!HTMLElement.prototype.querySelectorAll) {
- throw new Error('rootedQuerySelectorAll: This polyfill can only be used with browsers that support querySelectorAll');
- }
- var container = document.createElement('div');
- try {
- container.querySelectorAll(':scope *');
- }
- catch (e) {
- var scopeRE = /^\s*:scope/gi;
- function overrideNodeMethod(prototype, methodName) {
- var oldMethod = prototype[methodName];
- prototype[methodName] = function (query) {
- var nodeList, gaveId = false, gaveContainer = false;
- if (query.match(scopeRE)) {
- query = query.replace(scopeRE, '');
- if (!this.parentNode) {
- container.appendChild(this);
- gaveContainer = true;
- }
- var parentNode = this.parentNode;
- if (!this.id) {
- this.id = 'rootedQuerySelector_id_' + (new Date()).getTime();
- gaveId = true;
- }
- nodeList = oldMethod.call(parentNode, '#' + this.id + ' ' + query);
- if (gaveId) {
- this.id = '';
- }
- if (gaveContainer) {
- container.removeChild(this);
- }
- return nodeList;
- }
- else {
- return oldMethod.call(this, query);
- }
- };
- }
- overrideNodeMethod(HTMLElement.prototype, 'querySelector');
- overrideNodeMethod(HTMLElement.prototype, 'querySelectorAll');
- }
-}());
-var matches = function (el, selector) {
- return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector);
-};
-var getClosest = function (element, selector) {
- for (; element && element !== document; element = element.parentNode) {
- if (matches(element, selector)) {
- return element;
- }
- }
- return false;
-};
-var getParents = function (element, selector) {
- var parents = [];
- for (; element && element !== document; element = element.parentNode) {
- if (!selector || (selector && matches(element, selector))) {
- parents.push(element);
- }
- }
- if (parents.length) {
- return parents;
- }
- return null;
-};
-Array.prototype.equals = function (array) {
- if (!array)
- return false;
- if (this.length != array.length)
- return false;
- for (var i = 0, l = this.length; i < l; i++) {
- if (this[i] instanceof Array && array[i] instanceof Array) {
- if (!this[i].equals(array[i]))
- return false;
- }
- else if (this[i] != array[i]) {
- return false;
- }
- }
- return true;
-};
-var _EUREKA = {
- src: (function () {
- var scripts = document.getElementsByTagName("script"), src = scripts[scripts.length - 1].src;
- return src;
- })()
-};
-var Eureka = (function () {
- function Eureka(opts) {
- this.opts = opts;
- var that = this;
- this._model = new EurekaModel(opts);
- this._view = new EurekaView();
- this._controller = new EurekaController({
- model: this._model,
- view: this._view
- });
- this._model.setController(this._controller);
- this._view.setController(this._controller);
- this._view.init();
- this._view.paint();
- this._controller.init();
- this.fetch();
- this._view.getElement().addEventListener('EurekaFilesUploaded', function (e) {
- that._model.setCurrentDirectory(that._model.getCurrentDirectory(), true, true, true);
- });
- }
- Eureka.prototype.fetch = function () {
- if (this._model.getDebug())
- console.log('fetch');
- var _shouldFetchDirectory = (this._model.getCurrentMediaSource() !== undefined && this._model.getCurrentMediaSource() !== '/' && this._model.getCurrentMediaSource() !== '') ? true : false;
- this._model.setCurrentMediaSource(this._model.getCurrentMediaSource(), true, undefined, !_shouldFetchDirectory, true);
- if (_shouldFetchDirectory) {
- this._model.setCurrentDirectory(this._model.getCurrentDirectory(), true, true, true);
- }
- };
- Eureka.prototype.getElement = function () {
- return this._view.getElement();
- };
- return Eureka;
-}());
-var EurekaMediaSource = (function () {
- function EurekaMediaSource(opts) {
- this.opts = opts;
- this._id = '';
- this._title = '';
- if (opts.id !== undefined)
- this._id = opts.id;
- if (opts.title !== undefined)
- this._title = opts.title;
- }
- EurekaMediaSource.prototype.getID = function () {
- return this._id;
- };
- EurekaMediaSource.prototype.setID = function (id) {
- this._id = id;
- };
- EurekaMediaSource.prototype.getTitle = function () {
- return this._title;
- };
- EurekaMediaSource.prototype.setTitle = function (title) {
- this._title = title;
- };
- EurekaMediaSource.prototype.toString = function () {
- return this.getID();
- };
- return EurekaMediaSource;
-}());
-var EurekaModel = (function () {
- function EurekaModel(opts) {
- this._uid = 'media-browser_0';
- this._storagePrefix = 'eureka_';
- this._sources = [];
- this._navTreeHidden = false;
- this._useLocalStorage = true;
- this._currentDirectory = undefined;
- this._currentView = 'view-a';
- this._locale = 'en-US';
- this._selected = '';
- this._editable = true;
- this._headers = [];
- this._debug = false;
- this._confirmBeforeDelete = true;
- this._displayFullTreePaths = false;
- this._allowRename = true;
- this._allowDelete = true;
- this._touch = false;
- this._prependOptGroupsWithRootOption = true;
- this._showDimensionsColumn = true;
- this._webWorkersPath = '';
- this._directoryRequestURL = '';
- this._directoryChildrenRequestURL = '';
- this._listSourceRequestURL = '';
- this._listSourcesRequestURL = '';
- this._useWebWorkers = false;
- this._sortMediaSources = false;
- this._fullscreenTarget = '.eureka-wrapper';
- this.getXHRHeaders = function () {
- return this._headers;
- };
- if (opts.uid !== undefined)
- this._uid = opts.uid;
- if (opts.storagePrefix !== undefined)
- this._storagePrefix = opts.storagePrefix;
- if (opts.locale !== undefined)
- this._locale = opts.locale;
- if (opts.mediaSource !== undefined)
- this._mediaSource = opts.mediaSource;
- if (opts.currentDirectory !== undefined)
- this._currentDirectory = opts.currentDirectory;
- if (opts.headers !== undefined)
- this._headers = opts.headers;
- if (opts.navTreeHidden !== undefined)
- this._navTreeHidden = opts.navTreeHidden;
- if (opts.useLocalStorage !== undefined)
- this._useLocalStorage = opts.useLocalStorage;
- if (opts.currentView !== undefined)
- this._currentView = opts.currentView;
- if (opts.selected !== undefined)
- this._selected = opts.selected;
- if (opts.displayFullTreePaths !== undefined)
- this._displayFullTreePaths = opts.displayFullTreePaths;
- if (opts.allowRename !== undefined)
- this._allowRename = opts.allowRename;
- if (opts.allowDelete !== undefined)
- this._allowDelete = opts.allowDelete;
- if (opts.directoryRequestURL !== undefined)
- this._directoryRequestURL = opts.directoryRequestURL;
- this._directoryChildrenRequestURL = (opts.directoryChildrenRequestURL !== undefined) ? opts.directoryChildrenRequestURL : this._directoryRequestURL;
- if (opts.listSourceRequestURL !== undefined)
- this._listSourceRequestURL = opts.listSourceRequestURL;
- if (opts.listSourcesRequestURL !== undefined)
- this._listSourcesRequestURL = opts.listSourcesRequestURL;
- if (opts.fileUploadURL !== undefined)
- this._fileUploadURL = opts.fileUploadURL;
- if (opts.showDimensionsColumn !== undefined)
- this._showDimensionsColumn = opts.showDimensionsColumn;
- if (opts.useWebWorkers !== undefined)
- this._useWebWorkers = (window.Worker) ? opts.useWebWorkers : false;
- if (opts.sortMediaSources !== undefined)
- this._sortMediaSources = opts.sortMediaSources;
- if (opts.debug === true)
- this._debug = opts.debug;
- if (opts.confirmBeforeDelete !== undefined)
- this._confirmBeforeDelete = opts.confirmBeforeDelete;
- if (opts.touch === true)
- this._touch = true;
- this._webWorkersPath = (opts.webWorkersPath !== undefined) ? opts.webWorkersPath : _EUREKA.src.substring(0, _EUREKA.src.lastIndexOf('/')) + '/workers/';
- if (this._useLocalStorage) {
- if (this.getLocalStorage('currentMediaSource') && !opts.mediaSource)
- this._mediaSource = this.getLocalStorage('currentMediaSource');
- if (this.getLocalStorage('navTreeHidden') && !opts.navTreeHidden)
- this._navTreeHidden = (this.getLocalStorage('navTreeHidden') == 'true' ? true : false);
- if (this.getLocalStorage('currentDirectory') && !opts.currentDirectory)
- this._currentDirectory = this.getLocalStorage('currentDirectory');
- if (this.getLocalStorage('currentView') && !opts.currentView)
- this._currentView = this.getLocalStorage('currentView');
- }
- }
- Object.defineProperty(EurekaModel, "EurekaFoundIt", {
- get: function () { return "EurekaFoundIt"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaFileRename", {
- get: function () { return "EurekaFileRename"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaUnlink", {
- get: function () { return "EurekaUnlink"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaDirectoryCreated", {
- get: function () { return "EurekaDirectoryCreated"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaDirectoryOpened", {
- get: function () { return "EurekaDirectoryOpened"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaDirectoryClosed", {
- get: function () { return "EurekaDirectoryClosed"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaDirectoryChanged", {
- get: function () { return "EurekaDirectoryChanged"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaMediaSourceChange", {
- get: function () { return "EurekaMediaSourceChange"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaMediaSourcesListChange", {
- get: function () { return "EurekaMediaSourcesListChange"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaViewChange", {
- get: function () { return "EurekaViewChange"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaFilesUploaded", {
- get: function () { return "EurekaFilesUploaded"; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(EurekaModel, "EurekaCanceled", {
- get: function () { return "EurekaCanceled"; },
- enumerable: true,
- configurable: true
- });
- EurekaModel.prototype.getUseWebWorkers = function () {
- return this._useWebWorkers;
- };
- EurekaModel.prototype.getwebWorkersPath = function () {
- return this._webWorkersPath;
- };
- EurekaModel.prototype.getShowDimensionsColumn = function () {
- return this._showDimensionsColumn;
- };
- EurekaModel.prototype.getLocalStorage = function (id) {
- id = this.getStoragePrefix() + id;
- if (localStorage.getItem(id) !== undefined && localStorage.getItem(id) !== 'undefined')
- return localStorage.getItem(id);
- return false;
- };
- EurekaModel.prototype.setLocalStorage = function (id, value) {
- id = this.getStoragePrefix() + id;
- localStorage.setItem(id, value);
- };
- EurekaModel.prototype.useLocalStorage = function () {
- return this._useLocalStorage;
- };
- EurekaModel.prototype.getAlertBeforeDelete = function () {
- return this._confirmBeforeDelete;
- };
- EurekaModel.prototype.getFileUploadURL = function () {
- return this._fileUploadURL;
- };
- EurekaModel.prototype.setFileUploadURL = function (val) {
- this._fileUploadURL = val;
- };
- EurekaModel.prototype.setAlertBeforeDelete = function (val) {
- this._confirmBeforeDelete = val;
- };
- EurekaModel.prototype.getDebug = function () {
- return this._debug;
- };
- EurekaModel.prototype.setDebug = function (debug) {
- this._debug = debug;
- };
- EurekaModel.prototype.getHeaders = function () {
- return this._headers;
- };
- EurekaModel.prototype.getUID = function () {
- return this._uid;
- };
- EurekaModel.prototype.getStoragePrefix = function () {
- return this._storagePrefix;
- };
- EurekaModel.prototype.getSources = function () {
- return this._sources;
- };
- EurekaModel.prototype.getEditable = function () {
- return this._editable;
- };
- EurekaModel.prototype.getDisplayFullTreePaths = function () {
- return this._displayFullTreePaths;
- };
- EurekaModel.prototype.getAllowRename = function () {
- return this._allowRename;
- };
- EurekaModel.prototype.getAllowDelete = function () {
- return this._allowDelete;
- };
- EurekaModel.prototype.getHTML5UploadData = function () {
- return {
- s: this.getCurrentMediaSource(),
- dir: this.getCurrentDirectory()
- };
- };
- EurekaModel.prototype.isTouch = function () {
- return this._touch;
- };
- EurekaModel.prototype.getMediaSourceDTOByID = function (id) {
- if (this.getDebug())
- console.log('getMediaSourceDTOByID: ' + id);
- var sources = this.getSources();
- for (var i = 0; i < sources.length; i++) {
- var source = sources[i];
- if (source.getID() == id) {
- return source;
- }
- }
- if (this.getDebug())
- console.log('no media source found with id: ' + id);
- return null;
- };
- EurekaModel.prototype.getController = function () {
- return this._controller;
- };
- EurekaModel.prototype.setController = function (controller) {
- this._controller = controller;
- };
- EurekaModel.prototype.getNavTreeHidden = function () {
- return this._navTreeHidden;
- };
- EurekaModel.prototype.setNavTreeHidden = function (navTreeHidden) {
- this._navTreeHidden = navTreeHidden;
- if (this._useLocalStorage)
- this.setLocalStorage('navTreeHidden', navTreeHidden);
- };
- EurekaModel.prototype.setCurrentMediaSource = function (currentMediaSource, dispatch, setLocalStorage, clearDirectory, dispatchIdenticalValues) {
- if (dispatch === void 0) { dispatch = true; }
- if (setLocalStorage === void 0) { setLocalStorage = true; }
- if (clearDirectory === void 0) { clearDirectory = true; }
- if (dispatchIdenticalValues === void 0) { dispatchIdenticalValues = false; }
- if (this.getDebug())
- console.log('setCurrentMediaSource');
- if (this._mediaSource === currentMediaSource && !dispatchIdenticalValues)
- return;
- this._mediaSource = currentMediaSource;
- if (setLocalStorage && currentMediaSource !== undefined)
- this.setLocalStorage('currentMediaSource', currentMediaSource);
- if (dispatch === false)
- return;
- var currentMediaSourceDTO = this.getMediaSourceDTOByID(this._mediaSource);
- if (currentMediaSourceDTO) {
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourceChange, true, true, {
- currentDirectory: this.getCurrentDirectory(),
- currentMediaSource: currentMediaSourceDTO,
- clearDirectory: clearDirectory,
- });
- this.getController().getView().getElement().dispatchEvent(e);
- }
- };
- EurekaModel.prototype.getCurrentMediaSource = function () {
- return this._mediaSource;
- };
- EurekaModel.prototype.setCurrentDirectory = function (currentDirectory, dispatch, setLocalStorage, dispatchIdenticalValues) {
- if (dispatch === void 0) { dispatch = true; }
- if (setLocalStorage === void 0) { setLocalStorage = true; }
- if (dispatchIdenticalValues === void 0) { dispatchIdenticalValues = false; }
- if (this.getDebug())
- console.log('setCurrentDirectory: ' + currentDirectory);
- if (setLocalStorage === undefined)
- setLocalStorage = this.useLocalStorage();
- if (this._currentDirectory === currentDirectory && !dispatchIdenticalValues)
- return;
- this._currentDirectory = currentDirectory;
- if (setLocalStorage && currentDirectory)
- this.setLocalStorage('currentDirectory', currentDirectory);
- if (dispatch === false)
- return;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaDirectoryChanged, true, true, {
- currentDirectory: currentDirectory,
- currentMediaSource: this.getMediaSourceDTOByID(this._mediaSource)
- });
- this.getController().getView().getElement().dispatchEvent(e);
- };
- EurekaModel.prototype.getCurrentDirectory = function () {
- if (this.getDebug())
- console.log('getCurrentDirectory: ' + this._currentDirectory);
- return this._currentDirectory || '/';
- };
- EurekaModel.prototype.setCurrentView = function (currentView, dispatch) {
- if (dispatch === void 0) { dispatch = true; }
- if (this._currentView === currentView)
- return;
- this._currentView = currentView;
- if (this._useLocalStorage)
- this.setLocalStorage('currentView', currentView);
- if (dispatch === false)
- return;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaViewChange, true, true, {
- currentView: currentView
- });
- this.getController().getView().getElement().dispatchEvent(e);
- };
- EurekaModel.prototype.getCurrentView = function () {
- return this._currentView;
- };
- EurekaModel.prototype.getFullScreenTarget = function () {
- return this._fullscreenTarget;
- };
- EurekaModel.prototype.setLocale = function (locale) {
- this._locale = locale;
- };
- EurekaModel.prototype.getLocale = function () {
- return this._locale;
- };
- EurekaModel.prototype.getPrependOptGroupsWithRootOption = function () {
- return this._prependOptGroupsWithRootOption;
- };
- EurekaModel.prototype.getsortMediaSources = function () {
- return this._sortMediaSources;
- };
- EurekaModel.prototype.setSources = function (sources, dispatch) {
- if (dispatch === void 0) { dispatch = true; }
- if (this.getDebug())
- console.log('setSources' + dispatch);
- this._sources = sources;
- if (dispatch === false)
- return;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourcesListChange, true, true, {
- sources: sources
- });
- if (this.getDebug())
- console.log('setSources');
- this.getController().getView().getElement().dispatchEvent(e);
- };
- EurekaModel.prototype.sortResultsById = function (results) {
- var a = [];
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- a[parseInt(result.id)] = result;
- }
- return a.filter(function (n) { return n != undefined; });
- };
- EurekaModel.prototype.setMediaSourcesData = function (data) {
- var that = this;
- if (that.getDebug())
- console.log('setMediaSourcesData');
- var results = data.results;
- if (that.getsortMediaSources())
- results = that.sortResultsById(results);
- var sources = [];
- var current = that.getCurrentMediaSource();
- var currentExists = false;
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var mediaSourceDTO = new EurekaMediaSource({
- id: result.id,
- title: result.name
- });
- sources.push(mediaSourceDTO);
- if (result.id == current)
- currentExists = true;
- }
- this.setSources(sources);
- that.setCurrentMediaSource((!currentExists) ? results[0].id : current, true, true, false, false);
- };
- EurekaModel.prototype.renameFile = function (fileName, newFilename) {
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaFileRename', true, true, {
- fileName: fileName,
- newFilename: newFilename,
- cs: this.getController().getModel().getCurrentMediaSource(),
- cd: this.getController().getModel().getCurrentDirectory(),
- path: this.getController().getModel().getCurrentDirectory() + fileName,
- newPath: this.getController().getModel().getCurrentDirectory() + newFilename
- });
- this.getController().getView().getElement().dispatchEvent(e);
- };
- EurekaModel.prototype.deleteFile = function (filename, tr) {
- var that = this;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaUnlink', true, true, {
- filename: tr.getAttribute('data-filename'),
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.querySelector('.image img, .image .img').getAttribute('src'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
- that.getController().getView().getElement().dispatchEvent(e);
- };
- EurekaModel.prototype.setChoosenMediaItem = function (filename) {
- var that = this;
- var tr = getEurekaRowByFileName(filename);
- var img = tr.querySelector('.image img, .image .img');
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaFoundIt', true, true, {
- filename: filename,
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.getAttribute('data-src'),
- thumb: tr.getAttribute('data-thumb'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
- that.getController().getView().getElement().dispatchEvent(e);
- function getEurekaRowByFileName(filename) {
- var trs = that.getController().getView().getElement().querySelectorAll('tr.eureka__row');
- for (var i = 0; i < trs.length; i++) {
- var tr = trs[i];
- if (tr.getAttribute('data-filename') == filename)
- return tr;
- }
- return null;
- }
- };
- EurekaModel.prototype.getSelected = function () {
- return this._selected;
- };
- EurekaModel.prototype.setSelected = function (filename) {
- this._selected = filename;
- };
- EurekaModel.prototype.getListDirectoryRequestURL = function () {
- return this._directoryRequestURL;
- };
- EurekaModel.prototype.getListDirectoryChildrenRequestURL = function () {
- return this._directoryChildrenRequestURL;
- };
- EurekaModel.prototype.setListDirectoryRequestURL = function (url) {
- this._directoryRequestURL = url;
- };
- EurekaModel.prototype.getListSourceRequestURL = function () {
- return this._listSourceRequestURL;
- };
- EurekaModel.prototype.setListSourceRequestURL = function (url) {
- this._listSourceRequestURL = url;
- };
- EurekaModel.prototype.getListSourcesRequestURL = function () {
- return this._listSourcesRequestURL;
- };
- EurekaModel.prototype.setListSourcesRequestURL = function (url) {
- this._listSourcesRequestURL = url;
- };
- return EurekaModel;
-}());
-var EurekaView = (function () {
- function EurekaView() {
- }
- EurekaView.prototype.getController = function () {
- return this._controller;
- };
- EurekaView.prototype.setController = function (controller) {
- this._controller = controller;
- };
- EurekaView.prototype.getElement = function () {
- return document.getElementById(this.getController().getModel().getUID());
- };
- EurekaView.prototype.assignFooterProceedListeners = function () {
- var that = this;
- that.getElement().parentNode.querySelector('footer.proceed button.cancel').addEventListener('click', function (e) {
- e.preventDefault();
- (function () {
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaCanceled, true, true, {});
- that.getElement().dispatchEvent(e);
- })();
- });
- that.getElement().parentNode.querySelector('footer.proceed button.cta').addEventListener('click', function (e) {
- e.preventDefault();
- that.getController().getModel().setChoosenMediaItem(that.getController().getModel().getSelected());
- });
- };
- EurekaView.prototype.init = function () {
- var that = this;
- that._handleTreeNodeClicked = function (e) {
- if (that.getController().getModel().getDebug())
- console.log('handleTreeNodeClicked');
- e.preventDefault();
- e.stopPropagation();
- that.handleTreePathClicked(this);
- };
- that._handleTreeFolderClicked = function (e) {
- e.preventDefault();
- e.stopPropagation();
- if (that.getController().getModel().getDebug())
- console.log('handleTreeFolderClicked');
- var _icon = this.querySelector('.fa');
- var _closing = _icon.classList.contains('fa-folder-open');
- var li = that.getClosest(this, 'li');
- var dataCD = this.nextSibling.getAttribute('data-cd') || '/';
- if (_closing) {
- _icon.classList.remove('fa-folder-open');
- _icon.classList.remove('icon-folder-open');
- _icon.classList.add('fa-folder', 'icon-folder');
- li.classList.remove('open');
- if (this.getAttribute('data-open-msg'))
- this.querySelector('.audible').innerHTML = this.getAttribute('data-open-msg');
- }
- else {
- _icon.classList.remove('fa-folder');
- _icon.classList.remove('icon-folder');
- _icon.classList.add('fa-folder-open');
- _icon.classList.add('icon-folder-open');
- li.classList.add('open');
- if (this.getAttribute('data-close-msg'))
- this.querySelector('.audible').innerHTML = this.getAttribute('data-close-msg');
- }
- (function () {
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent((_closing) ? EurekaModel.EurekaDirectoryClosed : EurekaModel.EurekaDirectoryOpened, true, true, {
- cd: that.getController().getModel().getCurrentDirectory(),
- s: that.getController().getModel().getCurrentMediaSource(),
- path: dataCD
- });
- that.getElement().dispatchEvent(e);
- })();
- };
- function assignShortcutListeners() {
- document.addEventListener('keydown', function (event) {
- if (that.getController().getModel().getDebug())
- console.log(event);
- if (event.ctrlKey && event.which === 186) {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').dispatchEvent(e);
- }
- if (event.altKey && event.ctrlKey && (event.which >= 48 && event.which <= 57)) {
- try {
- var btns = that.getElement().querySelectorAll('.view-btns > nav > a');
- var btn = (btns[event.which - 48 - 1]);
- if (btn) {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- btn.dispatchEvent(e);
- }
- }
- catch (e) { }
- }
- if (event.altKey && !event.ctrlKey && (event.which >= 49 && event.which <= 57)) {
- function setSelectOptGroup(select, group) {
- function getOptGroup() {
- var optgroups = select.querySelectorAll('optgroup');
- for (var i = 0; i < optgroups.length; i++) {
- var optgroup = optgroups[i];
- if (optgroup.getAttribute('data-source') == group)
- return optgroup;
- }
- return null;
- }
- var optGroup = getOptGroup();
- if (optGroup) {
- select.value = optGroup.querySelector('option').value;
- }
- }
- function setSelectOption(select, value) {
- try {
- var options = select.querySelectorAll('option');
- var option = options[value];
- if (option) {
- select.value = option.getAttribute('value');
- }
- }
- catch (e) { }
- }
- var msSelect = (document.getElementById(that.getController().getModel().getUID() + '__mediasource-select'));
- setSelectOption(msSelect, (event.which - 49).toString());
- setSelectOptGroup((document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select')), (event.which - 49).toString());
- that.getController().getModel().setCurrentMediaSource(msSelect.value, true, true, true, false);
- }
- if (event.which === 8 && document.activeElement) {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- try {
- document.activeElement.nextSibling.querySelector('a.trash').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.altKey && event.which === 32 && document.activeElement) {
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.activeElement.nextSibling.querySelector('a.expand').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.which === 13 && document.activeElement) {
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.activeElement.nextSibling.querySelector('a.choose').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.ctrlKey && event.which === 82) {
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.activeElement.nextSibling.querySelector('a.rename').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.ctrlKey && event.which === 78) {
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- that.getElement().querySelector('.create-new').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.ctrlKey && event.which === 85) {
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.getElementById(that.getController().getModel().getUID() + '__upload-input').dispatchEvent(e);
- }
- catch (e) { }
- }
- if (event.ctrlKey && event.which === 70) {
- try {
- document.getElementById(that.getController().getModel().getUID() + '__filter-images').focus();
- }
- catch (e) { }
- }
- });
- }
- function showSidebar() {
- var tog = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle');
- var el = document.getElementById(tog.getAttribute('data-toggle-target'));
- el.classList.remove('hidden');
- document.getElementById(that.getController().getModel().getUID()).classList.add('sidebar-open');
- that.getElement().querySelector('.browse-select').classList.add('tablet-p-hidden');
- that.getController().getModel().setNavTreeHidden(false);
- var toggle = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').getElementsByTagName("i")[0];
- toggle.classList.remove('fa-toggle-right');
- toggle.classList.remove('icon-toggle-right');
- toggle.classList.add('fa-toggle-left');
- toggle.classList.add('icon-toggle-left');
- tog.title = tog.getAttribute('data-title-close');
- }
- function hideSidebar() {
- var tog = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle');
- var el = document.getElementById(tog.getAttribute('data-toggle-target'));
- el.classList.add('hidden');
- document.getElementById(that.getController().getModel().getUID()).classList.remove('sidebar-open');
- that.getElement().querySelector('.browse-select').classList.remove('tablet-p-hidden');
- that.getController().getModel().setNavTreeHidden(true);
- var toggle = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').getElementsByTagName("i")[0];
- toggle.classList.add('fa-toggle-right');
- toggle.classList.add('icon-toggle-right');
- toggle.classList.remove('fa-toggle-left');
- toggle.classList.remove('icon-toggle-left');
- tog.title = tog.getAttribute('data-title-open');
- }
- document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').addEventListener('click', function (e) {
- var el = document.getElementById(this.getAttribute('data-toggle-target'));
- e.preventDefault();
- if (el.classList.contains('hidden')) {
- showSidebar();
- }
- else {
- hideSidebar();
- }
- });
- this.assignViewButtonListeners();
- this.assignFooterProceedListeners();
- this.assignBrowsingSelectOptGroupListeners();
- this.assignSelectListeners();
- this.assignSortBtnListeners();
- this.assignFilterListeners();
- this.assignCreateNewDirectoryListener();
- this.assignUploadListeners();
- assignShortcutListeners();
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- that.getElement().querySelector('.eureka__topbar-nav .view-btns a[data-view="' + that.getController().getModel().getCurrentView() + '"]').dispatchEvent(e);
- if (this.getController().getModel().getNavTreeHidden() === true) {
- hideSidebar();
- }
- var dropContainer = document.getElementById(that.getController().getModel().getUID()).querySelector('.dropzone') || null;
- if (html5Upload !== undefined && !(that.getController().getModel().isTouch()) && html5Upload.fileApiSupported() && dropContainer) {
- that._html5Upload = html5Upload.initialize({
- uploadUrl: that.getController().getModel().getFileUploadURL(),
- dropContainer: dropContainer,
- inputField: document.getElementById(that.getController().getModel().getUID() + '__upload-input'),
- key: 'File',
- data: that.getController().getModel().getHTML5UploadData(),
- maxSimultaneousUploads: 4,
- onFileAdded: function (file) {
- function removeMessages() {
- var rs = dropContainer.querySelector('.progress').querySelectorAll('h2,p');
- for (var i = 0; i < rs.length; i++) {
- rs[i].remove();
- }
- }
- removeMessages();
- var id = file.fileName.replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '') + file.fileSize.toString().replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '');
- var bar = document.createElement('div');
- bar.classList.add('bar');
- bar.setAttribute('id', id);
- bar.title = file.fileName + ' is preparing for upload.';
- var pill = document.createElement('div');
- pill.setAttribute('style', 'right:100%');
- bar.appendChild(pill);
- var dropzone = document.getElementById(that.getController().getModel().getUID()).querySelector('.dropzone');
- dropzone.classList.remove('complete');
- dropzone.classList.remove('error');
- dropzone.classList.add('uploading');
- dropzone.querySelector('.progress').appendChild(bar);
- file.on({
- onCompleted: function (response) {
- function isJSON(data) {
- try {
- JSON.parse(data);
- return true;
- }
- catch (e) { }
- return false;
- }
- if (!isJSON(response)) {
- dropzone.classList.add('error');
- }
- bar.setAttribute('title', file.fileName + ' has uploaded');
- if (dropzone.querySelectorAll('.bar').length >= 2)
- bar.remove();
- if (dropzone.querySelectorAll('.bar').length < 2) {
- setTimeout(function () {
- dropzone.querySelector('.progress').innerHTML = '';
- dropzone.classList.remove('uploading');
- dropzone.classList.add('complete');
- (function () {
- var div = dropzone.querySelector('.progress');
- var h2 = document.createElement('h2');
- var icon = document.createElement('i');
- icon.setAttribute('class', 'fa fa-check-circle-o icon icon-check-circle-o');
- h2.appendChild(icon);
- div.appendChild(h2);
- var span = document.createElement('span');
- span.setAttribute('title', 'files here...');
- span.innerHTML = 'Your files';
- var p = document.createElement('p');
- p.appendChild(span);
- p.innerHTML += ' have been successfully uploaded.';
- div.appendChild(p);
- if (dropzone.classList.contains('error')) {
- icon.setAttribute('class', 'fa fa-times-circle icon icon-times-circle');
- p.innerHTML = 'Oh no, One or more files were not uploaded.';
- }
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaFilesUploaded, true, true, {});
- that.getElement().dispatchEvent(e);
- document.getElementById(that.getController().getModel().getUID() + '__upload-form').reset();
- })();
- }, 640);
- }
- },
- onProgress: function (progress, fileSize, uploadedBytes) {
- progress = Math.ceil(progress);
- bar.setAttribute('title', file.fileName + ' is ' + progress + '% uploaded');
- pill.setAttribute('style', 'right:' + (100 - progress).toString() + '%');
- }
- });
- }
- });
- }
- else {
- if (dropContainer)
- dropContainer.remove();
- }
- if (that.getController().getModel().getFileUploadURL() === undefined || that.getController().getModel().getFileUploadURL() == '') {
- try {
- that.getElement().querySelector('.pathbrowser footer form').remove();
- }
- catch (e) { }
- try {
- that.getElement().querySelector('.upload-form').remove();
- }
- catch (e) { }
- try {
- that.getElement().querySelector('.upload-perhaps').remove();
- }
- catch (e) { }
- }
- if (that.getController().getModel().getCurrentMediaSource() !== undefined && that.getController().getModel().getCurrentMediaSource() !== '/' && that.getController().getModel().getCurrentMediaSource() !== '') {
- that.recursivelyOpenTreeToCurrentDirectory();
- }
- that.getElement().addEventListener(EurekaModel.EurekaDirectoryChanged, function (e) {
- if (that.getController().getModel().getDebug())
- console.log(EurekaModel.EurekaDirectoryChanged);
- var currentDirectory = e.detail.currentDirectory;
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
- var split = currentDirectory.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- var levelup = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser').querySelector('.level-up');
- if (split.length >= 1)
- levelup.classList.remove('hidden');
- else
- levelup.classList.add('hidden');
- (function () {
- try {
- var el = that.getElement().querySelector('.pathbrowser .create-new');
- el.setAttribute('title', 'Create a new directory in ' + that.sanitizeDisplayPath(currentDirectory));
- el.querySelector('.audible').innerHTML = el.getAttribute('title');
- }
- catch (e) { }
- })();
- (function () {
- try {
- var el = that.getElement().querySelector('.pathbrowser .upload-files');
- el.setAttribute('title', 'Upload media to ' + that.sanitizeDisplayPath(currentDirectory));
- el.querySelector('.audible').innerHTML = el.getAttribute('title');
- }
- catch (e) { }
- })();
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- try {
- (that._html5Upload).data = that.getController().getModel().getHTML5UploadData();
- }
- catch (e) { }
- try {
- that.getElement().querySelector('.oh-no code').innerHTML = currentDirectory;
- }
- catch (e) { }
- });
- that.getElement().addEventListener(EurekaModel.EurekaMediaSourceChange, function (e) {
- var mediaSourceTitle = that.getElement().querySelector('.eureka__topbar-nav .mediasource-title');
- if (e.detail.currentMediaSource) {
- var prepend = mediaSourceTitle.getAttribute('data-prepend') || '';
- mediaSourceTitle.innerHTML = prepend + e.detail.currentMediaSource.getTitle();
- }
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- try {
- (that._html5Upload).data = that.getController().getModel().getHTML5UploadData();
- }
- catch (e) { }
- });
- if (!that.getController().getModel().getShowDimensionsColumn()) {
- try {
- that.getElement().querySelector('.eureka-table th.dimensions').remove();
- }
- catch (e) { }
- }
- };
- EurekaView.prototype.setMediaSourceSelectValue = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('setMediaSourceSelectValue');
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
- var select = document.getElementById(that.getController().getModel().getUID() + '__mediasource-select');
- if (select.value !== currentMediaSource) {
- select.value = currentMediaSource;
- }
- };
- EurekaView.prototype.setBrowseSelectValue = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('setBrowseSelectValue');
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
- var select = document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select');
- var optgroups = select.querySelectorAll('optgroup');
- var optgroup = getOptGroup(optgroups);
- if (optgroup) {
- var opt = searchForValue(optgroup);
- if (opt && select.value !== opt.getAttribute('value')) {
- select.value = opt.getAttribute('value');
- }
- }
- function getOptGroup(optgroups) {
- for (var i = 0; i < optgroups.length; i++) {
- var optgroup = optgroups[i];
- if (optgroup.getAttribute('data-source') == currentMediaSource) {
- return optgroup;
- }
- }
- return null;
- }
- function searchForValue(optgroup) {
- function splitFilter(path) {
- if (!path)
- return '';
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- return split;
- }
- var opts = optgroup.querySelectorAll('option');
- for (var i = 0; i < opts.length; i++) {
- var opt = (opts[i]);
- var path = opt.getAttribute('data-cd');
- if (splitFilter(path).toString() == splitFilter(currentDirectory).toString()) {
- return opt;
- }
- }
- }
- };
- EurekaView.prototype.recursivelyOpenTreeToCurrentDirectory = function () {
- var that = this;
- var pathbrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var paths = pathbrowser.querySelectorAll('a.path');
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- if (path.getAttribute('data-cd').split('/').filter(Boolean).toString() == that.getController().getModel().getCurrentDirectory().split('/').filter(Boolean).toString()) {
- (function () {
- path.parentNode.classList.add('active');
- path.parentNode.classList.add('open');
- var parents = getParents(path, 'ul');
- function openFolder(folder) {
- folder.classList.remove('fa-folder');
- folder.classList.remove('icon-folder');
- folder.classList.add('fa-folder-open');
- folder.classList.add('icon-folder-open');
- try {
- folder.querySelector('.audible').innerHTML = folder.getAttribute('data-close-msg');
- }
- catch (e) { }
- }
- if (parents.length > 1) {
- for (var i = 0; i < parents.length; i++) {
- var li = parents[i].parentNode;
- li.classList.add('open');
- openFolder((li.querySelector('.folder > i')));
- }
- }
- })();
- }
- }
- return false;
- };
- EurekaView.prototype.assignUploadListeners = function () {
- var that = this;
- var upload_files = that.getElement().querySelector('.pathbrowser .upload-files');
- if (upload_files) {
- upload_files.addEventListener('click', function (e) {
- e.preventDefault();
- e.stopPropagation();
- (function () {
- var e = new MouseEvent('click', {
- 'view': window,
- 'bubbles': true,
- 'cancelable': true
- });
- document.getElementById(that.getController().getModel().getUID() + '__upload-input').dispatchEvent(e);
- })();
- });
- }
- var upload_perhaps = that.getElement().querySelector('.upload-perhaps a');
- if (upload_perhaps) {
- upload_perhaps.addEventListener('click', function (e) {
- e.preventDefault();
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- try {
- upload_files.dispatchEvent(e);
- }
- catch (e) { }
- });
- }
- };
- EurekaView.prototype.assignBrowsingSelectOptGroupListeners = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('assignBrowsingSelectOptGroupListeners');
- var select = document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select');
- select.addEventListener('change', function (e) {
- var option = that.getSelectedOption(this);
- var optgroup = that.getClosest(option, 'optgroup');
- var source = optgroup.getAttribute('data-source');
- that.getController().getModel().setCurrentMediaSource(source);
- that.getController().getModel().setCurrentDirectory(option.getAttribute('data-cd'), true, that.getController().getModel().useLocalStorage());
- var ajax = new AJAX();
- ajax.get(that.getController().getModel().getListSourceRequestURL(), { s: that.getController().getModel().getCurrentMediaSource() }, function (data) {
- }, true, that.getController().getModel().getXHRHeaders());
- });
- };
- EurekaView.prototype.assignCreateNewDirectoryListener = function () {
- var that = this;
- try {
- that.getElement().querySelector('.create-new').addEventListener('click', function (e) {
- var li = document.createElement('li');
- var folder = document.createElement('a');
- folder.classList.add('folder');
- folder.innerHTML = ' ';
- var path = document.createElement('a');
- path.classList.add('path');
- path.setAttribute('title', 'Browse this directory');
- path.setAttribute('data-cd', '');
- path.setAttribute('contenteditable', 'true');
- path.innerHTML = 'new folder';
- li.appendChild(folder);
- li.appendChild(path);
- li.appendChild(document.createElement('ul'));
- setTimeout(function () {
- path.focus();
- try {
- path.select();
- }
- catch (e) { }
- }, 240);
- var ul = (that.getElement().querySelector('.pathbrowser .tree li.active > ul') || that.getElement().querySelector('.pathbrowser .tree > ul'));
- ul.classList.add('open');
- (ul.parentNode).classList.add('open');
- try {
- (ul.previousSibling).previousSibling.querySelector('.fa').setAttribute('class', 'fa icon fa-folder-open icon-folder-open');
- }
- catch (e) { }
- path.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleKeyDown, false);
- }, false);
- path.addEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleKeyDown, false);
- }, false);
- function handleKeyDown(e) {
- if (e.keyCode === 13) {
- e.preventDefault();
- e.stopPropagation();
- this.blur();
- this.setAttribute('contenteditable', 'false');
- that.getElement().querySelector('button.create-new').focus();
- var foldername = this.innerHTML;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaDirectoryCreated', true, true, {
- newdirectory: foldername,
- cd: that.getController().getModel().getCurrentDirectory(),
- s: that.getController().getModel().getCurrentMediaSource(),
- path: that.getController().getModel().getCurrentDirectory() + foldername
- });
- that.getElement().dispatchEvent(e);
- }
- }
- ul.appendChild(li);
- });
- }
- catch (e) { }
- };
- EurekaView.prototype.assignViewButtonListeners = function () {
- var that = this;
- var model = this.getController().getModel();
- function setCurrent(el) {
- var anchors = document.querySelectorAll(".eureka__topbar-nav .view-btns a[data-view]:not(.view-f-btn)");
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.classList.remove('current');
- }
- el.classList.add('current');
- }
- var anchors = document.querySelectorAll(".eureka__topbar-nav .view-btns a[data-view]:not(.view-f-btn)");
- for (var i = 0; i < anchors.length; i++) {
- var current = anchors[i];
- current.addEventListener('click', function (e) {
- e.preventDefault();
- var that = this;
- var _v = this.getAttribute('data-view');
- var classes = ['view-a', 'view-b', 'view-c', 'view-d', 'view-e'];
- for (var _i = 0; _i < classes.length; _i++) {
- var c = classes[_i];
- document.getElementById(that.getAttribute('data-view-target')).classList.remove(c);
- }
- document.getElementById(that.getAttribute('data-view-target')).classList.add(_v);
- setCurrent(that);
- model.setCurrentView(_v);
- }, true);
- }
- var fullscreenBtn = document.querySelector(".eureka__topbar-nav .view-btns .view-f-btn");
- if (fullscreenBtn)
- fullscreenBtn.addEventListener('click', function (e) {
- e.preventDefault();
- if (that.isFullScreen()) {
- that.runPrefixMethod(document, "CancelFullScreen");
- fullscreenBtn.querySelector('i').classList.remove('fa-compress');
- fullscreenBtn.querySelector('i').classList.remove('icon-compress');
- console.log(fullscreenBtn.querySelector('i'));
- }
- else {
- that.requestFullScreen();
- fullscreenBtn.querySelector('i').classList.add('fa-compress');
- fullscreenBtn.querySelector('i').classList.add('icon-compress');
- console.log(fullscreenBtn.querySelector('i'));
- }
- });
- };
- EurekaView.prototype.isFullScreen = function () {
- return this.runPrefixMethod(document, "FullScreen") || this.runPrefixMethod(document, "IsFullScreen");
- };
- EurekaView.prototype.requestFullScreen = function () {
- this.runPrefixMethod(document.querySelector(this.getController().getModel().getFullScreenTarget()), "RequestFullScreen");
- };
- EurekaView.prototype.runPrefixMethod = function (obj, method) {
- var pfx = ["webkit", "moz", "ms", "o", ""];
- var p = 0, m, t;
- while (p < pfx.length && !obj[m]) {
- m = method;
- if (pfx[p] == "") {
- m = m.substr(0, 1).toLowerCase() + m.substr(1);
- }
- m = pfx[p] + m;
- t = typeof obj[m];
- if (t != "undefined") {
- pfx = [pfx[p]];
- return (t == "function" ? obj[m]() : obj[m]);
- }
- p++;
- }
- };
- EurekaView.prototype.assignARIAKeyListeners = function () {
- var that = this;
- (function () {
- function setFocused(el) {
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var current = rows[i];
- if (el !== current && current.classList.contains("focused"))
- current.classList.remove('focused');
- }
- el.classList.add('focused');
- var _cta = that.getProceedFooter().querySelector('button.cta');
- _cta.removeAttribute('disabled');
- _cta.classList.remove('muted');
- _cta.classList.add('go');
- that.getController().getModel().setSelected(el.getAttribute('data-filename'));
- }
- function handleBlur(el) {
- var contextual = document.getElementById('eureka_contextual__' + el.getAttribute('data-safe-filename'));
- contextual.focus();
- var _cta = that.getProceedFooter().querySelector('button.cta');
- _cta.classList.remove('go');
- _cta.classList.add('muted');
- }
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var current = rows[i];
- current.addEventListener('click', function (e) {
- e.preventDefault();
- setFocused(this);
- }, false);
- current.addEventListener('focus', function (e) {
- e.preventDefault();
- setFocused(this);
- }, false);
- current.addEventListener('blur', function (e) {
- handleBlur(this);
- }, false);
- }
- }());
- };
- EurekaView.prototype.assignSortBtnListeners = function () {
- var that = this;
- var sortBtns = that.getElement().querySelectorAll('.eureka-table th .fa-sort');
- for (var i = 0; i < sortBtns.length; i++) {
- var sortBtn = sortBtns[i];
- function handleSortBtnClicked(e) {
- e.preventDefault();
- e.stopPropagation();
- this.setAttribute('data-sort-asc', Math.abs(parseInt(this.getAttribute('data-sort-asc')) - 1).toString());
- var sortby = this.getAttribute('data-sortby');
- var sortASC = (this.getAttribute('data-sort-asc') == "1") ? true : false;
- var rows = [];
- var rs = document.querySelectorAll('.eureka-table tbody > tr:not(.contextual)');
- for (var i = 0; i < rs.length; i++) {
- rows.push(rs[i]);
- }
- switch (sortby) {
- case 'dimensions':
- rows.sort(function (a, b) {
- return (parseInt(a.getAttribute('data-dimensions-w')) * parseInt(a.getAttribute('data-dimensions-h'))) - (parseInt(b.getAttribute('data-dimensions-w')) * parseInt(b.getAttribute('data-dimensions-h')));
- });
- break;
- case 'filesize':
- rows.sort(function (a, b) {
- return parseInt(a.getAttribute('data-filesize-bytes')) - parseInt(b.getAttribute('data-filesize-bytes'));
- });
- break;
- case 'editedon':
- rows.sort(function (a, b) {
- return parseInt(a.getAttribute('data-timestamp')) - parseInt(b.getAttribute('data-timestamp'));
- });
- break;
- default:
- rows.sort(function (a, b) {
- if (a.getAttribute('data-filename') > b.getAttribute('data-filename'))
- return 1;
- if (a.getAttribute('data-filename') < b.getAttribute('data-filename'))
- return -1;
- return 0;
- });
- break;
- }
- if (!sortASC) {
- rows.reverse();
- }
- var s = '';
- for (var _i = 0; _i < rows.length; _i++) {
- var row = rows[_i];
- s += row.outerHTML;
- }
- that.getElement().querySelector('.eureka-table tbody').innerHTML = s;
- }
- sortBtn.removeEventListener('click', handleSortBtnClicked, true);
- sortBtn.addEventListener('click', handleSortBtnClicked, true);
- }
- };
- EurekaView.prototype.assignFilterListeners = function () {
- var that = this;
- function unFilterView() {
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i];
- row.classList.remove('hidden');
- }
- document.getElementById(that.getController().getModel().getUID()).querySelector('.eureka-table > table > tbody').classList.remove('filtered');
- }
- function filterView(value) {
- var rows = that.getElement().querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var row = rows[i];
- var show = false;
- var tokens = [row.getAttribute('data-filename')];
- if (row.getAttribute('data-tokens'))
- tokens = tokens.concat(row.getAttribute('data-tokens').split('||'));
- (function () {
- for (var _i = 0; _i < tokens.length; _i++) {
- var token = tokens[_i];
- if (value.length && (token == value || token.indexOf(value) > -1)) {
- show = true;
- break;
- }
- }
- })();
- if (!show) {
- row.classList.add('hidden');
- row.classList.remove('visible');
- }
- else {
- row.classList.add('visible');
- row.classList.remove('hidden');
- }
- document.getElementById(that.getController().getModel().getUID()).querySelector('.eureka-table > table > tbody').classList.add('filtered');
- }
- }
- var input = document.getElementById(that.getController().getModel().getUID() + '__filter-images');
- input.addEventListener("input", function (e) {
- if (this.value) {
- filterView(this.value);
- }
- else {
- unFilterView();
- }
- }, false);
- };
- EurekaView.prototype.sanitizeDisplayPath = function (path) {
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- return split.join('/');
- };
- EurekaView.prototype.getProceedFooter = function () {
- return this.getElement().parentNode.querySelector('footer.proceed');
- };
- EurekaView.prototype.handleTreePathClicked = function (el) {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('handleTreePathClicked: ' + (el.getAttribute('data-cd') || '/'));
- that.getController().getModel().setCurrentDirectory((el.getAttribute('data-cd') || '/'), true, undefined);
- function deactivatePaths() {
- var pathBrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- var li = that.getClosest(path, 'li');
- li.classList.remove('active');
- }
- }
- var li = that.getClosest(el, 'li');
- deactivatePaths();
- li.classList.add('active');
- };
- EurekaView.prototype.assignTreeListeners = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('assignTreeListeners');
- var pathBrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- path.addEventListener('click', that._handleTreeNodeClicked, false);
- }
- this.assignTreeFolderListeners();
- };
- EurekaView.prototype.assignTreeFolderListeners = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('assignTreeFolderListeners');
- var pathBrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var folders = pathBrowser.querySelectorAll("nav.tree a.folder");
- for (var i = 0; i < folders.length; i++) {
- var folder = folders[i];
- folder.addEventListener('click', that._handleTreeFolderClicked, false);
- }
- };
- EurekaView.prototype.assignSelectListeners = function () {
- var that = this;
- var mediaSourceSelect = that.getElement().querySelector('#' + that.getController().getModel().getUID() + '__mediasource-select');
- mediaSourceSelect.addEventListener('change', function () {
- that.getController().getModel().setCurrentMediaSource(this.value, true, that.getController().getModel().useLocalStorage());
- that.getController().getModel().setCurrentDirectory('/', false, that.getController().getModel().useLocalStorage());
- var ajax = new AJAX();
- ajax.get(that.getController().getModel().getListSourceRequestURL(), { s: that.getController().getModel().getCurrentMediaSource() }, function (data) {
- }, true, that.getController().getModel().getXHRHeaders());
- });
- var levelUp = (that.getElement().querySelector('.level-up'));
- levelUp.addEventListener('click', function (e) {
- e.preventDefault();
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var split = currentDirectory.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- if (split && split.length) {
- var destDirectory = '/';
- if (split.length > 1) {
- split.pop();
- destDirectory = split.join('/');
- }
- that.getController().getModel().setCurrentDirectory(destDirectory, true, true, false);
- }
- });
- };
- EurekaView.prototype.emptyTree = function () {
- var that = this;
- var pathBrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- (function () {
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- path.removeEventListener('click', that._handleTreeNodeClicked, false);
- path.remove();
- }
- })();
- (function () {
- var folders = pathBrowser.querySelectorAll("nav.tree a.folder");
- for (var i = 0; i < folders.length; i++) {
- var folder = folders[i];
- folder.removeEventListener('click', that._handleTreeFolderClicked, false);
- folder.remove();
- }
- })();
- };
- EurekaView.prototype.assignDraggableListeners = function () {
- var kindaDraggables = document.querySelectorAll('*[sorta-draggable="true"]');
- for (var i = 0; i < kindaDraggables.length; i++) {
- var kindaDraggable = kindaDraggables[i];
- kindaDraggable.addEventListener('blur', function (e) {
- this.parentNode.draggable = false;
- });
- kindaDraggable.addEventListener('focus', function (e) {
- this.parentNode.draggable = false;
- });
- }
- };
- EurekaView.prototype.assignChooseClickListeners = function () {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('assignChooseClickListeners');
- var rows = that.getElement().querySelectorAll('tr.eureka__row');
- for (var i = 0; i < rows.length; i++) {
- function addDblClickListener(tr) {
- tr.querySelector('div.image').addEventListener('dblclick', function (e) {
- var image = this;
- (function () {
- var e = (document.createEvent('CustomEvent'));
- e.initCustomEvent('EurekaFoundIt', true, true, {
- filename: tr.getAttribute('data-filename'),
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.getAttribute('data-src'),
- thumb: tr.getAttribute('data-thumb'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
- that.getController().getView().getElement().dispatchEvent(e);
- })();
- });
- }
- addDblClickListener((rows[i]));
- }
- };
- EurekaView.prototype.paint = function () {
- this.assignARIAKeyListeners();
- this.assignContextualClickListeners();
- this.assignDraggableListeners();
- this.assignChooseClickListeners();
- this.assignSortBtnListeners();
- };
- EurekaView.prototype.createTreeNode = function (path) {
- var that = this;
- path = path.split('/').filter(Boolean).join('/') + '/';
- var li = document.createElement('li');
- var folder = document.createElement('a');
- folder.innerHTML = ' ';
- folder.setAttribute('href', 'javascript:;');
- folder.classList.add('folder');
- folder.setAttribute('data-open-msg', 'Expand ' + path + ' ');
- folder.setAttribute('data-close-msg', 'Collapse ' + path + ' ');
- var folderOpenIcon = document.createElement('i');
- folderOpenIcon.classList.add('fa');
- folderOpenIcon.classList.add('icon');
- folderOpenIcon.classList.add('fa-folder');
- folderOpenIcon.classList.add('icon-folder');
- folder.appendChild(folderOpenIcon);
- (function () {
- var audible = document.createElement('span');
- audible.classList.add('audible');
- audible.innerHTML = folder.getAttribute('data-open-msg');
- folder.appendChild(audible);
- })();
- var a = document.createElement('a');
- a.classList.add('path');
- a.setAttribute('href', 'javascript:;');
- a.setAttribute('title', 'Browse ' + path);
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- var displayPath = split.join('/');
- if (!that.getController().getModel().getDisplayFullTreePaths()) {
- displayPath = split[split.length - 1];
- }
- else {
- if (displayPath[displayPath.length - 1] == '/')
- displayPath = displayPath.substring(0, displayPath.length - 1);
- }
- a.setAttribute('data-cd', path);
- a.innerHTML = ' ' + displayPath;
- li.appendChild(folder);
- li.appendChild(a);
- var _ul = document.createElement("ul");
- li.appendChild(_ul);
- return li;
- };
- EurekaView.prototype.paintTree = function (data) {
- var that = this;
- var tree = (that.getElement().querySelector('nav.tree'));
- var results = data.results;
- function printTreeNavResults(results, ul) {
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var li = that.createTreeNode(result.path);
- var _ul = li.querySelector('ul');
- if (result.children !== undefined && result.children.length) {
- printTreeNavResults(result.children, _ul);
- }
- ul.appendChild(li);
- }
- }
- tree.innerHTML = '';
- var ul = document.createElement('ul');
- tree.appendChild(ul);
- printTreeNavResults(results, ul);
- this.assignTreeListeners();
- this.recursivelyOpenTreeToCurrentDirectory();
- };
- EurekaView.prototype.paintJSON = function (data) {
- console.log('paintJSON');
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('paintJSON');
- var model = this.getController().getModel();
- var cd = data.cd.charAt(data.cd.length - 1) == '/' ? data.cd : data.cd + '/';
- var results = data.results;
- results = [];
- var tbodyHTML = '';
- var directoriesToAdd = [];
- console.log(results.length);
- if (results.length) {
- that.getElement().classList.remove('nothing-found');
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- if (result.filename) {
- var filename = result.filename;
- var safeFileName = filename.replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '');
- var src = result.src;
- var thumb = result.thumb;
- var filesize = result.filesize;
- var dimensions = result.dimensions;
- var editedon = (parseInt(result.editedon)) > 0 ? parseInt(result.editedon) : null;
- var tr = document.createElement("tr");
- tr.classList.add('eureka__row');
- tr.setAttribute('tabindex', "0");
- tr.setAttribute('data-tokens', '');
- tr.setAttribute('data-filename', filename);
- tr.setAttribute('data-safe-filename', safeFileName);
- tr.setAttribute('data-src', src);
- if (thumb)
- tr.setAttribute('data-thumb', thumb);
- tr.setAttribute('data-dimensions-w', dimensions.split('x')[0]);
- tr.setAttribute('data-dimensions-h', dimensions.split('x')[1]);
- tr.setAttribute('data-filesize-bytes', filesize);
- tr.setAttribute('data-timestamp', (editedon) ? editedon.toString() : '0');
- var td = document.createElement("td");
- td.setAttribute('contenteditable', 'false');
- td.classList.add('eureka__row-image');
- var imgD = document.createElement('div');
- imgD.classList.add('image');
- var img = document.createElement('img');
- img.setAttribute('id', safeFileName + '__thumb');
- function addErrorListener(img, result, safeFileName) {
- img.addEventListener('error', function () {
- var a = result.filename.split('.');
- var icon = 'file-o';
- switch (a[a.length - 1].toLowerCase()) {
- case 'css':
- icon = 'css3';
- break;
- case 'csv':
- icon = 'file-excel-o';
- break;
- case 'xls':
- icon = 'file-excel-o';
- break;
- case 'numbers':
- icon = 'file-excel-o';
- break;
- case 'css':
- icon = 'file-excel-o';
- break;
- case 'mp3':
- icon = 'file-sound-o';
- break;
- case 'wav':
- icon = 'file-sound-o';
- break;
- case 'wma':
- icon = 'file-sound-o';
- break;
- case 'aac':
- icon = 'file-sound-o';
- break;
- case 'flac':
- icon = 'file-sound-o';
- break;
- case 'ppt':
- icon = 'file-powerpoint-o';
- break;
- case 'pot':
- icon = 'file-powerpoint-o';
- break;
- case 'pps':
- icon = 'file-powerpoint-o';
- break;
- case 'zip':
- icon = 'file-zip-o';
- break;
- case 'gzip':
- icon = 'file-zip-o';
- break;
- case 'tar':
- icon = 'file-zip-o';
- break;
- case 'mp4':
- icon = 'file-movie-o';
- break;
- case 'ogv':
- icon = 'file-movie-o';
- break;
- case 'm4v':
- icon = 'file-movie-o';
- break;
- case 'avi':
- icon = 'file-movie-o';
- break;
- case 'jpg':
- case 'jpeg':
- case 'gif':
- case 'tiff':
- case 'png':
- case 'bpg':
- case 'img':
- case 'webp':
- icon = 'file-picture-o';
- break;
- case 'php':
- case 'html':
- case 'htm':
- case 'md':
- icon = 'file-code-o';
- break;
- case 'js':
- icon = 'file-text-o';
- break;
- default:
- icon = 'file-o';
- break;
- }
- var div = (function () {
- var div = document.createElement('div');
- div.classList.add('icon-wrapper');
- div.classList.add('img');
- var i = document.createElement('i');
- i.classList.add('fa');
- i.classList.add('icon');
- i.classList.add('fa-' + icon);
- i.classList.add('icon-' + icon);
- div.appendChild(i);
- return div;
- })();
- try {
- document.getElementById(safeFileName + '__thumb').outerHTML = div.outerHTML;
- }
- catch (e) { }
- });
- }
- addErrorListener(img, result, safeFileName);
- imgD.appendChild(img);
- img.setAttribute('src', (thumb) ? thumb : src);
- var code = document.createElement('code');
- code.setAttribute('contenteditable', 'true');
- code.setAttribute('tabindex', '-1');
- code.setAttribute('sorta-draggable', 'true');
- code.innerHTML = filename;
- td.appendChild(imgD);
- td.appendChild(code);
- function createCode(html) {
- var tag = document.createElement('code');
- tag.innerHTML = html;
- return tag;
- }
- var tdDimensionCell = document.createElement('td');
- tdDimensionCell.classList.add('eureka__row-dimensions');
- tdDimensionCell.appendChild(createCode(dimensions || "n/a"));
- var tdFilesizeCell = document.createElement('td');
- tdFilesizeCell.classList.add('eureka__row-filesize');
- if (parseInt(filesize)) {
- tdFilesizeCell.appendChild(createCode(that.formatFileSize(filesize)));
- }
- else {
- tdFilesizeCell.appendChild(createCode('n/a'));
- }
- var tdEditedOnCell = document.createElement('td');
- tdEditedOnCell.classList.add('eureka__row-editedon');
- if (editedon) {
- tdEditedOnCell.appendChild(createCode((new Date(editedon * 1000)).toLocaleDateString(model.getLocale(), {
- month: 'short',
- day: 'numeric',
- year: 'numeric'
- })));
- }
- else {
- tdEditedOnCell.appendChild(createCode('n/a'));
- }
- tr.appendChild(td);
- if (that.getController().getModel().getShowDimensionsColumn())
- tr.appendChild(tdDimensionCell);
- tr.appendChild(tdFilesizeCell);
- tr.appendChild(tdEditedOnCell);
- tbodyHTML += tr.outerHTML;
- function createContextualRow() {
- var tr = document.createElement('tr');
- tr.classList.add('contextual');
- tr.setAttribute('id', 'eureka_contextual__' + safeFileName);
- var td = document.createElement('td');
- td.setAttribute('colspan', '4');
- function createFlexibleNav() {
- var nav = document.createElement('nav');
- nav.classList.add('flexible_row');
- nav.classList.add('contextual__nav');
- function createExpandBtn() {
- var a = document.createElement('a');
- a.classList.add('expand');
- a.setAttribute('href', src);
- a.setAttribute('title', 'Expand ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-expand');
- fa.classList.add('icon-expand');
- a.appendChild(fa);
- a.innerHTML += ' Expand';
- return a;
- }
- function createChooseBtn() {
- var a = document.createElement('a');
- a.classList.add('choose');
- a.setAttribute('title', 'Choose ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-check-circle-o');
- fa.classList.add('icon-check-circle-o');
- a.appendChild(fa);
- a.innerHTML += ' Choose';
- return a;
- }
- function createRenameBtn() {
- var a = document.createElement('a');
- a.classList.add('rename');
- a.setAttribute('title', 'Rename ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-edit');
- fa.classList.add('icon-edit');
- a.appendChild(fa);
- a.innerHTML += ' Rename';
- return a;
- }
- function createTrashBtn() {
- var a = document.createElement('a');
- a.classList.add('dangerous');
- a.classList.add('trash');
- a.setAttribute('title', 'Delete ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-trash');
- fa.classList.add('icon-trash');
- a.appendChild(fa);
- a.innerHTML += ' Delete';
- return a;
- }
- nav.appendChild(createExpandBtn());
- nav.appendChild(createChooseBtn());
- if (that.getController().getModel().getAllowRename() && document.execCommand)
- nav.appendChild(createRenameBtn());
- if (that.getController().getModel().getAllowDelete())
- nav.appendChild(createTrashBtn());
- function createFlexibleNavTagForm() {
- var form = document.createElement('form');
- form.classList.add('tag');
- form.setAttribute('method', 'post');
- form.setAttribute('action', '#');
- var label = document.createElement('label');
- label.setAttribute('title', 'Tagging this media item will make it easier to find');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-tag');
- fa.classList.add('icon-tag');
- label.appendChild(fa);
- label.innerHTML += ' Tag:';
- var input = document.createElement('input');
- input.setAttribute('type', 'text');
- input.setAttribute('placeholder', 'Tag this media item');
- input.setAttribute('tabindex', '-1');
- form.appendChild(label);
- form.appendChild(input);
- return form;
- }
- function createFlexibleNavShareForm() {
- var form = document.createElement('form');
- form.classList.add('share');
- form.setAttribute('action', '#');
- form.setAttribute('title', "Share " + filename + " with other");
- form.appendChild(createMediaSourceInput());
- form.appendChild(createMediaItemInput());
- var button = document.createElement('button');
- button.classList.add('nued');
- button.setAttribute('type', 'submit');
- button.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-share-square-o');
- fa.classList.add('icon-share-square-o');
- button.appendChild(fa);
- button.innerHTML += ' Share';
- form.appendChild(button);
- function createMediaSourceInput() {
- var input = document.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediasource');
- input.setAttribute('value', '0');
- return input;
- }
- function createMediaItemInput() {
- var input = document.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediaitem');
- input.setAttribute('value', filename);
- return input;
- }
- return form;
- }
- return nav;
- }
- td.appendChild(createFlexibleNav());
- tr.appendChild(td);
- return tr;
- }
- tbodyHTML += createContextualRow().outerHTML;
- }
- else {
- directoriesToAdd.push({ cd: cd, directory: result.directory });
- }
- }
- (function () {
- for (var i = 0; i < directoriesToAdd.length; i++) {
- var d = (directoriesToAdd[i]);
- that.asyncronouslyAddDirectory(d.cd, d.directory);
- }
- if (directoriesToAdd.length) {
- that.assignTreeListeners();
- }
- })();
- }
- else {
- that.getElement().classList.add('nothing-found');
- }
- var thead = (document.querySelector('#' + this.getController().getModel().getUID() + ' .eureka-table > table > thead'));
- document.querySelector('#' + this.getController().getModel().getUID() + ' .eureka-table').innerHTML = '' + thead.outerHTML + '' + tbodyHTML + ' ' + '
';
- try {
- this.getElement().querySelector('nav.tree li.active').classList.remove('active');
- }
- catch (e) {
- }
- try {
- (function () {
- var el = that.getElement().querySelector('nav.tree li > a[data-cd="' + data.cd + '"]').parentNode;
- el.classList.add('active');
- el.classList.add('open');
- var folder = el.querySelector('.folder .fa-folder');
- folder.classList.add('fa-folder-open');
- folder.classList.add('icon-folder-open');
- folder.classList.remove('fa-folder');
- })();
- }
- catch (e) {
- }
- try {
- this.getElement().querySelector('.pathbrowser__topbar > select').value = data.cs;
- }
- catch (e) {
- }
- this.paint();
- };
- EurekaView.prototype.asyncronouslyAddDirectory = function (cd, directory) {
- var that = this;
- if (that.getController().getModel().getDebug())
- console.log('asyncronouslyAddDirectory');
- var pathBrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var paths = pathBrowser.querySelectorAll('.tree .path');
- var cds = cd.split('/').filter(Boolean);
- var p = cd + directory + '/';
- var psa = p.split('/').filter(Boolean);
- for (var i = 0; i < paths.length; i++) {
- var path = (paths[i]);
- if (path.getAttribute('data-cd').split('/').filter(Boolean).equals(psa)) {
- if (that.getController().getModel().getDebug())
- console.log(p + ' alread exists');
- return;
- }
- }
- for (var i = 0; i < paths.length; i++) {
- var path = (paths[i]);
- var pcd = path.getAttribute('data-cd');
- if (cds.equals(pcd.split('/').filter(Boolean))) {
- (function (_path) {
- var ul = _path.nextSibling;
- var paths = ul.querySelectorAll(':scope > li > .path');
- var inserted = false;
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- var _d = (function (path) {
- var a = path.getAttribute('data-cd').split('/').filter(Boolean);
- return a[a.length - 1];
- })(path);
- var s = [directory, _d];
- s.sort();
- if (s[0] == directory) {
- ul.insertBefore(that.createTreeNode(p), path.parentNode);
- inserted = true;
- break;
- }
- }
- if (!inserted) {
- ul.appendChild(that.createTreeNode(p));
- inserted = true;
- }
- })(path);
- }
- }
- (function () {
- var browsingSelect = document.getElementById(that.getController().getModel().getUID() + '__browsing');
- var mediaSource = that.getController().getModel().getCurrentMediaSource();
- var optsGrp = (function () {
- var os = browsingSelect.querySelectorAll('optgroup');
- for (var i = 0; i < os.length; i++) {
- var o = os[i];
- if (o.getAttribute('data-source') == mediaSource)
- return o;
- }
- return null;
- })();
- if (!optsGrp)
- return;
- var _iH = p.split('/').filter(Boolean).join('/');
- var opts = optsGrp.querySelectorAll('option');
- for (var i = 0; i < opts.length; i++) {
- var opt = opts[i];
- if (opt.innerHTML == _iH)
- return;
- }
- var newOpt = document.createElement('option');
- newOpt.setAttribute('value', JSON.stringify({ cs: that.getController().getModel().getCurrentMediaSource(), cd: _iH }));
- newOpt.setAttribute('data-cd', _iH + '/');
- newOpt.innerHTML = _iH;
- var inserted = false;
- for (var i = 0; i < opts.length; i++) {
- var opt = opts[i];
- var a = [opt.innerHTML, _iH];
- a.sort();
- if (_iH == a[0]) {
- optsGrp.insertBefore(newOpt, opt);
- inserted = true;
- break;
- }
- }
- if (!inserted)
- optsGrp.appendChild(newOpt);
- })();
- };
- EurekaView.prototype.assignContextualClickListeners = function () {
- var that = this;
- that.assignContexualCodeFocusListeners();
- assignChooseListeners();
- assignRenameListeners();
- assignDeleteListeners();
- function assignChooseListeners() {
- var anchors = that.getElement().querySelectorAll('tr.contextual a.choose');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- e.preventDefault();
- handleChooseClicked(this);
- }, false);
- anchor.addEventListener('focus', function (e) {
- that.getElement().parentNode.querySelector('footer.proceed .cta').classList.add('go');
- that.getElement().parentNode.querySelector('footer.proceed .cta').disabled = false;
- that.getElement().parentNode.querySelector('footer.proceed .cta').removeAttribute('disabled');
- }, false);
- anchor.addEventListener('blur', function (e) {
- that.getElement().parentNode.querySelector('footer.proceed .cta').classList.remove('go');
- }, false);
- }
- function handleChooseClicked(anchor) {
- var contextual = that.getClosest(anchor, 'tr');
- var mediaRow = contextual.previousSibling;
- that.getController().getModel().setChoosenMediaItem(mediaRow.getAttribute('data-filename'));
- }
- }
- function assignDeleteListeners() {
- var anchors = document.querySelectorAll('tr.contextual a.trash');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- handleTrashClicked(this);
- }, false);
- anchor.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleTrashKeyDown, false);
- }, false);
- anchor.removeEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleTrashKeyDown, false);
- }, false);
- }
- function handleTrashClicked(anchor) {
- var contextual = that.getClosest(anchor, 'tr');
- var mediaRow = contextual.previousSibling;
- var nextRow = contextual.nextSibling;
- if (that.getController().getModel().getAlertBeforeDelete() && !window.confirm('Are you sure you want to delete ' + mediaRow.getAttribute('data-filename') + '?')) {
- return false;
- }
- that.getController().getModel().deleteFile(mediaRow.getAttribute('data-filename'), mediaRow);
- function remove(el) {
- try {
- el.remove();
- }
- catch (e) {
- el.parentNode.removeChild(el);
- }
- }
- remove(mediaRow);
- remove(contextual);
- try {
- nextRow.focus();
- }
- catch (e) { }
- }
- function handleTrashKeyDown(e) {
- if (e.keyCode === 13) {
- handleTrashClicked(this);
- }
- }
- }
- function assignRenameListeners() {
- var anchors = document.querySelectorAll('tr.contextual a.rename');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- e.preventDefault();
- var code = getCodeToFocus(this);
- selectCode(code);
- }, false);
- anchor.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleAnchorKeyDown, false);
- }, false);
- anchor.addEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleAnchorKeyDown, false);
- }, false);
- }
- function handleAnchorKeyDown(e) {
- var code = getCodeToFocus(this);
- var tr = that.getClosest(this, '.contextual').previousSibling;
- if (e.keyCode === 13) {
- e.preventDefault();
- e.stopPropagation();
- selectCode(code);
- }
- }
- function selectCode(code) {
- code.focus();
- try {
- code.select();
- }
- catch (e) { }
- }
- function getCodeToFocus(anchor) {
- var tr = that.getClosest(anchor, 'tr');
- var mediaRow = tr.previousSibling;
- var code = mediaRow.querySelector('.eureka__row-image code[contenteditable="true"]');
- return code;
- }
- }
- };
- EurekaView.prototype.assignContexualCodeFocusListeners = function () {
- var that = this;
- var codes = this.getElement().querySelectorAll('tr.eureka__row .eureka__row-image code[contenteditable="true"]');
- for (var i = 0; i < codes.length; i++) {
- var code = codes[i];
- code.addEventListener('focus', function () {
- this.addEventListener('keydown', handleCodeKeyPress, false);
- }, false);
- function handleCodeKeyPress(e) {
- if (e.keyCode === 13) {
- e.preventDefault();
- var tr = this.parentNode.parentNode;
- var contextual = tr.nextSibling;
- var filename = tr.getAttribute('data-filename');
- code.contentEditable = 'false';
- var newFilename = this.innerHTML;
- that.getController().getModel().renameFile(filename, newFilename);
- var next = contextual.querySelector('nav > a.rename');
- next.focus();
- window.getSelection().collapse(next, 0);
- return false;
- }
- return true;
- }
- }
- };
- EurekaView.prototype.sortBrowseSelectOptGroupsByMediaSourceId = function (select) {
- if (select === undefined)
- select = document.getElementById(this.getController().getModel().getUID() + '__browsing').querySelector('select');
- var os = [];
- var optgrps = select.querySelectorAll('optgroup');
- for (var i = 0; i < optgrps.length; i++) {
- os.push(optgrps[i]);
- }
- var optgroups = os.sort(function (a, b) {
- return parseInt(a.getAttribute('data-source')) - parseInt(b.getAttribute('data-source'));
- });
- select.innerHTML = '';
- for (var _i = 0; _i < optgroups.length; _i++) {
- var optgroup = optgroups[_i];
- select.appendChild(optgroup);
- }
- };
- EurekaView.prototype.updateMediaSourceListings = function (data) {
- var that = this;
- if (that.getController().getModel().getDebug()) {
- console.log('updateMediaSourceListings: ');
- console.log(data);
- }
- var id = data.cs;
- var source = this.getController().getModel().getMediaSourceDTOByID(id);
- function updateTreeSelect() {
- if (that.getController().getModel().getDebug())
- console.log('updateTreeSelect');
- var select = document.getElementById(that.getController().getModel().getUID() + '__mediasource-select');
- var option = null;
- try {
- option = select.querySelector('option[value="' + id + '"]');
- }
- catch (e) { }
- if (!option) {
- option = document.createElement('option');
- option.setAttribute('value', id);
- option.innerHTML = data.title;
- select.appendChild(option);
- }
- }
- function updateTopBarSelect() {
- if (that.getController().getModel().getDebug())
- console.log('updateTopBarSelect');
- var select = document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select');
- if (that.getController().getModel().getDebug())
- console.log(select);
- var optgroup = null;
- try {
- optgroup = select.querySelector('optgroup[data-source="' + id + '"]');
- }
- catch (e) { }
- if (!optgroup) {
- optgroup = document.createElement('optgroup');
- optgroup.setAttribute('label', data.title);
- optgroup.setAttribute('data-source', id);
- }
- var results = data.results;
- if (that.getController().getModel().getPrependOptGroupsWithRootOption())
- results.unshift({ "path": "/" });
- var options = [];
- printOptGroupOptions(results);
- optgroup.innerHTML = '';
- function printOptGroupOptions(results) {
- function serialize(obj) {
- var str = [];
- for (var p in obj) {
- if (obj.hasOwnProperty(p)) {
- str.push((p) + "=" + (obj[p]));
- }
- }
- return str.join("&");
- }
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var option = document.createElement('option');
- option.innerHTML = (that.sanitizeDisplayPath(result.path)) ? that.sanitizeDisplayPath(result.path) : result.path;
- option.setAttribute('value', JSON.stringify({ cs: data.cs, cd: that.sanitizeDisplayPath(result.path) }));
- option.setAttribute('data-cd', result.path);
- options.push(option);
- if (result.children && result.children.length)
- printOptGroupOptions(result.children);
- }
- }
- for (var _i = 0; _i < options.length; _i++) {
- var option = options[_i];
- optgroup.appendChild(option);
- }
- select.appendChild(optgroup);
- that.sortBrowseSelectOptGroupsByMediaSourceId(select);
- }
- updateTreeSelect();
- updateTopBarSelect();
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- };
- EurekaView.prototype.getSelectedOption = function (select) {
- var options = select.querySelectorAll('option');
- for (var i = 0; i < options.length; i++) {
- var option = options[i];
- if (option.selected)
- return option;
- }
- };
- EurekaView.prototype.formatFileSize = function (size) {
- var sizes = [' Bytes', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB'];
- for (var i = 1; i < sizes.length; i++) {
- if (size < Math.pow(1024, i))
- return (Math.round((size / Math.pow(1024, i - 1)) * 100) / 100) + sizes[i - 1];
- }
- return size.toString();
- };
- EurekaView.prototype.getClosest = function (elem, selector) {
- var firstChar = selector.charAt(0);
- for (; elem && elem !== document; elem = elem.parentNode) {
- if (firstChar === '.') {
- if (elem.classList.contains(selector.substr(1))) {
- return elem;
- }
- }
- if (firstChar === '#') {
- if (elem.id === selector.substr(1)) {
- return elem;
- }
- }
- if (firstChar === '[') {
- if (elem.hasAttribute(selector.substr(1, selector.length - 2))) {
- return elem;
- }
- }
- if (elem.tagName.toLowerCase() === selector) {
- return elem;
- }
- }
- return null;
- };
- return EurekaView;
-}());
-var EurekaController = (function () {
- function EurekaController(opts) {
- this.opts = opts;
- this._model = opts.model;
- this._view = opts.view;
- }
- EurekaController.prototype.getModel = function () {
- return this._model;
- };
- EurekaController.prototype.getView = function () {
- return this._view;
- };
- EurekaController.prototype.init = function () {
- var that = this;
- var eureka = that.getView().getElement();
- if (that.getModel().useLocalStorage()) {
- (function () {
- var mediaSourcesData = that.getModel().getLocalStorage('mediaSourcesData');
- if (mediaSourcesData) {
- that.getModel().setMediaSourcesData(JSON.parse(mediaSourcesData));
- }
- })();
- (function () {
- var mediaSourceData = that.getModel().getLocalStorage(that.getModel().getCurrentMediaSource() + '_mediaSourceData');
- if (mediaSourceData) {
- that.getView().paintTree(JSON.parse(mediaSourceData));
- }
- })();
- (function () {
- var directoryData = that.getModel().getLocalStorage('lastDirectoryPainted');
- if (directoryData) {
- that.getView().paintJSON(JSON.parse(directoryData));
- }
- })();
- }
- eureka.addEventListener(EurekaModel.EurekaViewChange, function (e) {
- });
- eureka.addEventListener(EurekaModel.EurekaDirectoryChanged, function (e) {
- if (that.getModel().getDebug())
- console.log(EurekaModel.EurekaDirectoryChanged);
- function handleJSONData(d) {
- if (that.getModel().useLocalStorage())
- that.getModel().setLocalStorage('lastDirectoryPainted', JSON.stringify(d));
- if (that.getModel().getDebug())
- console.log(d);
- that.getView().paintJSON(d);
- }
- if (that.getModel().getUseWebWorkers()) {
- (function () {
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listdirectory.js');
- worker.addEventListener('message', function (e) {
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listDirectoryRequestURL: that.getModel().getListDirectoryRequestURL(),
- currentMediaSource: that.getModel().getCurrentMediaSource(),
- currentDirectory: e.detail.currentDirectory || '/',
- headers: that.getModel().getXHRHeaders()
- });
- })();
- }
- else {
- var ajax = new AJAX();
- ajax.get(that.getModel().getListDirectoryRequestURL(), { s: that.getModel().getCurrentMediaSource(), dir: e.detail.currentDirectory || '/' }, function (data) {
- handleJSONData(JSON.parse(data));
- }, true, that.getModel().getXHRHeaders());
- }
- });
- eureka.addEventListener(EurekaModel.EurekaDirectoryOpened, function (e) {
- if (that.getModel().getDebug())
- console.log(EurekaModel.EurekaDirectoryOpened);
- var path = e.detail.path.charAt(e.detail.path.length - 1) == '/' ? e.detail.path : e.detail.path + '/';
- function handleJSONData(d) {
- if (that.getModel().getDebug())
- console.log(d);
- var results = d.results;
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- if (result.directory) {
- that.getView().asyncronouslyAddDirectory(path, result.directory);
- }
- }
- if (results.length)
- that.getView().assignTreeListeners();
- }
- if (that.getModel().getUseWebWorkers()) {
- (function () {
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listdirectory.js');
- worker.addEventListener('message', function (e) {
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listDirectoryRequestURL: that.getModel().getListDirectoryChildrenRequestURL(),
- currentMediaSource: that.getModel().getCurrentMediaSource(),
- currentDirectory: e.detail.path || '/',
- headers: that.getModel().getXHRHeaders()
- });
- })();
- }
- else {
- var ajax = new AJAX();
- ajax.get(that.getModel().getListDirectoryChildrenRequestURL(), { s: that.getModel().getCurrentMediaSource(), dir: e.detail.path || '/' }, function (data) {
- handleJSONData(JSON.parse(data));
- }, true, that.getModel().getXHRHeaders());
- }
- });
- eureka.addEventListener(EurekaModel.EurekaMediaSourceChange, function (e) {
- if (that.getModel().getDebug())
- console.log(EurekaModel.EurekaMediaSourceChange);
- function handleJSONData(d) {
- if (that.getModel().getDebug())
- console.log(d);
- if (d.cs && that.getModel().useLocalStorage())
- that.getModel().setLocalStorage(d.cs + '_mediaSourceData', JSON.stringify(d));
- that.getView().paintTree(d);
- if (e.detail.clearDirectory == true)
- that.getModel().setCurrentDirectory('', true, false);
- }
- if (that.getModel().getUseWebWorkers()) {
- (function () {
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsource.js');
- worker.addEventListener('message', function (e) {
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourceRequestURL: that.getModel().getListSourceRequestURL(),
- currentMediaSource: that.getModel().getCurrentMediaSource(),
- headers: that.getModel().getXHRHeaders()
- });
- })();
- }
- else {
- var ajax = new AJAX();
- ajax.get(that.getModel().getListSourceRequestURL(), { s: e.detail.currentMediaSource }, function (data) {
- handleJSONData(JSON.parse(data));
- }, true, that.getModel().getXHRHeaders());
- }
- });
- eureka.addEventListener(EurekaModel.EurekaMediaSourcesListChange, function (e) {
- if (that.getModel().getDebug())
- console.log('MediaSourcesListChange: ');
- var sources = e.detail.sources;
- for (var i = 0; i < sources.length; i++) {
- var source = new EurekaMediaSource(sources[i].opts);
- var id = source.getID();
- requestMediaListings(source);
- function requestMediaListings(source) {
- if (that.getModel().getDebug())
- console.log('requestMediaListings');
- var id = source.getID();
- function handleJSONData(d) {
- if (that.getModel().getDebug())
- console.log(d);
- that.getView().updateMediaSourceListings(d);
- }
- if (that.getModel().getUseWebWorkers()) {
- (function () {
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsource.js');
- worker.addEventListener('message', function (e) {
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourceRequestURL: that.getModel().getListSourceRequestURL(),
- currentMediaSource: id,
- headers: that.getModel().getXHRHeaders()
- });
- })();
- }
- else {
- var ajax = new AJAX();
- ajax.get(that.getModel().getListSourceRequestURL(), { s: id }, function (data) {
- data = JSON.parse(data);
- handleJSONData(data);
- }, true, that.getModel().getXHRHeaders());
- }
- }
- }
- });
- if (that.getModel().getDebug())
- console.log('MediaSourcesListChange listener added');
- (function () {
- if (that.getModel().getDebug())
- console.log('requesting sources: ');
- function handleJSONData(d) {
- if (that.getModel().getDebug())
- console.log(d);
- if (that.getModel().useLocalStorage())
- that.getModel().setLocalStorage('mediaSourcesData', JSON.stringify(d));
- that.getModel().setMediaSourcesData(d);
- }
- if (that.getModel().getUseWebWorkers()) {
- (function () {
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsources.js');
- worker.addEventListener('message', function (e) {
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourcesRequestURL: that.getModel().getListSourcesRequestURL(),
- headers: that.getModel().getXHRHeaders()
- });
- })();
- }
- else {
- var ajax = new AJAX();
- ajax.get(that.getModel().getListSourcesRequestURL(), {}, function (data) {
- data = JSON.parse(data);
- handleJSONData(data);
- }, true, that.getModel().getXHRHeaders());
- }
- })();
- };
- return EurekaController;
-}());
-var MuckBoot;
-(function () {
- var d = document;
- MuckBoot = function (opts) {
- var defaults = {
- id: 'media-browser_0',
- upload: true,
- enlargeFocusRows: true,
- hideImagesOnListView: true
- };
- if (opts.id === undefined)
- opts.id = 'media-browser_0';
- if (opts.upload === undefined)
- opts.upload = true;
- if (opts.createDir === undefined)
- opts.createDir = true;
- if (opts.enlargeFocusRows === undefined)
- opts.enlargeFocusRows = true;
- if (opts.hideImagesOnListView === undefined)
- opts.hideImagesOnListView = true;
- if (opts.allowFullScreen === undefined)
- opts.allowFullScreen = true;
- this.opts = opts;
- this.muck();
- };
- MuckBoot.prototype.getID = function () {
- return this.opts.id;
- };
- MuckBoot.prototype.muck = function () {
- var that = this;
- var eureka = d.createElement('div');
- eureka.classList.add('view-a');
- if (this.opts.enlargeFocusRows)
- eureka.classList.add('enlarge-focused-rows');
- if (this.opts.hideImagesOnListView)
- eureka.classList.add('no-images-on-list');
- eureka.classList.add('eureka');
- eureka.classList.add('sidebar-open');
- eureka.setAttribute('id', this.opts.id);
- function createPathBrowser(opts) {
- var nav = d.createElement('nav');
- nav.setAttribute('id', opts.id + '__pathbrowser');
- nav.classList.add('pathbrowser');
- function createPathBrowserTopBar() {
- var div = d.createElement('div');
- div.classList.add('pathbrowser__topbar');
- var label = d.createElement('label');
- label.setAttribute('for', opts.id + '__mediasource-select');
- var heading = d.createElement('h4');
- heading.innerHTML = 'Media Source';
- label.appendChild(heading);
- var mediaSourceSelectLevelup = d.createElement('div');
- mediaSourceSelectLevelup.classList.add('mediasource-select-level-up');
- var select = d.createElement('select');
- select.setAttribute('id', opts.id + '__mediasource-select');
- select.setAttribute('title', 'Choose a Media Source to browse');
- mediaSourceSelectLevelup.appendChild(select);
- (function () {
- var a = d.createElement('a');
- a.setAttribute('href', '#');
- a.setAttribute('class', 'level-up');
- a.setAttribute('title', 'Browse Parent Directory');
- var i = d.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-level-up');
- i.classList.add('icon');
- i.classList.add('icon-level-up');
- a.appendChild(i);
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Browse Parent Directory';
- a.appendChild(p);
- mediaSourceSelectLevelup.appendChild(a);
- })();
- div.appendChild(label);
- div.appendChild(mediaSourceSelectLevelup);
- return div;
- }
- function createPathBrowserNavTree() {
- var nav = d.createElement('nav');
- nav.classList.add('tree');
- var ul = d.createElement('ul');
- nav.appendChild(ul);
- return nav;
- }
- function createPathBrowserFooter() {
- var footer = d.createElement('footer');
- if (that.opts.upload)
- footer.classList.add('drop');
- var nav = d.createElement('nav');
- function createPathBrowserFooterMediaSourceInput() {
- var input = d.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediasource'),
- input.setAttribute('value', '0');
- return input;
- }
- function createPathBrowserFooterMediaPathInput() {
- var input = d.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediapath'),
- input.setAttribute('value', '/');
- return input;
- }
- function createPathBrowserFooterCreateNewForm() {
- nav.appendChild(createPathBrowserFooterMediaSourceInput());
- nav.appendChild(createPathBrowserFooterMediaPathInput());
- var btn = d.createElement('button');
- btn.setAttribute('type', 'submit');
- btn.setAttribute('class', 'nued create-new');
- btn.setAttribute('title', 'Create a new directory');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-plus-square');
- fa.classList.add('icon');
- fa.classList.add('icon-plus-square');
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Create a new directory';
- btn.appendChild(fa);
- btn.appendChild(p);
- nav.appendChild(btn);
- return nav;
- }
- function createPathBrowserFooterSearchBtn() {
- var btn = d.createElement('a');
- btn.classList.add('btn');
- btn.setAttribute('href', '#' + that.opts.id + '__filter-images');
- var i = d.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-search');
- i.classList.add('icon');
- i.classList.add('icon-search');
- btn.appendChild(i);
- return btn;
- }
- function createPathBrowserFooterUploadForm() {
- var form = d.createElement('form');
- form.appendChild(createPathBrowserFooterMediaSourceInput());
- form.appendChild(createPathBrowserFooterMediaPathInput());
- var btn = d.createElement('button');
- btn.setAttribute('type', 'submit');
- btn.setAttribute('class', 'nued upload-files');
- btn.setAttribute('title', 'Upload a file');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-upload');
- fa.classList.add('icon');
- fa.classList.add('icon-upload');
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Upload media';
- btn.appendChild(fa);
- btn.appendChild(p);
- form.appendChild(btn);
- return form;
- }
- if (that.opts.createDir)
- createPathBrowserFooterCreateNewForm();
- if (that.opts.upload) {
- (function () {
- var da = d.createElement('div');
- da.classList.add('droparea');
- var dz = d.createElement('div');
- dz.classList.add('dropzone');
- dz.setAttribute('title', 'Drag & Drop files here to upload them');
- var dzm = d.createElement('div');
- dzm.classList.add('progress');
- dz.appendChild(dzm);
- da.appendChild(dz);
- footer.appendChild(da);
- })();
- }
- if (opts.upload)
- nav.appendChild(createPathBrowserFooterUploadForm());
- footer.appendChild(nav);
- return footer;
- }
- nav.appendChild(createPathBrowserTopBar());
- nav.appendChild(createPathBrowserNavTree());
- nav.appendChild(createPathBrowserFooter());
- return nav;
- }
- function createBrowserStage(opts) {
- var browserStage = d.createElement('div');
- browserStage.setAttribute('id', opts.id + '__stage');
- browserStage.classList.add('stage');
- function createEurekaTopBar() {
- var div = d.createElement('div');
- div.classList.add('eureka__topbar');
- function createEurekaTopBarNav() {
- var nav = d.createElement('nav');
- nav.classList.add('eureka__topbar-nav');
- function createEurekaTopBarNavToggleBtn() {
- var a = d.createElement('a');
- a.setAttribute('id', opts.id + '__pathbrowser_toggle');
- a.classList.add('pathbrowser_toggle');
- a.setAttribute('title', 'Close Navigation Tree');
- a.setAttribute('data-title-close', 'Close Navigation Tree');
- a.setAttribute('data-title-open', 'Open Navigation Tree');
- a.setAttribute('data-toggle-target', opts.id + '__pathbrowser');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-toggle-left');
- fa.classList.add('icon');
- fa.classList.add('icon-toggle-left');
- a.appendChild(fa);
- return a;
- }
- function createEurekaTopbarBrowseSelectForm() {
- var form = d.createElement('form');
- form.setAttribute('action', '#');
- form.setAttribute('id', opts.id + '__browsing');
- var select = d.createElement('select');
- form.appendChild(select);
- return form;
- }
- function createEurekaTopBarBrowseSelect() {
- var div = d.createElement('div');
- div.setAttribute('id', opts.id + '__browse-select');
- div.classList.add('tablet-p-hidden');
- div.classList.add('browse-select');
- var label = d.createElement('label');
- label.classList.add('tablet-p-hidden');
- label.classList.add('browse-select');
- label.setAttribute('for', opts.id + '__browsing');
- label.innerHTML = 'Browse';
- div.appendChild(label);
- div.appendChild(createEurekaTopbarBrowseSelectForm());
- return div;
- }
- function createEurekaTopBarUploadForm() {
- var div = d.createElement('div');
- div.setAttribute('id', opts.id + '__upload');
- div.classList.add('upload-form');
- var label = d.createElement('label');
- label.setAttribute('for', opts.id + '__upload-form');
- label.innerHTML = 'Upload:';
- var form = d.createElement('form');
- form.setAttribute('action', '#');
- form.setAttribute('id', opts.id + '__upload-form');
- var input = d.createElement('input');
- input.setAttribute('id', opts.id + '__upload-input');
- input.setAttribute('multiple', 'multiple');
- input.setAttribute('name', 'uploadFiles');
- input.setAttribute('type', 'file');
- form.appendChild(input);
- div.appendChild(label);
- div.appendChild(form);
- return div;
- }
- function createEurekaTopBarViewBtns() {
- var div = d.createElement('div');
- div.classList.add('view-btns');
- var btns = [
- (function () {
- var a = d.createElement('a');
- a.classList.add('current');
- a.classList.add('view-a-btn');
- a.setAttribute('data-view', 'view-a');
- a.setAttribute('data-view-target', opts.id);
- a.setAttribute('asyncronous-title', 'Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-th-list');
- fa.classList.add('icon');
- fa.classList.add('icon-th-list');
- a.appendChild(fa);
- return a;
- })(),
- (function () {
- var a = d.createElement('a');
- a.classList.add('view-b-btn');
- a.setAttribute('data-view', 'view-b');
- a.setAttribute('data-view-target', opts.id);
- a.setAttribute('asyncronous-title', 'Thumbnail layout displays a grid of medium sized thumbnails');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-th-large');
- fa.classList.add('icon');
- fa.classList.add('icon-th-large');
- a.appendChild(fa);
- return a;
- })(),
- (function () {
- var a = d.createElement('a');
- a.classList.add('view-d-btn');
- a.setAttribute('data-view', 'view-d');
- a.setAttribute('data-view-target', opts.id);
- a.setAttribute('asyncronous-title', 'Grid View displays images a grid of large images');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-square');
- fa.classList.add('icon');
- fa.classList.add('icon-square');
- a.appendChild(fa);
- return a;
- })(),
- (function () {
- var a = d.createElement('a');
- a.classList.add('view-d-btn');
- a.setAttribute('data-view', 'view-e');
- a.setAttribute('data-view-target', opts.id);
- a.setAttribute('asyncronous-title', 'List Layout displays Name, Description, File Size and Edited On columns');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-list');
- fa.classList.add('icon');
- fa.classList.add('icon-list');
- a.appendChild(fa);
- return a;
- })()
- ];
- if (opts.allowFullScreen)
- btns.push((function () {
- var a = d.createElement('a');
- a.classList.add('view-f-btn');
- a.setAttribute('data-view', 'view-f');
- a.setAttribute('title', 'Toggle Fullscreen Mode');
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-expand');
- fa.classList.add('icon');
- fa.classList.add('icon-expand');
- a.appendChild(fa);
- return a;
- })());
- var nav = d.createElement('nav');
- for (var i = 0; i < btns.length; i++)
- nav.appendChild(btns[i]);
- div.appendChild(nav);
- return div;
- }
- function createEurekaTopbarNavHeader() {
- var header = d.createElement('header');
- var h4 = d.createElement('h4');
- h4.setAttribute('id', opts.id + '__mediacontent-current-source');
- var span = d.createElement('span');
- span.classList.add('mediasource-title');
- span.setAttribute('data-prepend', '');
- h4.innerHTML = 'Media Content ';
- h4.appendChild(span);
- header.appendChild(h4);
- header.appendChild(createEurekaTopBarForm());
- return header;
- }
- nav.appendChild(createEurekaTopbarNavHeader());
- function createEurekaTopBarNavSelect() {
- var div = d.createElement('div');
- div.classList.add('eureka__topbar-nav__select');
- div.appendChild(createEurekaTopBarNavToggleBtn());
- div.appendChild(createEurekaTopBarBrowseSelect());
- if (opts.upload)
- div.appendChild(createEurekaTopBarUploadForm());
- div.appendChild(createEurekaTopBarViewBtns());
- return div;
- }
- nav.appendChild(createEurekaTopBarNavSelect());
- return nav;
- }
- function createEurekaTopBarForm() {
- var form = d.createElement('form');
- var input = d.createElement('input');
- input.setAttribute('id', opts.id + '__filter-images');
- input.setAttribute('type', 'search');
- input.setAttribute('placeholder', 'Filter images');
- input.setAttribute('autocomplete', 'off');
- form.appendChild(input);
- return form;
- }
- div.appendChild(createEurekaTopBarNav());
- return div;
- }
- function createEurekaTable() {
- var div = d.createElement('div');
- div.classList.add('eureka-table');
- var table = d.createElement('table');
- var thead = d.createElement('thead');
- var tr = d.createElement('tr');
- var tbody = d.createElement('tbody');
- var ths = [
- (function () {
- var th = d.createElement('th');
- th.innerHTML = 'Name ';
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby', 'name');
- fa.setAttribute('data-sort-asc', '1');
- th.appendChild(fa);
- return th;
- })(),
- (function () {
- var th = d.createElement('th');
- th.classList.add('dimensions');
- th.innerHTML = 'Dimensions ';
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby', 'dimensions');
- fa.setAttribute('data-sort-asc', '1');
- th.appendChild(fa);
- return th;
- })(),
- (function () {
- var th = d.createElement('th');
- th.innerHTML = 'File Size ';
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby', 'filesize');
- fa.setAttribute('data-sort-asc', '1');
- th.appendChild(fa);
- return th;
- })(),
- (function () {
- var th = d.createElement('th');
- th.innerHTML = 'Edited On ';
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby', 'editedon');
- fa.setAttribute('data-sort-asc', '1');
- th.appendChild(fa);
- return th;
- })()
- ];
- for (var i = 0; i < ths.length; i++)
- tr.appendChild(ths[i]);
- thead.appendChild(tr);
- table.appendChild(thead);
- table.appendChild(tbody);
- div.appendChild(table);
- return div;
- }
- browserStage.appendChild(createEurekaTopBar());
- browserStage.appendChild(createEurekaTable());
- browserStage.appendChild(createEurekaTableUhOh());
- return browserStage;
- }
- function createEurekaTableUhOh() {
- var div = document.createElement('div');
- div.classList.add('eureka-table');
- div.classList.add('oh-no');
- var h3 = document.createElement('h3');
- var i = document.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-exclamation-triangle');
- i.classList.add('icon');
- i.classList.add('icon-exclamation-triangle');
- var code = document.createElement('code');
- var p = document.createElement('p');
- p.innerHTML = 'Oh no! Nothing was found in this directory . Perhaps you\'d like to upload some files ? ';
- h3.appendChild(i);
- h3.appendChild(code);
- h3.appendChild(p);
- div.appendChild(h3);
- return div;
- }
- function createChooseFooter(opts) {
- var footer = d.createElement('footer');
- footer.classList.add('proceed');
- var btns = [
- (function () {
- var btn = d.createElement('button');
- btn.classList.add('cancel');
- btn.classList.add('muted');
- btn.classList.add('clickable');
- btn.innerHTML = 'Cancel';
- return btn;
- })(),
- (function () {
- var btn = d.createElement('button');
- btn.classList.add('btn');
- btn.classList.add('clickable');
- btn.classList.add('cta');
- btn.setAttribute('disabled', 'disabled');
- btn.setAttribute('id', opts.id + '__choose-btn');
- btn.setAttribute('type', 'submit');
- btn.innerHTML = 'Choose';
- return btn;
- })()
- ];
- for (var i = 0; i < btns.length; i++)
- footer.appendChild(btns[i]);
- return footer;
- }
- var pathBrowser = createPathBrowser(this.opts);
- eureka.appendChild(pathBrowser);
- var browserStage = createBrowserStage(this.opts);
- eureka.appendChild(browserStage);
- var eurekaWrapper = d.createElement('div');
- eurekaWrapper.classList.add('eureka-wrapper');
- eurekaWrapper.appendChild(eureka);
- eurekaWrapper.appendChild(createChooseFooter(this.opts));
- d.getElementById(this.opts.id).outerHTML = eurekaWrapper.outerHTML;
- };
-})();
-importScripts("includes.js");
-self.addEventListener('message', function (e) {
- var data = e.data;
- var ajax = new AJAX();
- ajax.get(data.listDirectoryRequestURL, { s: data.currentMediaSource, dir: data.currentDirectory }, function (data) {
- self.postMessage(JSON.parse(data));
- }, true, data.headers);
-}, false);
-importScripts("includes.js");
-self.addEventListener('message', function (e) {
- var data = e.data;
- var ajax = new AJAX();
- ajax.get(data.listSourceRequestURL, { s: data.currentMediaSource }, function (data) {
- self.postMessage(JSON.parse(data));
- }, true, data.headers);
-}, false);
-importScripts("includes.js");
-self.addEventListener('message', function (e) {
- var data = e.data;
- var ajax = new AJAX();
- ajax.get(data.listSourcesRequestURL, {}, function (data) {
- self.postMessage(JSON.parse(data));
- }, true, data.headers);
-}, false);
-//# sourceMappingURL=eureka.1.2.0.js.map
\ No newline at end of file
diff --git a/_build/examples/assets/eureka.1.2.0.js.map b/_build/examples/assets/eureka.1.2.0.js.map
deleted file mode 100644
index 9fc9b26..0000000
--- a/_build/examples/assets/eureka.1.2.0.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"eureka.1.2.0.js","sourceRoot":"","sources":["../../ts/ajax.ts","../../ts/plugins.ts","../../ts/eureka.typescript.ts","../../ts/muckboot.eureka.ts","../../ts/workers/listdirectory.ts","../../ts/workers/listsource.ts","../../ts/workers/listsources.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/_build/gruntfile.js b/_build/gruntfile.js
deleted file mode 100644
index 25a18e1..0000000
--- a/_build/gruntfile.js
+++ /dev/null
@@ -1,363 +0,0 @@
-module.exports = function(grunt) {
- // Project configuration.
- grunt.option.init({
- 'ver':(!grunt.option('ver')) ? grunt.file.readJSON('package.json').version : grunt.option('ver'),
- 'rel':(!grunt.option('rel')) ? grunt.file.readJSON('package.json').release : grunt.option('rel')
- });
- var initConfig = {
- pkg: grunt.file.readJSON('package.json'),
- dirs: { /* just defining some properties */
- src: '../src/',
- lib: './lib/',
- scss: './scss/',
- theme: '../',
- assets: 'examples/assets/',
- css: 'css/',
- js: 'js/',
- ts: 'ts/',
- img: 'img/',
- font: 'font/'
- },
- bower: {
- install: {
- options: {
- targetDir: './lib',
- layout: 'byComponent'
- }
- }
- },
- copy: {
- },
- cssmin: {
- compress: {
- options: {
- report: 'min',
- keepSpecialComments: 0,
- banner: '/*!\n* <%= pkg.title %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n*/'
- },
- files: {
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.min.css': '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.css',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.min.css': '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.css',
- }
- }
- },
-
- sass: {
- dist: {
- options: {
- style: 'compressed',
- compass: false
- },
- files: {
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.css': '<%= dirs.scss %>main.scss',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.css': '<%= dirs.scss %>no-flexbox.scss'
- }
- },
- dev: {
- options: {
- style: 'expanded',
- compass: false,
- sourceMap:true
- },
- files: {
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.css': '<%= dirs.scss %>main.scss',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.css': '<%= dirs.scss %>no-flexbox.scss'
- }
- }
- },
- autoprefixer: {
- options: {
- browsers: ['last 2 versions', 'ie 8', 'ie 9']
- },
- main: {
- files: {
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.css': '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.<%= pkg.version %>.css',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.css': '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>eureka.no-flexbox.<%= pkg.version %>.css',
- }
- }
- },
- csslint: {
- strict: {
- options: {
- import: 2
- },
- src: ['<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>.<%= pkg.version %>**/*.css']
- }
- },
-
- concat: {
- plugins: {
- options: {
- separator: '',
- banner:'/* do not touch this file. see _build/*.js */\n'
- },
- src: [
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/scopedQuerySelectorShim.js',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/html5Upload.js',
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.js'
- ],
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.js',
- },
- eureka: {
- src: [
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.js'
- ],
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.min.js',
- }
-
- },
- ts: {
- eureka : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>plugins.ts","<%= dirs.ts %>ajax.ts","<%= dirs.ts %>eureka.typescript.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.js',
- options:{
- sourceMap:false,
- removeComments:false
- }
- },
- muckboot : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>muckboot.eureka.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>muckboot.eureka.<%= pkg.version %>.js'
- },
- includes : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>ajax.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>workers/includes.js'
- },
- listsource : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>workers/listsource.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>workers/listsource.js'
- },
- listsources : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>workers/listsources.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>workers/listsources.js'
- },
- listdirectory : {
- target:'es5',
- failOnTypeErrors:false,
- src: ["<%= dirs.ts %>workers/listdirectory.ts"],
- out:'<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>workers/listdirectory.js'
- }
- },
-
- uglify: {
- main: {
- options: {
- report: 'min',
- screwIE8:true
- },
- files: {
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>muckboot.eureka.<%= pkg.version %>.min.js': ['<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>muckboot.eureka.<%= pkg.version %>.js'],
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>/vendor/html5Upload.min.js': ['<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>/vendor/html5Upload.js'],
- '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.min.js': ['<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>eureka.<%= pkg.version %>.js']
- }
-
- },
- includes: {
- options: {
- report: 'min'
- },
- files: [{
- src:['<%= dirs.src %><%= dirs.js %>workers/includes.js'],
- dest:'<%= dirs.src %><%= dirs.js %>workers/includes.min.js'
- },{
- src:['<%= dirs.src %><%= dirs.js %>workers/listsource.js'],
- dest:'<%= dirs.src %><%= dirs.js %>workers/listsource.min.js'
- },
- {
- src:['<%= dirs.src %><%= dirs.js %>workers/listsources.js'],
- dest:'<%= dirs.src %><%= dirs.js %>workers/listsources.min.js'
- },
- {
- src:['<%= dirs.src %><%= dirs.js %>workers/listdirectory.js'],
- dest:'<%= dirs.src %><%= dirs.js %>workers/listdirectory.min.js'
- }
- ]
- }
- },
-
- watch: { /* trigger tasks on save */
- options: {
- livereload: true
- },
-
- scss: {
- files: '<%= dirs.scss %>**/*.scss',
- tasks: ['sass:dev','autoprefixer','cssmin','growl:sass','cssmin']
- },
- ts: {
- files: ['<%= dirs.ts %>*'],
- tasks: ['ts:eureka','growl:ts','concat','uglify','growl:uglify']
- }
- },
- clean: { /* take out the trash */
- options: {
- force: true
- },
- prebuild: ['<%= dirs.scss %>bourbon', '<%= dirs.scss %>font-awesome'],
- postbuild: ['<%= dirs.lib %>','<%= dirs.src %>/**/*']
- },
- growl: { /* optional growl notifications requires terminal-notifer: gem install terminal-notifier */
-
- sass: {
- message: "Sass files created.",
- title: "grunt"
- },
-
- build: {
- title: "grunt",
- message: "Build complete."
- },
- watch: {
- title: "grunt",
- message: "Watching. Grunt has its eye on you."
- },
- expand: {
- title: "grunt",
- message: "CSS Expanded. Don't check it in."
- },
- concat: {
- title: "grunt",
- message: "JavaScript concatenated."
- },
- uglify: {
- title: "grunt",
- message: "JavaScript minified."
- },
- ts: {
- title: "grunt",
- message: "JavaScript created from TypeScript."
- }
- }
- };
-
-
- initConfig.copy["bourbon"] = {
- files: [{
- src: 'bourbon/**/*',
- cwd: '<%= dirs.lib %>',
- dest: '<%= dirs.scss %>',
- expand: true
- }]
- };
-
- initConfig.copy["neat"] = {
- files: [{
- src: 'neat/**/*',
- cwd: '<%= dirs.lib %>',
- dest: '<%= dirs.scss %>',
- expand: true
- }]
- };
-
- initConfig.copy["dom4"] = {
- files: [{
- src: './*.js',
- cwd: '<%= dirs.lib %>dom4',
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/',
- expand: true
- }]
- };
-
- initConfig.copy["eureka-src"] = {
- files: [{
- src: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>*eureka*.js',
- dest: '<%= dirs.src %><%= dirs.js %>',
- expand: true,
- flatten: true
- },{
- src: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>workers/**/*.js',
- dest: '<%= dirs.src %><%= dirs.js %>workers/',
- flatten:true,
- expand: true
- },{
- src: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/**/*.js',
- dest: '<%= dirs.src %><%= dirs.js %>vendor/',
- flatten:true,
- expand: true
- },{
- src: '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>*eureka*.css',
- dest: '<%= dirs.src %><%= dirs.css %>',
- expand: true,
- flatten: true
- }]
- };
-
- initConfig.copy["DefinitelyTyped"] = {
- files: [{
- src: 'DefinitelyTyped/modernizr.d.ts',
- cwd: '<%= dirs.lib %>',
- dest: '<%= dirs.ts %>',
- expand: true
- }]
- };
-
- initConfig.copy["html5-file-uploader"] = {
- files: [{
- src: '<%= dirs.lib %>html5-file-uploader/Html5UploadDemo/Scripts/src/html5Upload.js',
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/html5Upload.js'
- }]
- };
-
- initConfig.copy["scopedQuerySelectorShim"] = {
- files: [{
- src: '<%= dirs.lib %>scopedQuerySelectorShim/scopedQuerySelectorShim.js',
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.js %>vendor/scopedQuerySelectorShim.js'
- }]
- };
-
- initConfig.copy["font-awesome"] = {
- files: [
- {
- src: '<%= dirs.lib %>font-awesome/scss/**/*.scss',
- dest: '<%= dirs.scss %>font-awesome/',
-
- expand: true,
- flatten: true
- },{
- src: '<%= dirs.lib %>font-awesome/css/**/*.css',
- dest: '<%= dirs.theme %><%= dirs.assets %><%= dirs.css %>',
- expand: true,
- flatten: true
- },
- {
- src: 'fonts/**/*',
- cwd: '<%= dirs.lib %>font-awesome/',
- dest: '<%= dirs.theme %><%= dirs.assets %>',
- expand: true
- }
- ]
- };
-
- grunt.initConfig(initConfig);
-
- grunt.loadNpmTasks('grunt-bower-task');
- grunt.loadNpmTasks('grunt-contrib-copy');
-
- grunt.loadNpmTasks('grunt-sass');
- grunt.loadNpmTasks('grunt-autoprefixer');
-
- grunt.loadNpmTasks('grunt-contrib-watch');
- grunt.loadNpmTasks('grunt-contrib-clean');
- grunt.loadNpmTasks('grunt-growl');
- grunt.loadNpmTasks('grunt-contrib-cssmin');
- grunt.loadNpmTasks('grunt-contrib-csslint');
-
- grunt.loadNpmTasks('grunt-contrib-concat');
- grunt.loadNpmTasks('grunt-contrib-uglify');
-
- grunt.loadNpmTasks("grunt-ts");
-
- grunt.registerTask('default', ['growl:watch', 'watch']);
- grunt.registerTask('build', ['clean:prebuild', 'bower', 'copy', 'sass:dev','autoprefixer','cssmin','ts','concat','uglify:main', 'growl:sass', 'clean:postbuild','copy:eureka-src','uglify:includes']);
- grunt.registerTask('expand', ['sass:dev','autoprefixer', 'growl:sass', 'growl:expand']);
-};
diff --git a/_build/package.json b/_build/package.json
deleted file mode 100644
index 4f92d6b..0000000
--- a/_build/package.json
+++ /dev/null
@@ -1,44 +0,0 @@
-{
- "name": "eureka-browser",
- "title": "Eureka Browser",
- "description": "HTML-first crack at a Flexible Media Browser Component",
- "version": "1.2.0",
- "homepage": "https://github.com/jpdevries/eureka",
- "author": {
- "name": "JP DeVries",
- "email": "mail@devries.jp",
- "url": "http://devries.jp"
- },
- "repository": {
- "type": "git",
- "url": "git://github.com/jpdevries/eureka.git"
- },
- "bugs": {
- "url": "https://github.com/jpdevries/eureka/issues"
- },
- "devDependencies": {
- "grunt-autoprefixer": "^3.0.3",
- "grunt-bower-task": "0.4.0",
- "grunt-contrib-clean": "0.6.0",
- "grunt-contrib-concat": "0.5.1",
- "grunt-contrib-copy": "0.8.1",
- "grunt-contrib-csslint": "^0.5.0",
- "grunt-contrib-cssmin": "^0.13.0",
- "grunt-contrib-uglify": "0.9.2",
- "grunt-contrib-watch": "0.6.1",
- "grunt-growl": "^0.1.5",
- "grunt-sass": "1.0.0",
- "grunt-ts": "^4.2.0"
- },
- "keywords": [
- "HTML",
- "HTML5",
- "CSS3",
- "JavaScript",
- "flexbox",
- "ES6",
- "VanillaJS",
- "media",
- "browse"
- ]
-}
diff --git a/_build/scss/_grid-settings.scss b/_build/scss/_grid-settings.scss
deleted file mode 100644
index f1dcda4..0000000
--- a/_build/scss/_grid-settings.scss
+++ /dev/null
@@ -1,7 +0,0 @@
-$column: golden-ratio(1em, 3) !default; // Column width
-$gutter: golden-ratio(1em, 1) !default; // Gutter between each two columns
-$grid-columns: 12 !default; // Total number of columns in the grid
-$max-width: em(1088) !default; // Max-width of the outer container
-$border-box-sizing: true !default; // Makes all elements have a border-box layout
-$default-feature: min-width; // Default @media feature for the breakpoint() mixin
-$default-layout-direction: LTR !default;
diff --git a/_build/scss/eureka-boilerplate/_main.scss b/_build/scss/eureka-boilerplate/_main.scss
deleted file mode 100644
index ede4559..0000000
--- a/_build/scss/eureka-boilerplate/_main.scss
+++ /dev/null
@@ -1,283 +0,0 @@
-/*! HTML5 Boilerplate v5.0.0 | MIT License | http://h5bp.com/ */
-
-/*
- * What follows is the result of much research on cross-browser styling.
- * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
- * Kroc Camen, and the H5BP dev community and team.
- */
-
-/* ==========================================================================
- Base styles: opinionated defaults
- ========================================================================== */
-
-.eureka-wrapper {
- color: #222;
- font-size: 1em;
- line-height: 1.4;
-
- /*
- * A better looking default horizontal rule
- */
-
- hr {
- display: block;
- height: 1px;
- border: 0;
- border-top: 1px solid #ccc;
- margin: 1em 0;
- padding: 0;
- }
-
- /*
- * Remove the gap between audio, canvas, iframes,
- * images, videos and the bottom of their containers:
- * https://github.com/h5bp/html5-boilerplate/issues/440
- */
-
- audio,
- canvas,
- iframe,
- img,
- svg,
- video {
- vertical-align: middle;
- }
-
- /*
- * Remove default fieldset styles.
- */
-
- fieldset {
- border: 0;
- margin: 0;
- padding: 0;
- }
-
- /*
- * Allow only vertical resizing of textareas.
- */
-
- textarea {
- resize: vertical;
- }
-
- /* ==========================================================================
- Browser Upgrade Prompt
- ========================================================================== */
-
- .browserupgrade {
- margin: 0.2em 0;
- background: #ccc;
- color: #000;
- padding: 0.2em 0;
- }
-
- /* ==========================================================================
- Author's custom styles
- ========================================================================== */
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- /* ==========================================================================
- Helper classes
- ========================================================================== */
-
- /*
- * Hide visually and from screen readers:
- * http://juicystudio.com/article/screen-readers-display-none.php
- */
-
- .hidden {
- display: none !important;
- visibility: hidden;
- }
-
- /*
- * Hide only visually, but have it available for screen readers:
- * http://snook.ca/archives/html_and_css/hiding-content-for-accessibility
- */
-
- .visuallyhidden {
- border: 0;
- clip: rect(0 0 0 0);
- height: 1px;
- margin: -1px;
- overflow: hidden;
- padding: 0;
- position: absolute;
- width: 1px;
- }
-
- /*
- * Extends the .visuallyhidden class to allow the element
- * to be focusable when navigated to via the keyboard:
- * https://www.drupal.org/node/897638
- */
-
- .visuallyhidden.focusable:active,
- .visuallyhidden.focusable:focus {
- clip: auto;
- height: auto;
- margin: 0;
- overflow: visible;
- position: static;
- width: auto;
- }
-
- /*
- * Hide visually and from screen readers, but maintain layout
- */
-
- .invisible {
- visibility: hidden;
- }
-
- /*
- * Clearfix: contain floats
- *
- * For modern browsers
- * 1. The space content is one way to avoid an Opera bug when the
- * `contenteditable` attribute is included anywhere else in the document.
- * Otherwise it causes space to appear at the top and bottom of elements
- * that receive the `clearfix` class.
- * 2. The use of `table` rather than `block` is only necessary if using
- * `:before` to contain the top-margins of child elements.
- */
-
- .clearfix:before,
- .clearfix:after {
- content: " "; /* 1 */
- display: table; /* 2 */
- }
-
- .clearfix:after {
- clear: both;
- }
-
- /* ==========================================================================
- EXAMPLE Media Queries for Responsive Design.
- These examples override the primary ('mobile first') styles.
- Modify as content requires.
- ========================================================================== */
-
- @media only screen and (min-width: 35em) {
- /* Style adjustments for viewports that meet the condition */
- }
-
- @media print,
- (-o-min-device-pixel-ratio: 5/4),
- (-webkit-min-device-pixel-ratio: 1.25),
- (min-resolution: 120dpi) {
- /* Style adjustments for high resolution devices */
- }
-
- /* ==========================================================================
- Print styles.
- Inlined to avoid the additional HTTP request:
- http://www.phpied.com/delay-loading-your-print-css/
- ========================================================================== */
-
- @media print {
- *,
- *:before,
- *:after {
- background: transparent !important;
- color: #000 !important; /* Black prints faster:
- http://www.sanbeiji.com/archives/953 */
- box-shadow: none !important;
- text-shadow: none !important;
- }
-
- a,
- a:visited {
- text-decoration: underline;
- }
-
- a[href]:after {
- content: " (" attr(href) ")";
- }
-
- abbr[title]:after {
- content: " (" attr(title) ")";
- }
-
- /*
- * Don't show links that are fragment identifiers,
- * or use the `javascript:` pseudo protocol
- */
-
- a[href^="#"]:after,
- a[href^="javascript:"]:after {
- content: "";
- }
-
- pre,
- blockquote {
- border: 1px solid #999;
- page-break-inside: avoid;
- }
-
- /*
- * Printing Tables:
- * http://css-discuss.incutio.com/wiki/Printing_Tables
- */
-
- thead {
- display: table-header-group;
- }
-
- tr,
- img {
- page-break-inside: avoid;
- }
-
- img {
- max-width: 100% !important;
- }
-
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3;
- }
-
- h2,
- h3 {
- page-break-after: avoid;
- }
- }
-}
-
-/*
- * Remove text-shadow in selection highlight:
- * https://twitter.com/miketaylr/status/12228805301
- *
- * These selection rule sets have to be separate.
- * Customize the background color to match your design.a
- */
-
-::-moz-selection {
- background: #b3d4fc;
- text-shadow: none;
-}
-
-::selection {
- background: #b3d4fc;
- text-shadow: none;
-}
-
diff --git a/_build/scss/eureka-boilerplate/_normalize.scss b/_build/scss/eureka-boilerplate/_normalize.scss
deleted file mode 100644
index efd3be9..0000000
--- a/_build/scss/eureka-boilerplate/_normalize.scss
+++ /dev/null
@@ -1,429 +0,0 @@
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-
-/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS text size adjust after orientation change, without disabling
- * user zoom.
- */
-
-.eureka-wrapper { /* manually scoping html5bp reset to just the eureka wrapper */
- font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
-
- body {
- margin: 0;
- }
-
- /* HTML5 display definitions
- ========================================================================== */
-
- /**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
- */
-
- article,
- aside,
- details,
- figcaption,
- figure,
- footer,
- header,
- hgroup,
- main,
- menu,
- nav,
- section,
- summary {
- display: block;
- }
-
- /**
- * 1. Correct `inline-block` display not defined in IE 8/9.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
- */
-
- audio,
- canvas,
- progress,
- video {
- display: inline-block; /* 1 */
- vertical-align: baseline; /* 2 */
- }
-
- /**
- * Prevent modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
- audio:not([controls]) {
- display: none;
- height: 0;
- }
-
- /**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
- */
-
- [hidden],
- template {
- display: none;
- }
-
- /* Links
- ========================================================================== */
-
- /**
- * Remove the gray background color from active links in IE 10.
- */
-
- a {
- background-color: transparent;
- }
-
- /**
- * Improve readability when focused and also mouse hovered in all browsers.
- */
-
- a:active,
- a:hover {
- outline: 0;
- }
-
- /* Text-level semantics
- ========================================================================== */
-
- /**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
- */
-
- abbr[title] {
- border-bottom: 1px dotted;
- }
-
- /**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
- */
-
- b,
- strong {
- font-weight: bold;
- }
-
- /**
- * Address styling not present in Safari and Chrome.
- */
-
- dfn {
- font-style: italic;
- }
-
- /**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
- */
-
- h1 {
- font-size: 2em;
- margin: 0.67em 0;
- }
-
- /**
- * Address styling not present in IE 8/9.
- */
-
- mark {
- background: #ff0;
- color: #000;
- }
-
- /**
- * Address inconsistent and variable font size in all browsers.
- */
-
- small {
- font-size: 80%;
- }
-
- /**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
- */
-
- sub,
- sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
- }
-
- sup {
- top: -0.5em;
- }
-
- sub {
- bottom: -0.25em;
- }
-
- /* Embedded content
- ========================================================================== */
-
- /**
- * Remove border when inside `a` element in IE 8/9/10.
- */
-
- img {
- border: 0;
- }
-
- /**
- * Correct overflow not hidden in IE 9/10/11.
- */
-
- svg:not(:root) {
- overflow: hidden;
- }
-
- /* Grouping content
- ========================================================================== */
-
- /**
- * Address margin not present in IE 8/9 and Safari.
- */
-
- figure {
- margin: 1em 40px;
- }
-
- /**
- * Address differences between Firefox and other browsers.
- */
-
- hr {
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
- }
-
- /**
- * Contain overflow in all browsers.
- */
-
- pre {
- overflow: auto;
- }
-
- /**
- * Address odd `em`-unit font size rendering in all browsers.
- */
-
- code,
- kbd,
- pre,
- samp {
- font-family: monospace, monospace;
- font-size: 1em;
- }
-
- /* Forms
- ========================================================================== */
-
- /**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
- /**
- * 1. Correct color not being inherited.
- * Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
- */
-
- button,
- input,
- optgroup,
- select,
- textarea {
- color: inherit; /* 1 */
- font: inherit; /* 2 */
- margin: 0; /* 3 */
- }
-
- /**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
- */
-
- button {
- overflow: visible;
- }
-
- /**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
- */
-
- button,
- select {
- text-transform: none;
- }
-
- /**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- * `input` and others.
- */
-
- button,
- html input[type="button"], /* 1 */
- input[type="reset"],
- input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
- }
-
- /**
- * Re-set default cursor for disabled elements.
- */
-
- button[disabled],
- html input[disabled] {
- cursor: default;
- }
-
- /**
- * Remove inner padding and border in Firefox 4+.
- */
-
- button::-moz-focus-inner,
- input::-moz-focus-inner {
- border: 0;
- padding: 0;
- }
-
- /**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
- input {
- line-height: normal;
- }
-
- /**
- * It's recommended that you don't attempt to style these elements.
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
- *
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
- */
-
- input[type="checkbox"],
- input[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
- }
-
- /**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
- */
-
- input[type="number"]::-webkit-inner-spin-button,
- input[type="number"]::-webkit-outer-spin-button {
- height: auto;
- }
-
- /**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
- * (include `-moz` to future-proof).
- */
-
- input[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box; /* 2 */
- box-sizing: content-box;
- }
-
- /**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
- */
-
- input[type="search"]::-webkit-search-cancel-button,
- input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
- }
-
- /**
- * Define consistent border, margin, and padding.
- */
-
- fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
- }
-
- /**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- */
-
- legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
- }
-
- /**
- * Remove default vertical scrollbar in IE 8/9/10/11.
- */
-
- textarea {
- overflow: auto;
- }
-
- /**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
- */
-
- optgroup {
- font-weight: bold;
- }
-
- /* Tables
- ========================================================================== */
-
- /**
- * Remove most spacing between table cells.
- */
-
- table {
- border-collapse: collapse;
- border-spacing: 0;
- }
-
- td,
- th {
- padding: 0;
- }
-
-
-}
-
-/**
- * Remove default margin.
- */
\ No newline at end of file
diff --git a/_build/scss/flex-shortcuts/flex-shortcuts.scss b/_build/scss/flex-shortcuts/flex-shortcuts.scss
deleted file mode 100644
index 314f2f9..0000000
--- a/_build/scss/flex-shortcuts/flex-shortcuts.scss
+++ /dev/null
@@ -1,107 +0,0 @@
-%flexible-parent {
- display:flex; /* flexible parent */
-}
-
-%flex-direction-column {
- @extend %flex-direction-column; //flex-direction:column;
-}
-
-%ungrowable {
- flex-grow:0;
-}
-
-%flex-grow-1 {
- flex-grow:1;
-}
-
-%growable {
- @extend %flex-grow-1;
-}
-
-%flex-shrink-0 {
- flex-shrink:0;
-}
-
-%unshrinkable {
- @extend %flex-shrink-0;
-}
-
-%flex-shrink-1 {
- flex-shrink:1;
-}
-
-%shrinkable { // alias for %flex-shrink-1
- flex-shrink:1;
-}
-
-%flex-direction-column {
- flex-direction:column;
-}
-
-%align-items-stretch {
- align-items:stretch;
-}
-
-%justify-content-flex-start {
- justify-content:flex-start;
-}
-
-%justify-content-center {
- justify-content:center;
-}
-
-%flex-direction-row {
- flex-direction:row;
-}
-
-%justify-content-flex-end {
- justify-content:flex-end;
-}
-
-%align-items-flex-start {
- align-items:flex-start;
-}
-
-%align-items-stretch {
- align-items:stretch;
-}
-
-%flex-wrap-nowrap {
- flex-wrap:nowrap;
-}
-
-%flex-unwrappable {
- @extend %flex-wrap-nowrap;
-}
-
-%flex-wrap-wrap {
- flex-wrap:wrap;
-}
-
-%flex-wrappable {
- @extend %flex-wrap-wrap;
-}
-
-%align-self-flex-end {
- align-self:flex-end;
-}
-
-%align-items-center {
- @include align-items(center);
-}
-
-%align-self-flex-start {
- @include align-self(flex-start);
-}
-
-%flex-basis-auto {
- @include flex-basis(auto);
-}
-
-%flex-basis-all {
- @include flex-basis(100%);
-}
-
-%flex-basis-none {
- @include flex-basis(0%); // http://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/#avoiding-unitless-flex-basis
-}
\ No newline at end of file
diff --git a/_build/scss/main.scss b/_build/scss/main.scss
deleted file mode 100644
index 0209730..0000000
--- a/_build/scss/main.scss
+++ /dev/null
@@ -1,1897 +0,0 @@
-$prefix-for-webkit: true; // prefixes make up about 16% of our CSS weight (1-(31/37))
-$prefix-for-mozilla: true;
-$prefix-for-microsoft: true;
-$prefix-for-opera: false; // we don't support Opera, or rather Opera doesn't currently support us :( https://github.com/jpdevries/eureka/issues/10
-$prefix-for-spec: true;
-
-@import "bourbon/bourbon";
-@import "grid-settings";
-
-$border-box-sizing:false;
-@import "neat/neat";
-
-@import "spec/tacular";
-
-@import "eureka-boilerplate/main"; /* h5bp but scoped to .eureka-wrapper */
-
-@import "flex-shortcuts/flex-shortcuts";
-
-$borderColor:rgb(160,160,160);
-$black:rgb(10,10,10);
-$white:rgb(255,255,255);
-
-$contextualBG:lighten($black,82%);
-$contextualBorder:lighten($black,54%);
-$contextualColor:lighten($black,36%);
-$goGreen:rgb(33,163,0) !default;
-$goGreen:#297aa7;
-$topBarH:4.8rem;
-
-$bg:$white;
-
-%subtle-link {
- text-decoration:none;
- color:inherit;
- color:currentColor;
- &:hover {
-
- }
-}
-
-%monospaced {
- font-family: monospace; /* Andale Mono,AndaleMono, */
-}
-
-%smaller {
- font-size:0.86em;
-}
-
-%inverted {
- background:$black;
- color:$white;
-}
-
-%chrome-flexbox-hack {
- min-width:0;
- min-height:0;
-}
-
-%table {
- display: table;
- //border-collapse: separate;
- //border-spacing: 2px;
- //border-color: gray;
-}
-
-%thead {
- display: table-header-group;
- //vertical-align: middle;
- //border-color: inherit;
-}
-
-%th {
- display: table-cell;
- //vertical-align: inherit;
- //font-weight: bold;
- //text-align: center;
-}
-
-%tbody {
- display: table-row-group;
- vertical-align: middle;
- border-color: inherit;
-}
-
-%tr {
- display: table-row;
- //vertical-align: inherit;
- //border-color: inherit;
-}
-
-%td {
- display: table-cell;
- //vertical-align: inherit;
-}
-
-@mixin bottom-seperated() {
- padding-bottom:0.5em;
- border-bottom:1px solid lighten($borderColor,24%);
-}
-
-%bottom-seperated {
- @include bottom-seperated;
-}
-
-@mixin top-seperated() {
- padding-bottom:0.5em;
- border-top:1px solid lighten($borderColor,24%);
-}
-
-%top-seperated {
- @include top-seperated;
-}
-
-@mixin left-seperated() {
- padding-left:0.5em;
- border-left:1px solid lighten($borderColor,24%);
-}
-
-%left-seperated {
- @include left-seperated;
-}
-
-@mixin right-seperated() {
- padding-right:0.5em;
- border-right:1px solid lighten($borderColor,24%);
-}
-
-%right-seperated {
- @include right-seperated;
-}
-
-$danger:darken(red,8%);
-%dangerous {
- border-top:1px solid transparent;
- border-bottom:1px solid transparent;
- &:focus, &.focused {
- background:$danger;
- border-top:1px solid darken($danger,4%);
- border-bottom:1px solid darken($danger,4%);
- color:$white;
- }
- html.no-touch & {
- &:hover {
- background:$danger;
- border-top:1px solid darken($danger,4%);
- border-bottom:1px solid darken($danger,4%);
- color:$white;
- }
- }
-}
-
-%green-bg {
- background:$goGreen;
- color:$white;
- border-color:darken($goGreen,8%);
-}
-
-%go {
- &:focus,&.focused {
- @extend %green-bg;
- }
- html.no-touch & {
- &:hover {
- @extend %green-bg;
- }
- }
-}
-
-%visible-contextual {
- position:relative;
- top:auto;
- left:auto;
- height:auto;
- width:auto;
- clip:auto;
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-all; //flex-basis:100%;
-}
-
-.audible {
- @extend %accessibly-hidden;
-}
-
-@if $border-box-sizing == false {
- .eureka-wrapper { // http://bit.ly/1qk2tVR
- box-sizing:border-box;
- }
-
- .eureka-wrapper {
- *,
- &:before,
- &:after {
- box-sizing:inherit;
- }
- }
-}
-
-.dangerous {
- @extend %dangerous;
-}
-
-.go {
- @extend %go;
-}
-
-.eureka-wrapper:fullscreen {
- position:fixed;
- top:0;
- right:0;
- bottom:0;
- left:0;
- margin:0;
- box-sizing:border-box;
- width:100%;
- height:100%;
- object-fit:contain;
-}
-
-.eureka-wrapper {
- background:$bg;
- font-family: Gill Sans,Gill Sans MT,Calibri,sans-serif;
- button {
- border-radius:0.4em;
- &[type="submit"] {
- cursor:pointer;
- }
- }
- pre,code {
- @extend %monospaced;
- }
- .image {
- img {
- max-width:100%;
- }
- }
- label {
- text-transform:none;
- }
- .unaligned {
- text-align:center;
- }
- button, .btn {
- margin:0 auto;
- border:none;
-
- .contextual & {
- padding:0 0.42em;
- font-size:0.86em;
- background:transparent;
- color:inherit;
- }
-
- background:$black;
- color:$white;
- padding:0.24em 0.42em;
- //font-size:1.4em;
- .contextual & {
- color:lighten($black,82%);
- background:lighten($black,36%);
- }
- &.go {
- @extend %green-bg;
- }
-
- }
-
- button.muted, button:disabled {
- background:lighten($black,50%);
- cursor:default;
- }
-
- button.muted.cancel {
- cursor:pointer;
- }
-
- button:disabled {
- opacity:0.678;
- }
-}
-
-/*
-html.no-touch, html.no-touch body, html.no-touch body > form {
- @include media($gtMobile) {
- //height:100%;
- margin:0;
- }
-}
-*/
-
-.eureka__topbar-nav,.pathbrowser__topbar {
- h4 {
- font-size:1rem;
- }
-}
-
-@mixin firefox-hack() {
- @-moz-document url-prefix() { /* shame on firefox? http://codepen.io/jpdevries/pen/doYYoR */
- @content;
- }
-}
-
-@mixin spartan-hack() {
- @supports (-ms-accelerator:true) { /* shame on spartan? http://codepen.io/jpdevries/pen/doYYoR */
- @content;
- }
-}
-
-
-
-.eureka-wrapper {
- border:1px solid $borderColor;
- border-radius:0.4em;
-
- display:flex;
- flex-direction:column;
- flex-grow:1;
- flex-basis:0;
-
- > .eureka {
- flex-grow:10;
- //flex-basis:100%;
- @include media($gtTabletP) {
- //flex-basis:100%;
- flex-basis:0;
- max-height:100%;
- }
- .oh-no {
- display:none;
- }
- &.nothing-found {
- .stage > .eureka-table.oh-no {
- display:flex;
- }
- .stage > .eureka-table:not(.oh-no) {
- display:none;
- }
- }
- .stage {
- display:flex;
- width:100%;
- flex-direction:column;
- flex-wrap:nowrap;
- position:relative;
- > .eureka-table {
- flex-basis:auto;
- @include media($gtTabletP) {
- flex-basis:0;
- }
- //-webkit-flex-basis:0%;
- flex-grow:1;
- //height:100%;
- height:auto;
- -ms-flex-preferred-size:auto; // #janky ^^
-
-
-
- /* hack for Firefox and Spartan see http://codepen.io/jpdevries/pen/doYYoR #janky */
- /*@mixin topbar-hack() {
- position:absolute;
- top:$topBarH;
- right:0;
- bottom:0;
- left:0;
- }
-
- @include firefox-hack() {
- @include media($gtTabletP) {
- @include topbar-hack;
- }
- }
- @include spartan-hack() {
- @include media($gtTabletP) {
- @include topbar-hack;
- }
- }
- */
-
- &.oh-no {
- text-align:center;
- a {
- text-decoration:underline;
- }
- code {
- display:block;
- text-align:center;
- padding:.5em 0;
- }
- p {
- margin-top:0;
- }
- .fa-exclamation-triangle, .icon-exclamation-triangle {
- font-size:2em;
- }
- }
-
- > table {
- flex-grow:1;
- max-height:100%;
- flex-basis:auto;
- @include media($gtTabletP) {
- flex-basis:0;
- }
- > thead {
- flex-basis:2em;
- }
- > tbody {
- //flex-basis:auto;
- flex-basis:auto;
- @include media($gtTabletP) {
- flex-basis:0;
- }
- //-webkit-flex-basis:0%;
- }
- }
- }
- }
- &.sidebar-open.view-c {
- .stage { /* wong wong see https://github.com/philipwalton/flexbugs/issues/51 #janky */
- @include firefox-hack() {
- max-width:calc(100% - 12em);
- padding-right:0.5em;
- }
- @include spartan-hack() {
- max-width:calc(100% - 12em);
- padding-right:0.5em;
- }
- }
- }
- }
-
- > .proceed {
- flex-grow:0;
- flex-basis:4em;
- min-height:4em;
- width:100%;
- }
- @include media($gtTabletP) {
- max-height:100%;
- }
-
- html.touch &, html.no-js & {
- .eureka-table {
- //display:block;
- }
- }
-
- > footer {
- margin-top:0.5em;
- text-align:center;
- border-top:1px solid lighten($borderColor,24%);
- padding:0.5em;
- @extend %flexible-parent;
- > * {
- @extend %growable;
- @extend %unshrinkable;
- margin-right:0.5em;
- &:last-of-type {
- margin-right:0;
- }
- }
- }
-
-}
-
-html.no-touch { /* there's some weird bug with grunt-contrib-cssmin where if this is any further up and grouped with the rest of the styles it breaks the layout due to incorrect rules */
- .eureka-wrapper {
- //display:flex;
- //flex-direction:column;
- }
-}
-
-.eureka {
- padding:0.5em 0.5em 0 0.5em;
-}
-
-.eureka__row-image {
- .icon-wrapper {
- padding:0 2em;
- line-height:5em;
- border:1px solid currentColor;
- display:inline-block;
- font-size:1.6em;
- .view-e & {
- line-height:1.4em;
- border:none;
- font-size:1.4em;
- padding:0;
- }
- }
- .view-a .focused & {
- @extend %justify-content-center; //@include justify-content(center);
- }
- code {
- display:inline-block;
- .view-b &, .view-c & {
- text-align:center;
- }
- .view-d & {
- text-align:inherit;
- }
- .view-a .focused & {
- font-weight:bold;
- text-align:center;
- }
- @include media($gtTabletP) {
- text-align:left;
- }
- }
-}
-
-.greedy {
- width:100%;
-}
-
-%clickable {
- cursor:pointer;
-}
-
-.clickable {
- @extend %clickable;
-}
-
-.eureka {
- @extend %flexible-parent; //display:flex;
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %justify-content-flex-start; //@include justify-content(flex-start);
- @extend %flex-wrap-nowrap; //flex-wrap:nowrap;
- @extend %flex-direction-column; //flex-direction:column;
- @include media($gtTabletP) {
- @include flex-direction(row);
- //max-height:80%;
- }
- > .pathbrowser {
- @extend %ungrowable; // flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
-
- @include media($gtMobile) {
- margin-right:0.5em;
- padding-right:0.5em;
- }
- display:none;
- @include media($gtTabletP) {
- display:initial;
- display:flex;
- }
- @extend %flexible-parent; // display:flex;
- @extend %flex-direction-column; //flex-direction:column;
-
- @include media($tabletP) {
- .pathbrowser__topbar, .tree, > footer button.create-new {
- display:none !important;
- }
- }
-
- @include media($gtTabletP) {
- @include flex-basis(12em);
- }
-
- margin-bottom:0.5em;
- @include media($gtTabletP) {
- margin-bottom:0;
- border-right:1px solid lighten($borderColor,24%);
- }
- > .pathbrowser__topbar {
- @extend %bottom-seperated;
- @extend %ungrowable; //flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- .mediasource-select-level-up {
- select {
- @extend %flex-grow-1; //@niclude flex-grow(1);
- }
- @extend %flexible-parent; //display:flex;
- }
- .level-up {
- color:inherit;
- padding:0 0 0 0.5em;
- line-height:1.5em;
- position:relative;
- }
- h3,h4,h5,h6 {
- margin:0;
- }
- //@include flex-basis(2rem);
- @extend %flex-direction-column; //flex-direction:column;
- @extend %flexible-parent; //display:flex;
- //height:2rem;
- padding-right:0.5em;
- @include media($gtTabletP) {
- flex-basis:$topBarH;
- }
-
- > select {
- //flex-grow:1;
- //flex-basis:100%;
- }
- }
- > .tree {
- margin-top:0.5em;
- @extend %growable;
- @extend %shrinkable;
- font-size:0.86em;
- overflow:auto;
- flex-basis:0;
- a {
- color:currentColor;
- text-decoration:none;
- cursor:pointer;
- position:relative;
- &[contenteditable="true"] {
- //cursor:inherit;
- }
- }
- ul {
- padding:0;
- margin:0;
- list-style-type:none;
- }
- li {
- @extend %flexible-parent; // display:flex;
- @extend %flex-wrap-wrap; //@include flex-wrap(wrap);
- > .folder {
- flex-grow:0;
- }
- > .path {
- flex-grow:1;
- padding-left:0.25em;
- }
-
- > ul {
- flex-basis:100%;
- html.js & {
- display:none;
- }
- padding:0 0 0 1em;
- }
- &:focus,&.active {
- > .path {
- font-weight:bold;
- }
- }
- &.open {
- html.js & {
- > ul {
- display:block;
- }
- }
- }
- }
- }
- > footer {
- html.no-touch & {
- &.drop {
- @include media($gtTabletPH) {
- @include flex-basis(220px);
- }
- }
- }
- @extend %flexible-parent; // display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %unshrinkable; //@include flex-shrink(0);
- html.js & {
- @extend %top-seperated;
- padding-bottom:0;
- @include media($tabletP) {
- border-width:0;
- }
- }
- @include media($tabletP) {
- border-width:0;
- }
- > nav {
- padding-top:0.5em;
- @include align-self(center);
- width:100%;
- }
- padding-bottom:0;
- .droparea {
- padding-top:0.5em;
- @include media($tabletPH) {
- display:none;
- }
- @extend %flexible-parent; // display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %growable;
- @extend %bottom-seperated;
- //@include flex-basis();
- }
-
- .dropzone {
- @extend %growable;
- $dzColor:darken(desaturate(#cddce6,100%),42%);
- //min-height:8.6em;
- font-size:1.4em;
- background:desaturate(#cddce6,100%);
- border:2px dashed desaturate(darken(#cddce6,8%),100%);
- border-radius:0.4em;
- //margin-bottom:0.25em;
- text-align:center;
-
- @extend %flexible-parent; //display:flex;
- @extend %justify-content-center; //@include justify-content(flex-center);
- @extend %flex-direction-column; //flex-direction:column;
- //@extend %align-items-center; // @include align-items(center);
-
- color:$dzColor;
-
- a {
- color:darken($dzColor,12%);
- }
-
- html.touch & {
- display:none;
- }
-
- &.uploading {
- background:lighten(#b2b9c5,4%);
- border-color:darken(#b2b9c5,26%);
- }
-
- &.complete {
- background:lighten(#aecd98,6%);
- border-color:darken(#aecd98,6%);
- color:darken(#aecd98,26%);
- .progress {
- background:lighten(#aecd98,6%);
- @extend %justify-content-center;
- }
- a {
- color:darken(darken(#aecd98,26%),8%);
- }
- }
-
- &.error {
- background:lighten(#e75154,16%);
- border-color:darken(#e75154,6%);
- color:darken(#e75154,26%);
- .progress {
- background:lighten(#e75154,16%);
- @extend %justify-content-center;
- }
- a {
- color:darken(darken(#e75154,26%),8%);
- }
- }
-
- h2 {
- margin:0 0 0.24em 0;
- }
-
- p {
- margin:0;
- padding:0 1em 0 1em;
- font-size:0.678em;
- }
- a {
- text-decoration:none;
- cursor:pointer;
- }
-
- .progress {
- flex-grow:1;
- flex-basis:100%;
- background:darken(desaturate(#cddce6,100%),4%);
-
- border-radius:0.4em;
-
- @extend %flexible-parent; //display:flex;
- @extend %justify-content-flex-start; //@include justify-content(flex-center);
- @extend %flex-direction-column; //flex-direction:column;
- //@extend %align-items-center; // @include align-items(center);
-
- > .bar {
- flex-grow:1;
- min-height:1em;
- position:relative;
- background:lighten(#b2b9c5,4%);
- &:first-of-type {
- border-top-left-radius:0.4em;
- border-top-right-radius:0.4em;
- > div {
- border-top-left-radius:0.4em;
- border-top-right-radius:0.4em;
- }
- }
- &:last-of-type {
- border-bottom-left-radius:0.4em;
- border-bottom-right-radius:0.4em;
- > div {
- border-bottom-left-radius:0.4em;
- border-bottom-right-radius:0.4em;
- }
- }
- &:nth-of-type(even) {
- > div {
- background:darken(#b2b9c5,12%);
- border:1px solid darken(#b2b9c5,16%);
- }
- }
- > div {
- position:absolute;
- top:0;
- left:0;
- bottom:0;
- background:darken(#b2b9c5,8%);
- border:1px solid darken(#b2b9c5,12%);
- }
- }
- }
- }
-
- button,.btn {
- background:transparent;
- color:inherit;
- font-size:1.2em;
- @include flex-basis(auto);
- position:relative;
- &.upload-files {
- .audible {
- @include media($tabletP) {
- display:initial;
- position:relative;
- font-size:0.8em;
- }
- }
- }
- }
-
- flex-grow:0;
- > nav {
- @extend %flexible-parent; //display:flex;
- @extend %justify-content-center; //@include justify-content(center);
- @extend %ungrowable; //flex-grow:0;
- > a,>form, >.form {
- @extend %ungrowable; //flex-grow:0;
- @include flex-basis(50%);
- text-align:center;
-
- }
- }
-
- }
- }
- > .stage {
- flex-grow:1;
- @include media($gtTabletP) {
- flex-grow:1;
- @include flex-shrink(1);
- flex-basis:100%;
- }
- //flex-direction:column;
- }
-
- &.view-c {
- //@-moz-document url-prefix() { /* #janky #shame #hack */
- //overflow-x:auto;
- //}
- > .stage {
- @extend %ungrowable; //flex-grow:0;
- @include flex-shrink(1);
- //@include flex-basis(auto);
- max-width:100%;
- @include media($gtMobile) {
- flex-basis:100%;
- }
- }
- }
-
- > .stage > .eureka__topbar {
- @extend %ungrowable; //flex-grow:0;
- @extend %flex-shrink-1; //@include flex-shrink(1);
- @include media($gtTabletP) {
- @include flex-basis($topBarH * 1.4);
- }
- .hack-flexbox & {
- @include firefox-hack() {
- @include flex-basis(14%);
- }
- }
- @include media($gtTabletP) {
- flex-basis:$topBarH;
- }
- //height:2rem;
-
- }
- > .stage > .eureka-table {
- @extend %flex-grow-1; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- //@include flex-basis(42em);
- }
- input[type="radio"] {
- margin-right:0.2em;
- }
-}
-
-html.touch, html.no-js {
- .eureka > .pathbrowser > footer .droparea {
- display:none;
- }
-}
-
-.eureka__topbar-nav {
- > a, .view-btns a {
- padding:0.1em 0.2em 0 0.2em;
- &.current {
- background:rgb(220,220,220);
- }
- }
-
- //.view-c-btn {
- //display:none !important;
- //@-moz-document url-prefix() { /* #janky #shame #hack https://twitter.com/mrktps/status/581889013574868992 */
- //display:none;
- //}
- //}
-}
-
-.eureka-table {
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %justify-content-center; //@include justify-content(flex-center);
-
- flex-grow:1;
- display:flex;
-
- .view-e & {
- overflow: auto;
- display:block;
- > table {
- padding-top:0;
- }
- }
-
- > footer {
- margin-top:1em;
- }
- > table {
- html.no-flexbox {
- display:block;
- }
- @include media($gtTabletP) {
- height:100%;
- }
-
- @extend %growable; //flex-grow:1;
- @extend %shrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
- //max-height:38em;
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %justify-content-center; //@include justify-content(flex-center);
-
- .view-a & {
- @include media($tabletP) {
- //display: block;
- /* Force table to not be like tables anymore */
- thead, tbody, th, td, tr {
- //display: block;
- }
-
- /* Hide table headers (but not display: none;, for accessibility) */
- thead tr {
- position: absolute;
- top: -9999px;
- left: -9999px;
- }
-
- tr:not(.contextual) {
- td {
- /* Behave like a "row" */
- border: none;
- border-bottom: 1px solid #eee;
- position: relative;
- padding-left: 35%;
- }
-
- td.eureka__row-image {
- padding-left:0;
- }
-
- td:before {
- /* Now like a table header */
- position: absolute;
- /* Top/left values mimic padding */
- top: 0.1em;
- left: 0.1em;
- width: 25%;
- padding-left:0.5em;
- padding-right: 0.5em;
- white-space: nowrap;
- }
- }
-
- /*
- Label the data
- */
- td:nth-of-type(1):before {
- content: "Name";
- left:-99999em !important;
- top:-99999em !important;
- }
- td:nth-of-type(2):before { content: "Dimensions"; }
- td:nth-of-type(3):before { content: "File Size"; }
- td:nth-of-type(4):before { content: "Edited On"; }
- tr.contextual td:before { display:none }
- }
-
- > thead > tr > th {
- &:last-of-type {
- padding-right:2em;
- }
- }
- }
-
- .view-e & {
- @extend %table;
- @extend %very-greedy;
- }
-
- > thead {
- .view-a & {
- display:block;
- }
- .view-b &, .view-c &, .view-d & {
- display:none;
- }
- .view-e & {
- @extend %thead;
- position:sticky;
- top:-2px;
- z-index:$topMost;
- background:$bg;
- }
- @extend %ungrowable; //flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- flex-basis:2em;
-
- @extend %flexible-parent; //display:flex;
- > tr {
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %justify-content-flex-end; //@include justify-content(flex-end);
- flex-basis:100%;
-
- @extend %flexible-parent; //display:flex;
- .view-e & {
- @extend %tr;
- }
- > th {
- //@extend %growable; //flex-grow:1;
- flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
- text-align:left;
- margin:0 1em;
- padding:0 0.4em;
- &:last-of-type {
- margin-right:0;
- }
- .view-a & {
- text-align:right;
- padding-right:1em;
- &:first-of-type {
- //@include flex-grow(12); /* #janky #shame */
- }
- }
- .view-e & {
- @extend %th;
- text-align:right;
- padding-right::1em;
- &:first-of-type {
- text-align:left;
- .fa-sort {
- position:static;
- }
- }
- }
- }
- }
-
- .view-a & {
- @extend %justify-content-flex-end; //@include justify-content(flex-end);
- }
-
- }
- > tbody {
- @extend %growable; //flex-grow:1;
- @extend %shrinkable; //@include flex-shrink(1);
- //max-height:36em;
- @extend %flex-basis-auto; //@include flex-basis(auto);
- text-align:center;
- display:block;
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-row; //@include flex-direction(row);
- @extend %justify-content-center; //@include justify-content(flex-center);
- @extend %flex-wrap-wrap; //@include flex-wrap(wrap);
-
- flex-wrap:nowrap;
- -webkit-flex-basis:0%;
- flex-basis:0;
- overflow-y:auto;
- .view-a & {
- > tr {
- html.no-flexbox {
- display:block;
- }
-
- @extend %growable; //flex-grow:1;
- @extend %shrinkable; //@include flex-shrink(0);
- @extend %flex-basis-all; //flex-basis:100%;
-
- .pathname {
- padding-right:1em;
- }
- }
- }
-
- .view-b & {
- @extend %align-items-flex-start; //@include align-items(flex-start);
- //@include box-pack(center);
- @extend %justify-content-flex-start; //@include justify-content(flex-start);
- @extend %flex-wrap-wrap; //@include flex-wrap(wrap);
-
- //overflow-y:auto;
- //overflow-x:hidden;
-
- img {
- max-width:100%;
- height:auto;
- }
- }
- .view-c & {
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-row; //@include flex-direction(row);
- @include justify-content(flex-center);
- @extend %flex-wrap-nowrap; //flex-wrap:nowrap;
-
- padding-bottom:1.2em;
-
- overflow-y:hidden;
- overflow-x:auto;
-
- //@-moz-document url-prefix() { /* #janky #shame #hack */
- //overflow-x:hidden;
- //}
- }
- .view-d & {
- @include justify-content(flex-center);
- @extend %flex-direction-row; //@include flex-direction(row);
- @extend %align-items-center; //@include align-items(center);
- > tr {
- max-width:100%;
- margin:0 0.25em 0.5em 0.25em;
- }
- }
-
- .view-e & {
- @extend %tbody;
- }
-
- > tr {
- cursor:default;
- display:inline-block;
- margin:0;
- padding:0;
- @extend %ungrowable; //flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-all; //flex-basis:100%;
- @extend %align-items-flex-start; //@include align-self(flex-start);
- .view-d & {
- @extend %flex-basis-auto; //@include flex-basis(auto);
- }
- .view-e & {
- @extend %tr;
- }
- > td {
- html.no-flexbox & {
- display:block;
- }
- @extend %ungrowable; //flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- @include flex-basis(10em);
- overflow:hidden;
- text-align:center;
-
- .view-a & {
- @extend %flexible-parent; //display:flex;
- @extend %justify-content-flex-end; //@include justify-content(flex-end);
-
- &.eureka__row-image {
- @extend %flex-direction-column; //flex-direction:column;
- @include media($gtTabletP) {
- @include flex-direction(row);
- }
- }
- }
-
- .view-b & {
- display:none;
- .pathname {
- display:none;
- }
- &.eureka__row-image {
- display:inline-block;
- }
- }
-
- .view-c &, .view-d & {
- @extend %growable; //flex-grow:1;
- @extend %flex-basis-all; //flex-basis:100%;
- &:not(.eureka__row-image) {
- display:none;
- }
-
- .pathname {
- display:none;
- }
- }
-
- .view-d & {
- @extend %flex-basis-auto; //@include flex-basis(auto);
- }
-
- .view-e & {
- @extend %td;
- text-align:right;
- &.eureka__row-image {
- text-align:left;
- }
- }
- }
-
- .view-a & {
- @extend %align-items-stretch; //@include align-items(stretch);
- /* what is happening here */
- //display:flex;
- /* what is happening here?? */
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @include media($gtTabletP) {
- @include flex-direction(row);
- }
- > td {
- @include flex(1);
- @extend %flexible-parent; //display:flex;
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flex-wrap-nowrap; //flex-wrap:nowrap;
- min-height:1.6em;
- padding-top:0.3em;
- padding-right:0.5em;
- text-align:left;
- @include media($gtTabletP) {
- min-height:none;
- }
- > .image {
- @include flex-grow(4);
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
-
- //@extend %flexible-parent; //display:flex;
- //@extend %flex-direction-row; //@include flex-direction(row);
-
- > input[type="radio"] {
- @extend %ungrowable; //flex-grow:0;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
- }
-
- > img {
- //@extend %ungrowable; //flex-grow:0;
- //@extend %unshrinkable; //@include flex-shrink(0);
- //@extend %flex-basis-auto; //@include flex-basis(auto);
- }
- }
- > .pathname {
- @extend %ungrowable; //flex-grow:0;
- }
- }
- > td.eureka__row-image {
- @include flex-grow(4);
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-wrap-wrap; // @include flex-wrap(wrap);
- text-align:left;
- overflow:hidden;
- img {
- width:auto;
- margin:0;
- max-height:140px;
- }
- code {
- @include flex-shrink(0);
- }
- //flex-basis:100%;
- }
- }
-
- &:focus, &.focused {
- .view-b &, .view-c & {
- > td.eureka__row-image {
- text-align:center;
- }
- }
- .view-a.enlarge-focused-rows & {
- > td.eureka__row-image {
- img {
- max-height:none;
- }
- }
- }
- }
- &:focus, &.focused { /* , &:hover */
- .view-e & {
- > td.eureka__row-image {
- .image {
- img,.img {
- max-height:3em;
- }
- }
- }
- }
- }
-
- .view-c & {
- @include flex-basis(8em);
- overflow-x:hidden;
- &.focused, &:focus {
- @extend %flex-basis-auto; //@include flex-basis(auto);
- }
- }
-
- .view-d & {
- > td.eureka__row-image {
- text-align:center;
- }
- }
-
- .view-e & {
- > td.eureka__row-image {
- .image {
- img,.img {
- max-height:2em;
- margin-right:4px;
- }
- }
- }
- }
-
- .view-e.no-images-on-list & {
- > td.eureka__row-image {
- .image {
- img,.img {
- display:none;
- }
- }
- }
- }
-
- .view-b & {
- flex-basis:200px;
- @include flex-shrink(1);
- .image {
- max-width:200px;
- }
- &.focused, &:focus {
- .image {
- max-width:none;
- }
- }
- }
-
- .view-b & {
- flex-basis:200px;
- margin:2px;
- &.focused, &:focus {
- //opacity:0.5;
- @extend %flex-basis-all; //flex-basis:100%;
- td > {
- flex-basis:100%;
- }
- }
- }
-
- }
- }
- }
-
- .image {
- display:inline-block;
- position:relative;
- .view-b &, .view-c & {
- display:block;
- }
-
- height:auto;
- }
- a {
- @extend %subtle-link;
- }
- time {
- @extend %monospaced;
- }
- table {
- padding-top:1em;
- thead {
- th {
- position:relative;
- padding:0 1em 0 0;
- text-align:right;
- }
- .fa-sort {
- position:absolute;
- top:0.2em;
- right:0;
- @extend %smaller;
- cursor:pointer;
- }
- }
- tbody {
- //max-height:38em;
- @include media($gtTabletP) {
- //overflow-y:auto;
- }
- .view-c & {
- //overflow:auto;
- }
- tr {
- td {
- text-align:left;
- .view-a &, .view-b &, .view-c & {
- &:first-of-type {
- //text-align:left;
- }
- }
- .view-d & {
- &:first-of-type {
- text-align:center;
- }
- }
- }
- }
- }
- }
-}
-
-.eureka-table > table > tbody > tr.contextual {
- line-height:2em;
- .view-b &, .view-c &, .view-d & {
- display:none !important; // ok to hide even from #a11y
- }
- html.js &, .view-b &, .view-c &, .view-d & {
- @extend %accessibly-hidden;
- }
- .view-a & {
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-none; //flex-basis:0;
- &.visible {
- @extend %visible-contextual;
- }
- }
- .view-e & {
- &.visible {
- @extend %visible-contextual;
- }
- }
- text-align:left;
-
- @extend %align-items-flex-start; //@include justify-content(flex-start);
-
- background:$contextualBG;
- border-top:1px solid $contextualBorder;
- border-bottom:1px solid $contextualBorder;
- color:$contextualColor;
- nav {
- padding:0 0.5em;
- @include flex(1);
- }
-}
-
-.view-a tr.eureka__row, .view-e tr.eureka__row {
- &:focus,&.focused {
- + tr.contextual {
- html.js & {
- @extend %visible-contextual;
- }
- }
- }
-}
-
-tbody.filtered {
- > tr {
- &:not(.visible) {
- display:none;
- }
- }
-}
-
-.flexible_row {
- @extend %flexible-parent; //display:flex;
- @extend %flex-wrap-wrap; //@include flex-wrap(wrap);
- @extend %justify-content-flex-start; //@include justify-content(flex-start);
- @extend %align-items-flex-start; //@include align-items(flex-start);
- @include media($gtTabletP) {
- //@include flex-direction(row);
- @include flex-wrap(no-wrap);
- @include justify-content(center);
- @include align-items(center);
- }
-
- text-align:center;
- > * {
- display:inline-block;
- @include flex(1 0 auto);
- margin:0; //0.2em 0;
- @include media($gtTabletP) {
- margin:0;
- }
- }
- > form.tag {
- text-align:left;
-
- }
-}
-
-footer.proceed {
- button,.btn {
- font-size:1.24em;
-
- }
-}
-
-.contextual__nav {
- > a {
- margin-right:0.5em;
- text-align:center;
- cursor:pointer;
- display:block;
- border-top:1px solid transparent;
- border-bottom:1px solid transparent;
- &:focus,&.focused,&:hover {
- color:$contextualBG;
- background:$contextualColor;
- border-top:1px solid $contextualBorder;
- }
- &.choose {
- @extend %go;
- }
- &.dangerous {
- @extend %dangerous;
- }
- }
- > form.tag {
- @extend %flexible-parent; //display:flex;
- @extend %justify-content-center; //@include justify-content(center);
- @extend %align-items-center; //@include align-items(center);
- padding:0 1em;
- > label {
- @extend %ungrowable; //@include flex(0);
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
- }
- > input[type="text"] {
- @include flex-grow(4);
- @extend %shrinkable; //@include flex-shrink(1);
- @extend %flex-basis-auto; //@include flex-basis(auto);
- margin:0 0.5em;
- }
- > button[type="submit"] {
- @extend %ungrowable; //@include flex(0);
- @extend %unshrinkable; //@include flex-shrink(0);
- flex-basis:4em;
- }
- }
- button,.btn {
- padding:0;
- }
-}
-
-tr.contextual {
- padding-top:0 !important; //#janky #shame
- padding-bottom:0 !important;
- > td {
- padding-top:0 !important;
- padding-bottom:0 !important;
- > form {
- @extend %flexible-parent; //display:flex;
- @extend %align-items-center; //@include align-items(center);
- }
- }
-}
-
-.eureka__topbar {
- @extend %bottom-seperated;
- //margin-bottom:1em;
- font-size:1.2em;
-
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %justify-content-flex-start; //@include justify-content(flex-start);
- @include media($gtTabletP) {
- @include flex-direction(row);
- }
- .eureka__topbar-nav {
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-wrappable; //@include flex-wrap(wrap);
- @extend %flex-direction-column; //flex-direction:column;
-
- a {
- cursor:pointer;
- }
-
- > header {
- @extend %flexible-parent; //display:flex;
- @extend %flex-unwrappable; //flex-wrap:nowrap;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %chrome-flexbox-hack;
- @include media($gtMobile) {
- @include flex-direction(row);
- }
- > h4 {
- @extend %growable; //flex-grow:1;
- width:100%;
- text-align:center;
- margin:0.5em 0;
- @include media($gtMobile) {
- width:auto;
- text-align:left;
- @include flex-grow(4);
- margin:0;
- }
- .mediasource-title {
- font-weight:normal;
- font-style:italic;
- padding-left:0.678em;
- .sidebar-open & {
- display:none;
- }
- }
- }
- > form {
- @extend %growable; //flex-grow:1;
- @extend %flexible-parent; //display:flex;
- @extend %align-self-flex-end; //@include align-self(flex-end);
- width:100%;
- > input[type="search"] {
- @extend %growable; //flex-grow:1;
- max-width:100%;
- font-size:1em;
- max-width:100%;
- padding-left:0.5em;
- padding-right:0.5em;
- }
- @include media($gtMobile) {
- width:auto;
- }
-
- }
- }
-
- > .eureka__topbar-nav__select {
- @extend %flexible-parent; //display:flex;
- @extend %align-items-center; //@include align-items(center);
- @extend %justify-content-flex-start; //@include justify-content(flex-start);
- @extend %flex-direction-column; //sflex-direction:column;
- @extend %chrome-flexbox-hack;
- @include media($gtMobile) {
- @include flex-direction(row);
- }
- padding-top:0.5em;
- }
-
- @include media($gtMobile) {
- //@include flex-basis(14em);
- flex-wrap:nowrap;
- }
-
- @extend %flexible-parent; //display:flex;
- > a, .view-btns a, .browse-select {
- @include media($gtTabletP) {
- margin-right:0.4em;
- }
- html.no-flexbox {
- display:inline-block;
- }
- }
- .pathbrowser_toggle {
- width:12%;
- min-width:1.2em;
- @extend %align-self-flex-start; //@include align-self(flex-start);
- @include media($tabletP) {
- display:none;
- }
- @include media($gtTabletP) {
- width:auto;
- }
- }
- .view-btns {
- @extend %flexible-parent; //display:flex;
- //@include align-items(center);
- @include justify-content(center);
- @extend %growable; //flex-grow:1;
- @extend %align-self-flex-end; //@include align-self(flex-end);
- width:100%;
- text-align:center;
- > nav {
- display:flex;
- @include media($mobile) {
- flex-basis:100%;
- > a {
- flex-grow:1;
- }
- }
- }
- @include media($gtMobile) {
- width:auto;
- @include flex-grow(12);
- @include justify-content(flex-end);
- }
- a {
- margin-right:0;
- @extend %growable; //flex-grow(1);
- display:inline-block;
- cursor:pointer;
- position:relative;
- color:currentColor;
- }
- }
- .browse-select {
- width:88%;
- @extend %flexible-parent; //display:flex;
- @extend %align-items-center; //@include align-items(center);
- @extend %justify-content-center; //@include justify-content(center);
- @extend %flex-direction-column; //flex-direction:column;
- margin-bottom:1em;
- @include media($gtMobile) {
- margin-bottom:0;
- }
- @include media($gtMobile) {
- width:auto;
- margin-bottom:0;
- //@include flex-basis(14em);
- @include align-items(flex-start);
- @include justify-content(flex-start);
- @include flex-direction(row);
- padding-left:1em;
- }
- @include media($gtTabletP) {
- &.tablet-p-hidden {
- display:none;
- }
- }
-
- @include media($gtMobile) {
- padding-right:0.5em;
- margin-right:0;
- //margin-right:0.7em;
- //border-right:1px solid $borderColor;
- }
-
- > label {
- text-align:center;
- @include media($gtMobile) {
- text-align:inherit;
- }
- }
-
- form {
- //@include flex(4);
- //margin-top:0.2em;
- button.nued {
- background:$black;
- color:$white;
- .fa-chevron-right {
- color:currentColor;
- }
- }
- }
- .browsing {
- margin-right:0.5em;
- }
- select {
- margin:0;
- }
- .fa {
- color:lighten($black,40%);
- }
- }
- .browse-select, .upload-form {
- > label {
- font-size:0.72em;
- line-height:2em;
- margin:0 0.5em 0 0 !important;
- //@include flex(1);
- }
- }
- .upload-form {
- @extend %flexible-parent; //display:flex;
- margin-bottom:1em;
- /*html.no-touch & {
- @include media($mobile) {
- display:none; // #janky?
- }
- }
- html.no-touch .sidebar-open & {
- @include media($mobile) {
- display:none; // #janky?
- }
- }*/
- @include media($gtMobile) {
- @include left-seperated;
- margin-bottom:0;
- }
- //@extend %justify-content-center; //@include justify-content(center);
- @include flex-grow(4);
-
- .sidebar-open & {
- html.js & {
- @include media($gtTabletP) {
- position:absolute;
- top:-99999em;
- left:-99999em;
- }
- }
- }
- }
- > a {
- html.js & {
- @extend %clickable;
- }
- html.no-js & {
- color:lighten($black,40%);
- }
- }
- }
- > form {
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
-
- @extend %align-items-stretch; //@include align-items(stretch);
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-row; //@include flex-direction(row);
- @extend %justify-content-flex-end; //@include justify-content(flex-end);
- margin-top:0.5em;
- @include media($gtTabletP) {
- margin-top:0;
- }
- > input {
- font-size:inherit;
- padding:0.1em 0.2em;
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; //@include flex-basis(auto);
-
- max-width:32em;
- }
- }
-}
-
-.eureka__row-image {
- .view-d & {
- @extend %flexible-parent; //display:flex;
- @extend %flex-direction-column; //flex-direction:column;
- @extend %flex-unwrappable; //flex-wrap:nowrap;
- > .image {
- text-align:center;
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; // @include flex-basis(auto);
- img {
- margin:0 auto;
- }
- }
- > code {
- @extend %growable; //flex-grow:1;
- @extend %unshrinkable; //@include flex-shrink(0);
- @extend %flex-basis-auto; // @include flex-basis(auto);
- }
- }
- .pathname {
- //display:block;
- white-space:nowrap;
- .view-b &, .view-c & {
- display:block;
- text-align:right;
- }
- }
- input[type="radio"] {
- margin:1em 1em 0 0.5em;
- }
-}
diff --git a/_build/scss/no-flexbox.scss b/_build/scss/no-flexbox.scss
deleted file mode 100644
index c131b74..0000000
--- a/_build/scss/no-flexbox.scss
+++ /dev/null
@@ -1,75 +0,0 @@
-@import "bourbon/bourbon";
-@import "grid-settings";
-
-$border-box-sizing:false;
-@import "neat/neat";
-
-@import "spec/tacular";
-
-html.no-flexbox {
- .eureka-wrapper {
- background:teal;
- overflow-y:scroll;
- display:table;
- footer.proceed {
- display:table-row;
- button {
- display:table-cell;
- }
- }
- }
- .eureka {
- .eureka-table {
- table {
- display:table;
- }
- thead {
- display:initial;
- }
- tbody {
- display:initial;
- max-height:200px;
- }
- }
- display:table-row;
- width:100%;
- .pathbrowser {
- min-width:12em;
- footer nav {
- @extend %clearfix;
- button, form {
- width:44%;
- float:left;
- }
- form {
- float:right;
- }
- }
- }
- .pathbrowser, .stage {
- display:table-cell;
- }
- .droparea {
- display:none;
- }
- .view-btns {
- display:none;
- }
- }
-
- .eureka-table > table {
- width:100%;
- }
-
- .eureka-table > table > tbody > tr.contextual, .view-b .eureka-table > table > tbody > tr.contextual, .view-c .eureka-table > table > tbody > tr.contextual, .view-d .eureka-table > table > tbody > tr.contextual {
- position:relative;
- }
-
- .flexible_row {
- > a {
- width:20%;
- float:left;
- }
- }
-
-}
\ No newline at end of file
diff --git a/_build/scss/spec/_tacular.scss b/_build/scss/spec/_tacular.scss
deleted file mode 100644
index e572356..0000000
--- a/_build/scss/spec/_tacular.scss
+++ /dev/null
@@ -1,268 +0,0 @@
-$desktop: max-width 990px 12 !default;
-$cinema: max-width 1400px 12 !default;
-$iphoneP: max-width 480px 4 !default;
-$mobile: max-width 640px 4 !default;
-$tabletP: max-width 768px 12 !default;
-$tabletL: max-width 1024px 12 !default;
-
-$gtDesktop: min-width 991px 12 !default;
-$gtCinema: min-width 1401px 12 !default;
-$gtiphoneP: min-width 481px 4 !default;
-$gtMobile: min-width 641px 12 !default;
-$gtTabletP: min-width 769px 12 !default;
-$gtTabletL: min-width 1025px 12 !default;
-
-$tabletPH: max-height 768px 4 !default;
-$gtTabletPH: min-height 769px 4 !default;
-
-@mixin luminosity($brightness:normal) {
- @media screen and (luminosity:$brightness) {
- @content;
- }
-}
-
-@mixin luminosity-js($brightness:"normal") {
-
- @if $brightness == "dim" {
- body[data-luminosity="dim"] { /* luminosity-js */
- @content;
- }
- }
-}
-
-$topMost:99999 !default;
-$too-wide:em(1200) !default;
-
-%greedy {
- width:100%;
- @include media($too-wide) {
- width:auto;
- }
-}
-
-%very-greedy {
- width:100%;
-}
-
-%code {
- font-family: monospace, serif;
-}
-
-%clickable {
- cursor:pointer;
-}
-
-%lightcaps {
- text-transform:uppercase;
- font-size:0.86em;
- font-weight:inherit;
-}
-
-%smallcaps {
- @extend %lightcaps;
- font-weight:bold;
-}
-
-%unaligned {
- text-align:center;
-}
-
-%shrinkable {
- max-width:100%;
-}
-
-%contained {
- max-width:100%;
-}
-
-%vulnerable {
- margin:0;
-}
-
-@mixin dropzone($bg:rgb(230,230,230), $minHeight:6em, $borderRadius:1.4em, $border:0.2em dashed darken(rgb(230,230,230),12%)) {
- background:$bg;
- min-height:$minHeight;
- border-radius:$borderRadius;
- border:$border;
-}
-
-@mixin emphatic-link($fontSize:0.82em) {
- @extend %smallcaps;
- font-size:$fontSize;
-}
-
-@mixin tip($fontSize:0.678em) {
- @extend %clickable;
- @extend %smallcaps;
- font-size:$fontSize;
-}
-
-/*
-http://stackoverflow.com/a/17181946
-*/
-@mixin placeholder {
- @include optional-at-root('::-webkit-input-placeholder') {
- @content;
- }
-
- @include optional-at-root(':-moz-placeholder') {
- @content;
- }
-
- @include optional-at-root('::-moz-placeholder') {
- @content;
- }
-
- @include optional-at-root(':-ms-input-placeholder') {
- @content;
- }
-}
-
-/*
-http://www.phase2technology.com/blog/exploring-maps-in-sass-3-3/
-*/
-@mixin print-styles($map, $keys...){
- $i: 1;
- $length: length($keys);
- @while $length >= $i {
- $map: map-get($map, nth($keys, $i));
- $i: $i + 1;
- }
-
- @each $property, $value in $map {
- @if type-of($value) != map {
- #{$property}: $value;
- }
- }
-}
-
-@mixin scrollable($props:(
- maxHeight:8em,
- overflowY:auto,
- maxWidth:100%,
- overflowX:auto
-)) {
- $maxHeight:map-get($props,maxHeight);
- $overflowY:map-get($props,overflowY);
- $maxWidth:map-get($props,maxWidth);
- $overflowX:map-get($props,overflowX);
-
- @include media($gtMobile) {
- @if $maxHeight != null { max-height:$maxHeight; }
- @if $overflowY != null { overflow-y:$overflowY; }
-
- @if $maxWidth != null { max-width:maxWidth; }
- @if $overflowX != null { overflow-x:overflowX; }
- }
-}
-
-@mixin table-border-radius-fallback($borderRadius:0.5em) {
- @if $borderRadius != null {
- *border-collapse: collapse; /* IE7 and lower */
- border-collapse: separate !important;
- border-spacing: 0;
- border-radius:$borderRadius;
- }
-}
-
-@mixin pretty-table($props:(
- tablePadding:0 0.2em 0.2em 0.2em,
- gutter:1em,
- paddingTop:1em,
- paddingBottom:0.6em,
- border:1px solid darken(rgb(240,240,240),12%),
- borderRadius:0.5em,
- trOdd:null,
- trEven:(
- background:rgb(240,240,240),
- border-top:1px solid darken(rgb(240,240,240),12%),
- border-bottom:1px solid darken(rgb(240,240,240),12%)
- )
- )) {
-
- $tablePadding:map-get($props,tablePadding);
- $gutter:map-get($props,gutter);
- $paddingTop:map-get($props,paddingTop);
- $paddingBottom:map-get($props,paddingBottom);
- $border:map-get($props,border);
- $borderRadius:map-get($props,borderRadius);
- $trEven:map-get($props,trEven);
- $trOdd:map-get($props,trOdd);
-
- @if $tablePadding != null { padding:$tablePadding; }
- @if $border != null { border:$border; }
- @if $borderRadius != null { @include table-border-radius-fallback($borderRadius); }
- @if $paddingTop != null {
- thead > tr:first-of-type {
- th {
- padding-top:$paddingTop;
- }
- }
- }
- @if $paddingBottom != null {
- tbody > tr:last-of-type {
- td {
- padding-bottom:$paddingBottom;
- }
- }
- }
- @if $gutter != null {
- > thead tr, > tbody tr {
- > td, > th {
- &:first-of-type {
- padding-left:$gutter;
- padding-right:$gutter;
- }
- }
- }
- }
- @if type-of($trEven) == map {
- > tbody > tr:nth-child(even) {
- @include print-styles($trEven);
- }
- }
- @if type-of($trOdd) == map {
- > tbody > tr:nth-child(odd) {
- @include print-styles($trOdd);
- }
- }
-}
-
-%dropzone {
- @include dropzone();
-}
-
-%emphatic-link {
- @include emphatic-link();
-}
-
-%tip {
- @include tip();
-}
-
-%accessibly-hidden {
- position: absolute;
- height: 1px; width: 1px;
- overflow: hidden;
- top:0;
- clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
- clip: rect(1px, 1px, 1px, 1px);
-}
-
-// Clearfix: contain floats
-
-%clearfix {
- .lt-ie8 {
- *zoom: 1;
- }
- &:before,
- &:after {
- content: " ";
- /* 1 */
- display: table;
- /* 2 */
- }
- &:after {
- clear: both;
- }
-}
\ No newline at end of file
diff --git a/_build/ts/ajax.d.ts b/_build/ts/ajax.d.ts
deleted file mode 100644
index ac9855e..0000000
--- a/_build/ts/ajax.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-declare var AJAX:any;
\ No newline at end of file
diff --git a/_build/ts/ajax.ts b/_build/ts/ajax.ts
deleted file mode 100644
index caeb5c6..0000000
--- a/_build/ts/ajax.ts
+++ /dev/null
@@ -1,63 +0,0 @@
-/* http://stackoverflow.com/a/18078705/4671250 */
-class AJAX {
- private x:XMLHttpRequest;
-
- constructor() {
- this.x = new XMLHttpRequest();
- }
- //send(method:any, url:string, data:any, callback:any, sync:boolean = true, headers = []) {
- send(method:any, url:string, data:any, callback:any, sync:boolean = true, headers = []) {
- var that = this;
- this.x.open(method, url, sync);
- this.x.onreadystatechange = function() {
- if (that.x.readyState == 4) {
- callback(this.responseText);
- }
- };
- if (method == 'POST') {
- this.x.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
- }
-
- if (headers !== undefined && headers !== null && headers.length !== undefined && headers.length) {
- for(var i = 0; i < headers.length; i++) {
- var obj = headers[i];
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- this.x.setRequestHeader(key,obj[key]);
- }
- }
- }
- }
-
- this.x.send(data)
- }
- //get(url:string, data:any, callback:any, sync:boolean = true, headers = []) {
- get(url:string, data:any, callback:any, sync:boolean = true, headers = []) {
- var query = [];
- for (var key in data) {
- query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
- }
-
- this.send('GET', url + ((url.indexOf('?') > 0) ? '&' : '?') + query.join('&'), null, callback, sync, headers);
- }
- post(url:string, data:any, callback:any, sync:boolean = true) {
- var query = [];
- for (var key in data) {
- query.push(encodeURIComponent(key) + '=' + encodeURIComponent(data[key]));
- }
- // send(method:any, url:string, data:any, callback:any, sync:boolean = true, headers = []) {
- this.send('POST', url, query.join('&'), callback, sync, (data.headers !== undefined ? data.headers : null))
- }
- setHeaders(headers) {
- var that = this;
-
- for(var i = 0; i < headers.length; i++) {
- var obj = headers[i];
- for (var key in obj) {
- if (obj.hasOwnProperty(key)) {
- this.x.setRequestHeader(key,obj[key]);
- }
- }
- }
- }
-}
\ No newline at end of file
diff --git a/_build/ts/eureka.typescript.ts b/_build/ts/eureka.typescript.ts
deleted file mode 100644
index 7a3972a..0000000
--- a/_build/ts/eureka.typescript.ts
+++ /dev/null
@@ -1,2827 +0,0 @@
-///
-///
-///
-declare var html5Upload; // tell typescript compiler we can assume this will be set http://stackoverflow.com/a/26275242/4671250
-
-var _EUREKA = {
- src:(function(){
- var scripts = document.getElementsByTagName("script"),
- src = scripts[scripts.length-1].src;
- return src;
- })()
-};
-
-class Eureka {
- private _model:EurekaModel;
- private _view:EurekaView;
- private _controller:EurekaController;
-
- constructor(public opts:Object) {
- var that = this;
-
- this._model = new EurekaModel(opts); // give the model the data
- this._view = new EurekaView(); // keep the view stupid
- this._controller = new EurekaController({ // create a controller that controls the two
- model: this._model,
- view: this._view
- });
-
- // set references to the controller respectively
- this._model.setController(this._controller);
- this._view.setController(this._controller);
-
- this._view.init();
- this._view.paint();
- this._controller.init();
-
-
- this.fetch(true, false, true );
-
- this._view.getElement().addEventListener('EurekaFilesUploaded',function(e){
- that._model.setCurrentDirectory(that._model.getCurrentDirectory(),true,true,true); // trigger a repaint
- });
- }
- fetch(dispatch:boolean = true, setLocalStorage:boolean = true, dispatchIdenticalValues:boolean = true) {
- var _shouldFetchDirectory = (this._model.getCurrentMediaSource() !== undefined && this._model.getCurrentMediaSource() !== '') ? true : false; // this._model.getCurrentMediaSource() !== '/' &&
- _shouldFetchDirectory = true;
- if(this._model.getDebug()) console.log('fetch ', dispatch, setLocalStorage, dispatchIdenticalValues);
- if(this._model.getDebug()) console.log('_shouldFetchDirectory ' + _shouldFetchDirectory);
- //setCurrentMediaSource(currentMediaSource:string, dispatch:boolean = true, setLocalStorage:boolean = true, clearDirectory:boolean = true, dispatchIdenticalValues:boolean = false)
- this._model.setCurrentMediaSource(this._model.getCurrentMediaSource(), dispatch, setLocalStorage, false, dispatchIdenticalValues);
- if(_shouldFetchDirectory) {
- this._model.setCurrentDirectory(this._model.getCurrentDirectory(),dispatch,setLocalStorage,dispatchIdenticalValues);
- }
- }
- getElement() : HTMLElement {
- return this._view.getElement();
- }
-}
-
-interface IEurekaMediaSource {
- getID() : string;
- setID(id:string) : void;
-
- getTitle() : string;
- setTitle(title:string) : void;
-
- toString() : string;
-}
-
-class EurekaMediaSource implements IEurekaMediaSource {
- private _id:string = '';
- private _title:string = '';
-
- getID():string {
- return this._id;
- }
- setID(id:string) {
- this._id = id;
- }
-
- getTitle():string {
- return this._title;
- }
- setTitle(title:string) {
- this._title = title;
- }
-
- constructor(public opts:any) {
- if(opts.id !== undefined) this._id = opts.id;
- if(opts.title !== undefined) this._title = opts.title;
- }
-
- toString() {
- return this.getID();
- }
-}
-
-class EurekaModel {
- private _controller:EurekaController;
- private _uid:string = 'media-browser_0';
- private _storagePrefix:string = 'eureka_';
- private _sources:Array = [];
- private _navTreeHidden:boolean = false;
- private _useLocalStorage:boolean = true;
- private _mediaSource:string;
- private _currentDirectory:string = undefined;
- private _currentView:string = 'view-a';
- private _locale:string = 'en-US';
- private _selected:string = '';
- private _editable:boolean = true;
- private _headers:Array = [];
- private _debug:boolean = false;
- private _confirmBeforeDelete:boolean = true;
- private _fileUploadURL:string;
- private _displayFullTreePaths:boolean = false;
- private _allowRename:boolean = true;
- private _allowDelete:boolean = true;
- private _touch:boolean = false;
- private _prependOptGroupsWithRootOption:boolean = true;
- private _showDimensionsColumn:boolean = true;
- private _webWorkersPath:string = '';
-
- private _directoryRequestURL:string = '';
- private _directoryChildrenRequestURL:string = '';
- private _listSourceRequestURL:string = '';
- private _listSourcesRequestURL:string = '';
- private _useWebWorkers:boolean = false;
- private _sortMediaSources:boolean = false;
- private _fullscreenTarget:string = '.eureka-wrapper';
- private _mediaSourcesListInit:boolean = false;
- private _mediaSourceInit:boolean = false;
-
- public static get EurekaFoundIt():string { return "EurekaFoundIt"; }
- public static get EurekaFileRename():string { return "EurekaFileRename"; }
- public static get EurekaUnlink():string { return "EurekaUnlink"; }
- public static get EurekaDirectoryCreated():string { return "EurekaDirectoryCreated"; }
- public static get EurekaDirectoryOpened():string { return "EurekaDirectoryOpened"; }
- public static get EurekaDirectoryClosed():string { return "EurekaDirectoryClosed"; }
-
- public static get EurekaDirectoryChanged():string { return "EurekaDirectoryChanged"; }
- public static get EurekaMediaSourceInit():string { return "EurekaMediaSourceInit"; }
- public static get EurekaMediaSourceChange():string { return "EurekaMediaSourceChange"; }
- public static get EurekaMediaSourcesListInit():string { return "EurekaMediaSourcesListInit"; }
- public static get EurekaMediaSourcesListChange():string { return "EurekaMediaSourcesListChange"; }
- public static get EurekaViewChange():string { return "EurekaViewChange"; }
- public static get EurekaFilesUploaded():string { return "EurekaFilesUploaded"; }
- public static get EurekaCanceled():string { return "EurekaCanceled"; }
- public static get EurekaTreePainted():string { return "EurekaTreePainted"; }
-
- constructor(opts:any) {
- if(opts.uid !== undefined) this._uid = opts.uid;
- if(opts.storagePrefix !== undefined) this._storagePrefix = opts.storagePrefix;
- if(opts.locale !== undefined) this._locale = opts.locale;
- if(opts.mediaSource !== undefined) this._mediaSource = opts.mediaSource;
- if(opts.currentDirectory !== undefined) this._currentDirectory = opts.currentDirectory;
- if(opts.headers !== undefined) this._headers = opts.headers;
-
- if(opts.navTreeHidden !== undefined) this._navTreeHidden = opts.navTreeHidden;
- if(opts.useLocalStorage !== undefined) this._useLocalStorage = opts.useLocalStorage;
- if(opts.currentView !== undefined) this._currentView = opts.currentView;
- if(opts.selected !== undefined) this._selected = opts.selected;
- if(opts.displayFullTreePaths !== undefined) this._displayFullTreePaths = opts.displayFullTreePaths;
- if(opts.allowRename !== undefined) this._allowRename = opts.allowRename;
- if(opts.allowDelete !== undefined) this._allowDelete = opts.allowDelete;
-
- if(opts.directoryRequestURL !== undefined) this._directoryRequestURL = opts.directoryRequestURL;
- this._directoryChildrenRequestURL = (opts.directoryChildrenRequestURL !== undefined) ? opts.directoryChildrenRequestURL : this._directoryRequestURL;
- if(opts.listSourceRequestURL !== undefined) this._listSourceRequestURL = opts.listSourceRequestURL;
- if(opts.listSourcesRequestURL !== undefined) this._listSourcesRequestURL = opts.listSourcesRequestURL;
- if(opts.fileUploadURL !== undefined) this._fileUploadURL = opts.fileUploadURL;
- if(opts.showDimensionsColumn !== undefined) this._showDimensionsColumn = opts.showDimensionsColumn;
- if(opts.useWebWorkers !== undefined) this._useWebWorkers = ((window).Worker) ? opts.useWebWorkers : false;
- if(opts.sortMediaSources !== undefined) this._sortMediaSources = opts.sortMediaSources;
-
- if(opts.debug === true) this._debug = opts.debug;
- if(opts.confirmBeforeDelete !== undefined) this._confirmBeforeDelete = opts.confirmBeforeDelete;
- if(opts.touch === true) this._touch = true;
-
- this._webWorkersPath = (opts.webWorkersPath !== undefined) ? opts.webWorkersPath : _EUREKA.src.substring(0,_EUREKA.src.lastIndexOf('/')) + '/workers/';
-
- if(this._useLocalStorage) {
- if(this.getLocalStorage('currentMediaSource') && !opts.mediaSource) this._mediaSource = this.getLocalStorage('currentMediaSource');
- if(this.getLocalStorage('navTreeHidden') && !opts.navTreeHidden) this._navTreeHidden = (this.getLocalStorage('navTreeHidden') == 'true' ? true : false);
- if(this.getLocalStorage('currentDirectory') && !opts.currentDirectory) this._currentDirectory = this.getLocalStorage('currentDirectory');
- if(this.getLocalStorage('currentView') && !opts.currentView) this._currentView = this.getLocalStorage('currentView');
- }
- }
-
- getUseWebWorkers() {
- return this._useWebWorkers;
- }
-
- getwebWorkersPath() {
- return this._webWorkersPath;
- }
-
- getShowDimensionsColumn() {
- return this._showDimensionsColumn;
- }
-
- getLocalStorage(id:string) {
- id = this.getStoragePrefix() + id;
- if(localStorage.getItem(id) !== undefined && localStorage.getItem(id) !== 'undefined') return localStorage.getItem(id);
- return '';
- }
-
- setLocalStorage(id,value) {
- id = this.getStoragePrefix() + id;
- localStorage.setItem(id,value);
- }
-
- useLocalStorage() {
- return this._useLocalStorage;
- }
-
- getAlertBeforeDelete() {
- return this._confirmBeforeDelete;
- }
-
- getFileUploadURL() {
- return this._fileUploadURL;
- }
-
- setFileUploadURL(val) {
- this._fileUploadURL = val;
- }
-
- setAlertBeforeDelete(val) {
- this._confirmBeforeDelete = val;
- }
-
- getDebug() {
- return this._debug;
- }
-
- setDebug(debug) {
- this._debug = debug;
- }
-
- getHeaders() {
- return this._headers;
- }
-
- getUID(){
- return this._uid;
- }
-
- getStoragePrefix() {
- return this._storagePrefix;
- }
-
- getSources() {
- return this._sources;
- }
-
- getEditable() {
- return this._editable;
- }
-
- getDisplayFullTreePaths() {
- return this._displayFullTreePaths;
- }
-
- getAllowRename() {
- return this._allowRename;
- }
-
- getAllowDelete() {
- return this._allowDelete;
- }
-
- getHTML5UploadData() {
- return {
- s:this.getCurrentMediaSource(),
- dir:this.getCurrentDirectory()
- };
- }
-
- isTouch() {
- return this._touch;
- }
-
- getMediaSourceDTOByID(id) {
- if(this.getDebug()) console.log('getMediaSourceDTOByID: ' + id);
- var sources = this.getSources();
- for (var i = 0; i < sources.length; i++) {
- var source = sources[i];
- if (source.getID() == id) {
- return source;
- }
- }
- if(this.getDebug()) console.log('no media source found with id: ' + id);
- return null;
- }
- getController() {
- return this._controller;
- }
- setController(controller) {
- this._controller = controller;
- }
- getNavTreeHidden() {
- return this._navTreeHidden;
- }
- setNavTreeHidden(navTreeHidden) {
- this._navTreeHidden = navTreeHidden;
- if (this._useLocalStorage) this.setLocalStorage('navTreeHidden', navTreeHidden);
- }
- setCurrentMediaSource(currentMediaSource:string, dispatch:boolean = true, setLocalStorage:boolean = true, clearDirectory:boolean = true, dispatchIdenticalValues:boolean = false) {
- var that = this;
- if(this.getDebug()) console.log('setCurrentMediaSource', currentMediaSource, dispatch, setLocalStorage, clearDirectory, dispatchIdenticalValues);
- if(this._mediaSource === currentMediaSource && !dispatchIdenticalValues) return;
- this._mediaSource = currentMediaSource;
-
- if (setLocalStorage && currentMediaSource !== undefined) this.setLocalStorage('currentMediaSource', currentMediaSource);
- if (dispatch === false) return;
- var currentMediaSourceDTO = this.getMediaSourceDTOByID(this._mediaSource);
- if(currentMediaSourceDTO) {
- (function(){
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourceChange, true, true, {
- currentDirectory:that.getCurrentDirectory(),
- currentMediaSource:currentMediaSourceDTO,
- clearDirectory:clearDirectory,
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- })();
-
- if(!that._mediaSourceInit) {
- (function(){
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourceInit, true, true, {
- currentDirectory:that.getCurrentDirectory(),
- currentMediaSource:currentMediaSourceDTO
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- })();
- }
- this._mediaSourceInit = true;
- }
-
- }
- getCurrentMediaSource() {
- return this._mediaSource;
- }
- setCurrentDirectory(currentDirectory:string, dispatch:boolean = true, setLocalStorage:boolean = true, dispatchIdenticalValues:boolean = false) {
- if(this.getDebug()) console.log('setCurrentDirectory: ' + currentDirectory, dispatch, setLocalStorage, dispatchIdenticalValues);
- if(setLocalStorage === undefined) setLocalStorage = this.useLocalStorage();
- //if(currentDirectory === undefined || currentDirectory === 'undefined') currentDirectory = '/';
- if(this._currentDirectory === currentDirectory && !dispatchIdenticalValues) return;
- this._currentDirectory = currentDirectory;
- if (setLocalStorage && currentDirectory) this.setLocalStorage('currentDirectory', currentDirectory);
- if (dispatch === false) return;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaDirectoryChanged, true, true, {
- currentDirectory:currentDirectory,
- currentMediaSource:this.getMediaSourceDTOByID(this._mediaSource)
- });
- this.getController().getView().getElement().dispatchEvent(e);
- }
- getCurrentDirectory() {
- if(this.getDebug()) console.log('getCurrentDirectory: ' + this._currentDirectory);
- return this._currentDirectory || '/';
- }
- setCurrentView(currentView:string, dispatch:boolean = true) {
- if(this._currentView === currentView) return;
- this._currentView = currentView;
- if (this._useLocalStorage) this.setLocalStorage('currentView', currentView);
- if (dispatch === false) return;
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaViewChange, true, true, {
- currentView:currentView
- });
-
- this.getController().getView().getElement().dispatchEvent(e);
- }
- getCurrentView() {
- return this._currentView;
- }
- getFullScreenTarget() : string {
- return this._fullscreenTarget;
- }
- setLocale(locale) {
- this._locale = locale;
- }
- getLocale() {
- return this._locale;
- }
- getPrependOptGroupsWithRootOption() {
- return this._prependOptGroupsWithRootOption;
- }
- getsortMediaSources() {
- return this._sortMediaSources;
- }
- getMediaSourcesListInit() : boolean {
- return this._mediaSourcesListInit;
- }
- setSources(sources, dispatch = true) {
- var that = this;
- if(this.getDebug()) console.log('setSources' + dispatch);
- this._sources = sources;
- if (dispatch === false) return;
-
- (function(){
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourcesListChange, true, true, {
- sources:sources
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- })();
-
- (function(){
- if(!that.getMediaSourcesListInit()) {
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaMediaSourcesListInit, true, true, {
- sources:sources
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- }
- })();
- }
- sortResultsById(results) {
- var a = [];
- for(var i = 0; i < results.length; i++) {
- var result = results[i];
- a[parseInt(result.id)] = result;
- }
- return a.filter(function(n){ return n != undefined });
- }
- setMediaSourcesData(data:any, dispatch:boolean = true, setLocalStorage:boolean = true, clearDirectory:boolean = false, dispatchIdenticalValues:boolean = false) {
- var that = this;
- if(that.getDebug()) console.log('setMediaSourcesData data,dispatch,setLocalStorage,clearDirectory,dispatchIdenticalValues',data,dispatch,setLocalStorage,clearDirectory,dispatchIdenticalValues);
- var results = data.results;
- if(that.getsortMediaSources()) results = that.sortResultsById(results);
- var sources = [];
- var current = that.getCurrentMediaSource();
- var currentExists = false;
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var mediaSourceDTO = new EurekaMediaSource({
- id: result.id,
- title: result.name
- });
- sources.push(mediaSourceDTO);
- if(result.id == current) currentExists = true;
- }
- this.setSources(sources);
- //that.setCurrentMediaSource((!currentExists) ? results[0].id : current, dispatch, setLocalStorage, clearDirectory, dispatchIdenticalValues);
- //setCurrentMediaSource(currentMediaSource:string, dispatch:boolean = true, setLocalStorage:boolean = true, clearDirectory:boolean = true, dispatchIdenticalValues:boolean = false) {
- that.setCurrentMediaSource((!currentExists) ? results[0].id : current, true, true, false, true);
- }
- renameFile(fileName, newFilename) {
- // Create the event
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaFileRename', true, true, {
- fileName: fileName,
- newFilename: newFilename,
- cs: this.getController().getModel().getCurrentMediaSource(),
- cd: this.getController().getModel().getCurrentDirectory(),
- path: this.getController().getModel().getCurrentDirectory() + fileName,
- newPath: this.getController().getModel().getCurrentDirectory() + newFilename
- });
-
- this.getController().getView().getElement().dispatchEvent(e);
- }
- deleteFile(filename, tr) {
- var that = this;
-
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaUnlink', true, true, {
- filename: tr.getAttribute('data-filename'),
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.querySelector('.image img, .image .img').getAttribute('src'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- }
- setChoosenMediaItem(filename) {
- var that = this;
- var tr = getEurekaRowByFileName(filename); // #more reliable than tr.eureka__row.focused
- var img = tr.querySelector('.image img, .image .img');
-
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent('EurekaFoundIt', true, true, {
- filename: filename,
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.getAttribute('data-src'),
- thumb:tr.getAttribute('data-thumb'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- function getEurekaRowByFileName(filename:string) : HTMLElement {
- var trs = that.getController().getView().getElement().querySelectorAll('tr.eureka__row');
- for (var i = 0; i < trs.length; i++) {
- var tr = trs[i];
- if (tr.getAttribute('data-filename') == filename)
- return tr;
- }
- return null;
- }
- }
- getSelected() {
- return this._selected;
- }
- setSelected(filename) {
- this._selected = filename;
- }
- getXHRHeaders = function() {
- return this._headers;
- }
- getListDirectoryRequestURL() {
- return this._directoryRequestURL;
- }
- getListDirectoryChildrenRequestURL() {
- return this._directoryChildrenRequestURL;
- }
- setListDirectoryRequestURL(url:string) {
- this._directoryRequestURL = url;
- }
- getListSourceRequestURL() {
- return this._listSourceRequestURL;
- }
- setListSourceRequestURL(url:string) {
- this._listSourceRequestURL = url;
- }
- getListSourcesRequestURL() {
- return this._listSourcesRequestURL;
- }
- setListSourcesRequestURL(url:string) {
- this._listSourcesRequestURL = url;
- }
-
-} // end class EurekaModel
-
-class EurekaView {
- private _controller:EurekaController;
- private _html5Upload:Object;
- private _handleTreeNodeClicked:EventListener;
- private _handleTreeFolderClicked:EventListener;
-
- constructor() {}
-
- getController() {
- return this._controller;
- }
-
- setController(controller:EurekaController) {
- this._controller = controller;
- }
-
- getElement() {
- return (document.getElementById(this.getController().getModel().getUID()));
- }
- assignFooterProceedListeners(){
- var that = this;
- (that.getElement().parentNode).querySelector('footer.proceed button.cancel').addEventListener('click', function (e) {
- e.preventDefault();
-
- (function(){
- var e:any = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaCanceled, true, true, {});
-
- that.getElement().dispatchEvent(e);
- })();
- });
- (that.getElement().parentNode).querySelector('footer.proceed button.cta').addEventListener('click', function (e) {
- e.preventDefault();
- that.getController().getModel().setChoosenMediaItem(that.getController().getModel().getSelected());
- });
- }
- init(){
- var that = this;
-
- that._handleTreeNodeClicked = function(e) {
- if(that.getController().getModel().getDebug()) console.log('handleTreeNodeClicked');
- e.preventDefault();
- e.stopPropagation();
- that.handleTreePathClicked(this);
- };
-
- that._handleTreeFolderClicked = function(e) {
- e.preventDefault();
- e.stopPropagation();
- if(that.getController().getModel().getDebug()) console.log('handleTreeFolderClicked');
- var _icon = this.querySelector('.fa');
- var _closing = _icon.classList.contains('fa-folder-open');
- var li = that.getClosest(this, 'li');
- var dataCD = this.nextSibling.getAttribute('data-cd') || '/';
- if (_closing) {
- _icon.classList.remove('fa-folder-open');
- _icon.classList.remove('icon-folder-open');
- _icon.classList.add('fa-folder','icon-folder');
- li.classList.remove('open');
-
- if(this.getAttribute('data-open-msg')) this.querySelector('.audible').innerHTML = this.getAttribute('data-open-msg');
- }
- else {
- _icon.classList.remove('fa-folder');
- _icon.classList.remove('icon-folder');
- _icon.classList.add('fa-folder-open');
- _icon.classList.add('icon-folder-open');
- li.classList.add('open');
- if(this.getAttribute('data-close-msg')) this.querySelector('.audible').innerHTML = this.getAttribute('data-close-msg');
- }
-
- (function(){
- var e:any = document.createEvent('CustomEvent');
- e.initCustomEvent((_closing) ? EurekaModel.EurekaDirectoryClosed : EurekaModel.EurekaDirectoryOpened, true, true, {
- cd:that.getController().getModel().getCurrentDirectory(),
- s:that.getController().getModel().getCurrentMediaSource(),
- path:dataCD
- });
-
- that.getElement().dispatchEvent(e);
- })();
- };
-
- function assignShortcutListeners() {
- document.addEventListener('keydown', function(event) {
- if(that.getController().getModel().getDebug()) console.log(event);
- if (event.ctrlKey && event.which === 186) { // ctrl ; to toggle sidebar
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').dispatchEvent(e);
- }
- if (event.altKey && event.ctrlKey && (event.which >= 48 && event.which <= 57)) {
- try {
- var btns = that.getElement().querySelectorAll('.view-btns > nav > a');
- var btn:HTMLElement = (btns[event.which-48-1]);
- if(btn) {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- btn.dispatchEvent(e);
- }
- } catch(e) {}
- }
- if (event.altKey && !event.ctrlKey && (event.which >= 49 && event.which <= 57)) { // alt 1-9
- function setSelectOptGroup(select:HTMLSelectElement,group) {
- function getOptGroup() : Element {
- var optgroups = select.querySelectorAll('optgroup');
- for(var i = 0; i < optgroups.length; i++) {
- var optgroup:Element = (optgroups[i]);
- if(optgroup.getAttribute('data-source') == group) return optgroup;
- }
- return null;
- }
- var optGroup:Element = getOptGroup();
- if(optGroup) {
- select.value = (optGroup.querySelector('option')).value;
- }
- }
- function setSelectOption(select,value) {
- try {
- var options = select.querySelectorAll('option');
- var option:HTMLOptionElement = options[value];
- if(option) {
- select.value = option.getAttribute('value');
- }
- } catch(e) {}
-
- /*function hasOption(val) {
- var options = select.querySelectorAll('option');
- for(var i = 0; i < options.length; i++) {
- if((((options[i])).value) == val) return true;
- }
- return false;
- }
- if(hasOption((event.which - 49).toString())) {
- select.value = value;
- }*/
- }
- var msSelect = (document.getElementById(that.getController().getModel().getUID() + '__mediasource-select'));
- setSelectOption(
- msSelect,
- (event.which - 49).toString()
- );
- setSelectOptGroup(
- (document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select')),
- (event.which - 49).toString()
- );
- that.getController().getModel().setCurrentMediaSource(msSelect.value, true, true, true, false);
- }
-
- if(event.which === 8 && document.activeElement) { // delete to delete
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- try {
- (document.activeElement.nextSibling).querySelector('a.trash').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.altKey && event.which === 32 && document.activeElement) { // space to expand
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- (document.activeElement.nextSibling).querySelector('a.expand').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.which === 13 && document.activeElement) { // enter to choose
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- (document.activeElement.nextSibling).querySelector('a.choose').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.ctrlKey && event.which === 82) { // ctrl r to rename
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- (document.activeElement.nextSibling).querySelector('a.rename').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.ctrlKey && event.which === 78) { // ctrl n to create directory
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- (that.getElement()).querySelector('.create-new').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.ctrlKey && event.which === 85) { // ctrl n to create directory
- try {
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- document.getElementById(that.getController().getModel().getUID() + '__upload-input').dispatchEvent(e);
- } catch(e) {}
- }
-
- if(event.ctrlKey && event.which === 70) { // ctrl f to filter
- try {
- document.getElementById(that.getController().getModel().getUID() + '__filter-images').focus();
- } catch(e) {}
- }
- });
- }
- function showSidebar() {
- var tog = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle');
- var el = document.getElementById(tog.getAttribute('data-toggle-target'));
- el.classList.remove('hidden');
- document.getElementById(that.getController().getModel().getUID()).classList.add('sidebar-open');
- //document.querySelectorAll('#media-browser_0 .browse-select')[0].classList.add('tablet-p-hidden');
- (that.getElement().querySelector('.browse-select')).classList.add('tablet-p-hidden');
- that.getController().getModel().setNavTreeHidden(false);
- var toggle = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').getElementsByTagName("i")[0];
- toggle.classList.remove('fa-toggle-right');
- toggle.classList.remove('icon-toggle-right');
- toggle.classList.add('fa-toggle-left');
- toggle.classList.add('icon-toggle-left');
- tog.title = tog.getAttribute('data-title-close');
- }
- function hideSidebar() {
- var tog = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle');
- var el = document.getElementById(tog.getAttribute('data-toggle-target'));
-
- el.classList.add('hidden');
- document.getElementById(that.getController().getModel().getUID()).classList.remove('sidebar-open');
- //document.querySelectorAll('#media-browser_0 .browse-select')[0].classList.remove('tablet-p-hidden');
- (that.getElement().querySelector('.browse-select')).classList.remove('tablet-p-hidden');
- that.getController().getModel().setNavTreeHidden(true);
- var toggle = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').getElementsByTagName("i")[0];
- toggle.classList.add('fa-toggle-right');
- toggle.classList.add('icon-toggle-right');
- toggle.classList.remove('fa-toggle-left');
- toggle.classList.remove('icon-toggle-left');
- tog.title = tog.getAttribute('data-title-open');
- }
-
- document.getElementById(that.getController().getModel().getUID() + '__pathbrowser_toggle').addEventListener('click', function (e) {
- var el = document.getElementById(this.getAttribute('data-toggle-target'));
- e.preventDefault();
- if (el.classList.contains('hidden')) {
- showSidebar();
- }
- else {
- hideSidebar();
- }
- });
- this.assignViewButtonListeners();
- this.assignFooterProceedListeners();
- this.assignBrowsingSelectOptGroupListeners();
-
- this.assignSelectListeners();
- this.assignSortBtnListeners();
- this.assignFilterListeners();
- this.assignCreateNewDirectoryListener();
- this.assignUploadListeners();
-
- assignShortcutListeners();
-
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
- that.getElement().querySelector('.eureka__topbar-nav .view-btns a[data-view="' + that.getController().getModel().getCurrentView() + '"]').dispatchEvent(e);
-
- if (this.getController().getModel().getNavTreeHidden() === true) {
- hideSidebar();
- }
-
- // if a droptarget exists and a modern mouse enabled browser is being used
- var dropContainer = document.getElementById(that.getController().getModel().getUID()).querySelector('.dropzone') || null;
- if (html5Upload !== undefined && !(that.getController().getModel().isTouch()) && html5Upload.fileApiSupported() && dropContainer) {
- that._html5Upload = html5Upload.initialize({
- // URL that handles uploaded files
- uploadUrl: that.getController().getModel().getFileUploadURL(),
-
- // HTML element on which files should be dropped (optional)
- dropContainer: dropContainer,
-
- // HTML file input element that allows to select files (optional)
- inputField: document.getElementById(that.getController().getModel().getUID() + '__upload-input'),
-
- // Key for the file data (optional, default: 'file')
- key: 'File',
-
- data:that.getController().getModel().getHTML5UploadData(),
-
- // Additional data submitted with file (optional)
- //data: that.getController().getModel().getHeaders(), // NOTE: could also send additional data here
-
- // Maximum number of simultaneous uploads
- // Other uploads will be added to uploads queue (optional)
- maxSimultaneousUploads: 4,
-
- // Callback for each dropped or selected file
- // It receives one argument, add callbacks
- // by passing events map object: file.on({ ... })
-
- onFileAdded: function (file) {
- function removeMessages() {
- var rs = dropContainer.querySelector('.progress').querySelectorAll('h2,p');
- for(var i = 0; i < rs.length; i++) {
- (rs[i]).remove();
- }
- }
- removeMessages();
- // make a really unique identifer
- var id = file.fileName.replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '') + file.fileSize.toString().replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '');
-
- var bar = document.createElement('div');
- bar.classList.add('bar');
-
- bar.setAttribute('id',id);
- bar.title = file.fileName + ' is preparing for upload.';
-
- var pill = document.createElement('div');
- pill.setAttribute('style','right:100%');
-
- bar.appendChild(pill);
-
- var dropzone:HTMLElement = document.getElementById(that.getController().getModel().getUID()).querySelector('.dropzone');
- dropzone.classList.remove('complete');
- dropzone.classList.remove('error');
- dropzone.classList.add('uploading');
-
- dropzone.querySelector('.progress').appendChild(bar);
-
- file.on({
- // Called after received response from the server
- onCompleted: function (response) {
- function isJSON(data) {
- try {
- JSON.parse(data);
- return true;
- } catch(e) {}
- return false;
- }
- if(!isJSON(response)) {
- dropzone.classList.add('error');
- }
- bar.setAttribute('title', file.fileName + ' has uploaded');
-
- if(dropzone.querySelectorAll('.bar').length >= 2)(bar).remove();
- if(dropzone.querySelectorAll('.bar').length < 2) { // everything is up
- setTimeout(function(){
- (dropzone.querySelector('.progress')).innerHTML = '';
- dropzone.classList.remove('uploading');
- dropzone.classList.add('complete');
-
- (function(){ // wait a bit, then show the complete message
- var div = dropzone.querySelector('.progress');
- var h2 = document.createElement('h2');
- var icon = document.createElement('i');
- icon.setAttribute('class','fa fa-check-circle-o icon icon-check-circle-o');
- h2.appendChild(icon);
- div.appendChild(h2);
-
- var span = document.createElement('span');
- span.setAttribute('title','files here...');
- span.innerHTML = 'Your files';
-
- var p = document.createElement('p');
- p.appendChild(span);
- p.innerHTML += ' have been successfully uploaded.';
- div.appendChild(p);
-
- if(dropzone.classList.contains('error')) {
- icon.setAttribute('class','fa fa-times-circle icon icon-times-circle');
- p.innerHTML = 'Oh no, One or more files were not uploaded.';
- }
-
- var e:any = document.createEvent('CustomEvent');
- //that.getElement().dispatchEvent(e);
- e.initCustomEvent(EurekaModel.EurekaFilesUploaded, true, true, {
- });
- that.getElement().dispatchEvent(e);
-
- (document.getElementById(that.getController().getModel().getUID() + '__upload-form')).reset();
- })();
- }, 640);
- }
-
- },
-
- // Called during upload progress, first parameter
- // is decimal value from 0 to 100.
- onProgress: function (progress, fileSize, uploadedBytes) {
- progress = Math.ceil(progress);
- bar.setAttribute('title', file.fileName + ' is ' + progress + '% uploaded');
- pill.setAttribute('style','right:' + (100-progress).toString() + '%');
- }
- });
- }
- });
- } else {
- if(dropContainer) (dropContainer).remove(); // remove the drop container because we can't use it
- }
-
- if(that.getController().getModel().getFileUploadURL() === undefined || that.getController().getModel().getFileUploadURL() == '') {
- try {
- (that.getElement().querySelector('.pathbrowser footer form')).remove();
- } catch(e) {}
-
- try {
- (that.getElement().querySelector('.upload-form')).remove();
- } catch(e) {}
-
- try {
- (that.getElement().querySelector('.upload-perhaps')).remove();
- } catch(e) {}
- }
-
- if(that.getController().getModel().getCurrentMediaSource() !== undefined && that.getController().getModel().getCurrentMediaSource() !== '/' && that.getController().getModel().getCurrentMediaSource() !== '') {
- that.recursivelyOpenTreeToCurrentDirectory();
- }
-
- that.getElement().addEventListener(EurekaModel.EurekaDirectoryChanged, function (e:any) {
- if(that.getController().getModel().getDebug()) console.log(EurekaModel.EurekaDirectoryChanged);
- var currentDirectory = e.detail.currentDirectory;
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
- var split = currentDirectory.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- var levelup:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser')).querySelector('.level-up');
- if(split.length >= 1) levelup.classList.remove('hidden');
- else levelup.classList.add('hidden');
-
- (function(){
- try {
- var el:HTMLElement = (that.getElement().querySelector('.pathbrowser .create-new'));
- el.setAttribute('title','Create a new directory in ' + that.sanitizeDisplayPath(currentDirectory));
- (el.querySelector('.audible')).innerHTML = el.getAttribute('title');
- } catch(e) {}
- })();
- (function(){
- try {
- var el:HTMLElement = (that.getElement().querySelector('.pathbrowser .upload-files'));
- el.setAttribute('title','Upload media to ' + that.sanitizeDisplayPath(currentDirectory));
- (el.querySelector('.audible')).innerHTML = el.getAttribute('title');
- } catch(e) {}
- })();
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- try {
- ((that._html5Upload)).data = that.getController().getModel().getHTML5UploadData();
- } catch(e) {}
- try {
- (that.getElement().querySelector('.oh-no code')).innerHTML = currentDirectory;
- } catch(e) {}
- });
- that.getElement().addEventListener(EurekaModel.EurekaMediaSourceChange, function(e:any){
- var mediaSourceTitle:HTMLElement = (that.getElement().querySelector('.eureka__topbar-nav .mediasource-title'));
-
- if(e.detail.currentMediaSource) {
- var prepend = mediaSourceTitle.getAttribute('data-prepend') || '';
- mediaSourceTitle.innerHTML = prepend + e.detail.currentMediaSource.getTitle();
- }
-
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- try {
- ((that._html5Upload)).data = that.getController().getModel().getHTML5UploadData();
- } catch(e) {}
- });
-
- if(!that.getController().getModel().getShowDimensionsColumn()) {
- try {
- (that.getElement().querySelector('.eureka-table th.dimensions')).remove();
- } catch(e) {}
- }
- }
-
- setMediaSourceSelectValue() {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('setMediaSourceSelectValue');
-
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
-
- var select:HTMLSelectElement = (document.getElementById(that.getController().getModel().getUID() + '__mediasource-select'));
-
- if(select.value !== currentMediaSource) {
- select.value = currentMediaSource;
- }
- }
-
- setBrowseSelectValue() {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('setBrowseSelectValue');
-
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var currentMediaSource = that.getController().getModel().getCurrentMediaSource();
-
- var select:HTMLSelectElement = (document.getElementById(that.getController().getModel().getUID() + '__browsing')).querySelector('select');
- var optgroups = select.querySelectorAll('optgroup');
- var optgroup = getOptGroup(optgroups);
- if(optgroup) {
- var opt:HTMLElement = searchForValue(optgroup);
- if(opt && select.value !== opt.getAttribute('value')) {
- select.value = opt.getAttribute('value');
- }
- }
-
- function getOptGroup(optgroups) : HTMLElement {
- for(var i = 0; i < optgroups.length; i++) {
- var optgroup = optgroups[i];
- if((optgroup).getAttribute('data-source') == currentMediaSource) {
- return optgroup;
- }
- }
- return null;
- }
- function searchForValue(optgroup) : HTMLElement {
- function splitFilter(path) {
- if(!path) return '';
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- return split;
- }
- var opts = optgroup.querySelectorAll('option');
- for(var i = 0; i < opts.length; i++) {
- var opt:HTMLElement = (opts[i]);
- var path = (opt).getAttribute('data-cd');
- if(splitFilter(path).toString() == splitFilter(currentDirectory).toString()) {
- return opt;
- }
- }
- }
- }
-
- recursivelyOpenTreeToCurrentDirectory() {
- var that = this;
-
- var pathbrowser = document.getElementById(that.getController().getModel().getUID() + '__pathbrowser');
- var paths = pathbrowser.querySelectorAll('a.path');
- if(that.getController().getModel().getDebug()) console.log('recursivelyOpenTreeToCurrentDirectory', paths);
- for(var i = 0; i < paths.length; i++) {
- var path:HTMLElement = paths[i];
- if(that.getController().getModel().getDebug()) console.log(path.getAttribute('data-cd').split('/').filter(Boolean).toString(), that.getController().getModel().getCurrentDirectory().split('/').filter(Boolean).toString());
- if(path.getAttribute('data-cd').split('/').filter(Boolean).toString() == that.getController().getModel().getCurrentDirectory().split('/').filter(Boolean).toString()) {
- (function(){
- (path.parentNode).classList.add('active');
- (path.parentNode).classList.add('open');
- var parents = getParents(path,'ul');
- function openFolder(folder:HTMLElement) {
- folder.classList.remove('fa-folder');
- folder.classList.remove('icon-folder');
- folder.classList.add('fa-folder-open');
- folder.classList.add('icon-folder-open');
- try {
- (folder.querySelector('.audible')).innerHTML = folder.getAttribute('data-close-msg');
- } catch(e) {}
- }
- if(parents.length > 1) {
- for(var i = 0; i < parents.length; i++) {
- var li:HTMLElement = (parents[i].parentNode);
- li.classList.add('open');
- openFolder((li.querySelector('.folder > i')));
- }
- }
- })();
- }
- }
- }
-
- assignUploadListeners() {
- var that = this;
- var upload_files = that.getElement().querySelector('.pathbrowser .upload-files');
- if(upload_files) {
- upload_files.addEventListener('click',function(e){
- e.preventDefault();
- e.stopPropagation();
-
- (function(){
- //var e = document.createEvent('Event');
- //e.initEvent('click', true, true);
- var e = new MouseEvent('click', {
- 'view': window,
- 'bubbles': true,
- 'cancelable': true
- });
- document.getElementById(that.getController().getModel().getUID() + '__upload-input').dispatchEvent(e);
- })();
- });
- }
- var upload_perhaps = that.getElement().querySelector('.upload-perhaps a');
- if(upload_perhaps) {
- upload_perhaps.addEventListener('click',function(e){
- e.preventDefault();
-
- var e = document.createEvent('Event');
- e.initEvent('click', true, true);
-
- try {
- (upload_files).dispatchEvent(e);
- } catch(e) {}
- });
- }
- }
-
- assignBrowsingSelectOptGroupListeners(){
- var that = this;
-
- if(that.getController().getModel().getDebug())console.log('assignBrowsingSelectOptGroupListeners');
- var select = document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select');
- select.addEventListener('change', function (e) {
- var option = that.getSelectedOption(this);
- var optgroup = that.getClosest(option, 'optgroup');
- var source = optgroup.getAttribute('data-source');
- that.getController().getModel().setCurrentMediaSource(source);
- that.getController().getModel().setCurrentDirectory(option.getAttribute('data-cd'), true, that.getController().getModel().useLocalStorage());
- // fetch current media source's directories
- var ajax = new AJAX();
- ajax.get(
- that.getController().getModel().getListSourceRequestURL(),
- { s: that.getController().getModel().getCurrentMediaSource() },
- function (data) {
- },
- true,
- that.getController().getModel().getXHRHeaders()
- );
- });
- }
- assignCreateNewDirectoryListener() {
- var that = this;
-
- try {
- that.getElement().querySelector('.create-new').addEventListener('click',function(e){
- var li = document.createElement('li');
- var folder = document.createElement('a');
- folder.classList.add('folder');
- folder.innerHTML = ' ';
-
- var path = document.createElement('a');
- path.classList.add('path');
- path.setAttribute('title','Browse this directory');
- path.setAttribute('data-cd','');
- path.setAttribute('contenteditable','true');
- path.innerHTML = 'new folder';
-
- li.appendChild(folder);
- li.appendChild(path);
-
- li.appendChild(document.createElement('ul'));
-
- setTimeout(function(){
- path.focus();
- try {
- (path).select();
- } catch(e) {}
- },240);
-
- var ul:HTMLElement = (that.getElement().querySelector('.pathbrowser .tree li.active > ul') || that.getElement().querySelector('.pathbrowser .tree > ul'));
- ul.classList.add('open');
- ((ul.parentNode)).classList.add('open');
- try {
- (((ul.previousSibling).previousSibling)).querySelector('.fa').setAttribute('class','fa icon fa-folder-open icon-folder-open');
- } catch(e) {}
-
- path.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleKeyDown, false);
- }, false);
- path.addEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleKeyDown, false);
- }, false);
-
- function handleKeyDown(e) {
- //var code = getCodeToFocus(this);
- //var tr = that.getClosest(this, '.contextual').previousSibling;
- if (e.keyCode === 13) {
- e.preventDefault();
- e.stopPropagation();
- this.blur();
- this.setAttribute('contenteditable','false');
- (that.getElement().querySelector('button.create-new')).focus();
-
- var foldername = this.innerHTML;
-
- var e:any = document.createEvent('CustomEvent');
- //that.getElement().dispatchEvent(e);
- e.initCustomEvent('EurekaDirectoryCreated', true, true, {
- newdirectory: foldername,
- cd:that.getController().getModel().getCurrentDirectory(),
- s:that.getController().getModel().getCurrentMediaSource(),
- path:that.getController().getModel().getCurrentDirectory()+foldername
- });
- that.getElement().dispatchEvent(e);
- }
- }
-
- ul.appendChild(li);
- });
- } catch(e) {}
- }
- assignViewButtonListeners(){
- var that = this;
- var model = this.getController().getModel();
- function setCurrent(el) {
- var anchors = document.querySelectorAll(".eureka__topbar-nav .view-btns a[data-view]:not(.view-f-btn)");
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- (anchor).classList.remove('current');
- }
- el.classList.add('current');
- }
- var anchors = document.querySelectorAll(".eureka__topbar-nav .view-btns a[data-view]:not(.view-f-btn)");
- for (var i = 0; i < anchors.length; i++) {
- var current = anchors[i];
- current.addEventListener('click', function (e) {
- e.preventDefault();
- var that = this;
- var _v = this.getAttribute('data-view');
- var classes = ['view-a', 'view-b', 'view-c', 'view-d','view-e'];
- for (var _i = 0; _i < classes.length; _i++) {
- var c = classes[_i];
- document.getElementById(that.getAttribute('data-view-target')).classList.remove(c);
- }
- document.getElementById(that.getAttribute('data-view-target')).classList.add(_v);
- setCurrent(that);
- model.setCurrentView(_v);
- }, true);
- }
- var fullscreenBtn = document.querySelector(".eureka__topbar-nav .view-btns .view-f-btn");
-
- if(fullscreenBtn) fullscreenBtn.addEventListener('click', function(e){
- e.preventDefault();
-
- if (that.isFullScreen()) {
- that.runPrefixMethod(document, "CancelFullScreen");
- fullscreenBtn.querySelector('i').classList.remove('fa-compress');
- fullscreenBtn.querySelector('i').classList.remove('icon-compress');
- }
- else {
- //setCurrent(this);
- that.requestFullScreen();
- fullscreenBtn.querySelector('i').classList.add('fa-compress');
- fullscreenBtn.querySelector('i').classList.add('icon-compress');
- }
- });
- }
- isFullScreen() {
- return this.runPrefixMethod(document, "FullScreen") || this.runPrefixMethod(document, "IsFullScreen");
- }
- requestFullScreen() {
- this.runPrefixMethod(document.querySelector(this.getController().getModel().getFullScreenTarget()), "RequestFullScreen");
- }
- runPrefixMethod(obj, method) {
- var pfx = ["webkit", "moz", "ms", "o", ""];
- var p = 0, m, t;
- while (p < pfx.length && !obj[m]) {
- m = method;
- if (pfx[p] == "") {
- m = m.substr(0,1).toLowerCase() + m.substr(1);
- }
- m = pfx[p] + m;
- t = typeof obj[m];
- if (t != "undefined") {
- pfx = [pfx[p]];
- return (t == "function" ? obj[m]() : obj[m]);
- }
- p++;
- }
- }
- assignARIAKeyListeners(){
- var that = this;
- // ARIA focus support for non-contextual rows
- (function () {
- function setFocused(el) {
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var current = (rows[i]);
- if (el !== current && current.classList.contains("focused"))
- current.classList.remove('focused');
- }
- el.classList.add('focused');
- var _cta = (that.getProceedFooter().querySelector('button.cta'));
- _cta.removeAttribute('disabled');
- _cta.classList.remove('muted');
-
- _cta.classList.add('go');
- that.getController().getModel().setSelected(el.getAttribute('data-filename'));
- }
- function handleBlur(el) {
- var contextual = document.getElementById('eureka_contextual__' + el.getAttribute('data-safe-filename'));
- contextual.focus();
- //that.getProceedFooter().querySelector('button.cta').classList.add('muted');
- var _cta = (that.getProceedFooter().querySelector('button.cta'));
- _cta.classList.remove('go');
-
- //_cta.setAttribute('disabled','disabled');
- _cta.classList.add('muted');
- }
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var current = rows[i];
- current.addEventListener('click', function (e) {
- e.preventDefault();
- //var _as = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- setFocused(this);
- }, false);
- current.addEventListener('focus', function (e) {
- e.preventDefault();
- //var _as = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- setFocused(this);
- }, false);
- current.addEventListener('blur', function (e) {
- handleBlur(this);
- }, false);
- }
- }());
- }
- assignSortBtnListeners(){
- var that = this;
-
- var sortBtns = that.getElement().querySelectorAll('.eureka-table th .fa-sort');
- for (var i = 0; i < sortBtns.length; i++) {
- var sortBtn = sortBtns[i];
- function handleSortBtnClicked(e) {
- e.preventDefault();
- e.stopPropagation();
- // toggle between 0 and 1
- this.setAttribute('data-sort-asc', Math.abs(parseInt(this.getAttribute('data-sort-asc')) - 1).toString());
- var sortby = this.getAttribute('data-sortby');
- var sortASC = (this.getAttribute('data-sort-asc') == "1") ? true : false;
- var rows = [];
- var rs = document.querySelectorAll('.eureka-table tbody > tr:not(.contextual)');
- for (var i = 0; i < rs.length; i++) {
- rows.push(rs[i]);
- }
- switch (sortby) {
- case 'dimensions':
- rows.sort(function (a, b) {
- return (parseInt(a.getAttribute('data-dimensions-w')) * parseInt(a.getAttribute('data-dimensions-h'))) - (parseInt(b.getAttribute('data-dimensions-w')) * parseInt(b.getAttribute('data-dimensions-h')));
- });
- break;
- case 'filesize':
- rows.sort(function (a, b) {
- return parseInt(a.getAttribute('data-filesize-bytes')) - parseInt(b.getAttribute('data-filesize-bytes'));
- });
- break;
- case 'editedon':
- rows.sort(function (a, b) {
- return parseInt(a.getAttribute('data-timestamp')) - parseInt(b.getAttribute('data-timestamp'));
- });
- break;
- default:
- rows.sort(function (a, b) {
- if (a.getAttribute('data-filename') > b.getAttribute('data-filename'))
- return 1;
- if (a.getAttribute('data-filename') < b.getAttribute('data-filename'))
- return -1;
- return 0;
- });
- break;
- }
- if (!sortASC) {
- rows.reverse();
- }
- var s = '';
- for (var _i = 0; _i < rows.length; _i++) {
- var row = rows[_i];
- s += row.outerHTML;
- }
- (that.getElement().querySelector('.eureka-table tbody')).innerHTML = s;
- }
-
- sortBtn.removeEventListener('click', handleSortBtnClicked, true); // assignSortBtnListeners should only be called once but this is another layer of protection
- sortBtn.addEventListener('click', handleSortBtnClicked, true);
- }
- }
- assignFilterListeners(){
- var that = this;
- function unFilterView() {
- var rows = document.querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var row = (rows[i]);
- row.classList.remove('hidden');
- }
- (document.getElementById(that.getController().getModel().getUID()).querySelector('.eureka-table > table > tbody')).classList.remove('filtered');
- }
- function filterView(value) {
- var rows = that.getElement().querySelectorAll(".eureka-table tbody > tr:not(.contextual)");
- for (var i = 0; i < rows.length; i++) {
- var row = (rows[i]);
- var show = false;
- var tokens = [row.getAttribute('data-filename')];
- if (row.getAttribute('data-tokens')) tokens = tokens.concat(row.getAttribute('data-tokens').split('||'));
-
- (function(){
- for (var _i = 0; _i < tokens.length; _i++) {
- var token = tokens[_i];
- if (value.length && (token == value || token.indexOf(value) > -1)) {
- show = true;
- break;
- }
- }
- })();
-
- if (!show) {
- row.classList.add('hidden');
- row.classList.remove('visible');
- }
- else {
- row.classList.add('visible');
- row.classList.remove('hidden');
- }
- (document.getElementById(that.getController().getModel().getUID()).querySelector('.eureka-table > table > tbody')).classList.add('filtered');
- }
- }
- var input = document.getElementById(that.getController().getModel().getUID() + '__filter-images');
- input.addEventListener("input", function (e) {
- if (this.value) {
- filterView(this.value);
- }
- else {
- unFilterView();
- }
- }, false);
- }
- sanitizeDisplayPath(path) : string {
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- return split.join('/');
- }
- getProceedFooter(){
- return ((this.getElement().parentNode).querySelector('footer.proceed'));
- }
- handleTreePathClicked(el) {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('handleTreePathClicked: ' + (el.getAttribute('data-cd') || '/'));
- that.getController().getModel().setCurrentDirectory((el.getAttribute('data-cd') || '/'), true,undefined);
- function deactivatePaths() {
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path:HTMLElement = (paths[i]);
- var li:HTMLElement = (that.getClosest(path, 'li'));
- li.classList.remove('active');
- }
- }
- /*var source = that.getController().getModel().getCurrentMediaSource();
- var ajax = new AJAX();
- ajax.get(
- that.getController().getModel().getListDirectoryRequestURL(),
- { s: source, dir: el.getAttribute('data-cd') || '/' },
- function (data) {
- data = JSON.parse(data);
- if(that.getController().getModel().getDebug()) console.log(data);
- that.paintJSON(data);
- },
- true,
- that.getController().getModel().getXHRHeaders()
- );*/
-
- /*
- ajax.get(that.getController().getModel().getListDirectoryRequestURL(), { s: source, dir: el.getAttribute('data-cd') }, function (data) {
- that.paintJSON(data);
- });
- */
- var li = that.getClosest(el, 'li');
- deactivatePaths();
- li.classList.add('active');
- }
- assignTreeListeners(){
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('assignTreeListeners');
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path = paths[i];
- path.addEventListener('click', that._handleTreeNodeClicked, false);
- }
- this.assignTreeFolderListeners();
- }
- assignTreeFolderListeners(){
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('assignTreeFolderListeners');
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- var folders = pathBrowser.querySelectorAll("nav.tree a.folder");
- for (var i = 0; i < folders.length; i++) {
- var folder = folders[i];
- folder.addEventListener('click', that._handleTreeFolderClicked, false);
- }
- }
- assignSelectListeners(){
- var that = this;
- var mediaSourceSelect = that.getElement().querySelector('#' + that.getController().getModel().getUID() + '__mediasource-select');
- mediaSourceSelect.addEventListener('change', function () {
- that.getController().getModel().setCurrentMediaSource(this.value, true, that.getController().getModel().useLocalStorage());
- that.getController().getModel().setCurrentDirectory('/',false,that.getController().getModel().useLocalStorage());
- var ajax = new AJAX();
- ajax.get(
- that.getController().getModel().getListSourceRequestURL(),
- { s: that.getController().getModel().getCurrentMediaSource() },
- function (data) {
- },
- true,
- that.getController().getModel().getXHRHeaders()
- );
- });
-
- var levelUp:HTMLAnchorElement = (that.getElement().querySelector('.level-up'));
- levelUp.addEventListener('click', function(e){
- e.preventDefault();
- var currentDirectory = that.getController().getModel().getCurrentDirectory();
- var split = currentDirectory.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- if(split && split.length) {
- var destDirectory = '/';
- if(split.length > 1) {
- split.pop();
- destDirectory = split.join('/');
- }
- that.getController().getModel().setCurrentDirectory(destDirectory, true, true, false);
- }
- });
- }
- emptyTree(){
- var that = this;
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- (function(){
- var paths = pathBrowser.querySelectorAll("nav.tree a.path");
- for (var i = 0; i < paths.length; i++) {
- var path = (paths[i]); // #janky typescript doesn't seem to support .remove();
- path.removeEventListener('click', that._handleTreeNodeClicked, false);
- path.remove();
- }
- })();
- (function(){
- var folders = pathBrowser.querySelectorAll("nav.tree a.folder");
- for (var i = 0; i < folders.length; i++) {
- var folder = (folders[i]); // #janky typescript doesn't seem to support .remove();
- folder.removeEventListener('click', that._handleTreeFolderClicked, false);
- folder.remove();
- }
- })();
- }
- assignDraggableListeners(){
- var kindaDraggables = document.querySelectorAll('*[sorta-draggable="true"]');
- for (var i = 0; i < kindaDraggables.length; i++) {
- var kindaDraggable = kindaDraggables[i];
- kindaDraggable.addEventListener('blur', function (e) {
- this.parentNode.draggable = false;
- });
- kindaDraggable.addEventListener('focus', function (e) {
- this.parentNode.draggable = false;
- });
- }
- }
- assignChooseClickListeners() {
- var that = this;
-
- if(that.getController().getModel().getDebug()) console.log('assignChooseClickListeners');
-
- var rows = that.getElement().querySelectorAll('tr.eureka__row');
- for(var i = 0; i < rows.length; i++) {
- function addDblClickListener(tr:HTMLElement) {
- tr.querySelector('div.image').addEventListener('dblclick',function(e){
- var image = this;
-
- (function(){
- var e:any = (document.createEvent('CustomEvent'));
- e.initCustomEvent('EurekaFoundIt', true, true, {
- filename: tr.getAttribute('data-filename'),
- timestamp: tr.getAttribute('data-timestamp'),
- src: tr.getAttribute('data-src'),
- thumb:tr.getAttribute('data-thumb'),
- dimensions: [tr.getAttribute('data-dimensions-w'), tr.getAttribute('data-dimensions-h')],
- filesize: parseInt(tr.getAttribute('data-filesize-bytes'))
- });
-
- that.getController().getView().getElement().dispatchEvent(e);
- })();
- })
- }
- addDblClickListener((rows[i]));
- }
- }
- paint(){
- this.assignARIAKeyListeners();
- this.assignContextualClickListeners();
- this.assignDraggableListeners();
- this.assignChooseClickListeners();
- this.assignSortBtnListeners();
- //this.assignContextualRowListeners();
- }
- createTreeNode(path) : HTMLElement {
- var that = this;
- path = path.split('/').filter(Boolean).join('/') + '/';
- var li = document.createElement('li');
- var folder = document.createElement('a');
- folder.innerHTML = ' ';
- folder.setAttribute('href', 'javascript:;');
- folder.classList.add('folder');
- folder.setAttribute('data-open-msg','Expand ' + path + ' ');
- folder.setAttribute('data-close-msg','Collapse ' + path + ' ');
- var folderOpenIcon = document.createElement('i');
- folderOpenIcon.classList.add('fa');
- folderOpenIcon.classList.add('icon');
- folderOpenIcon.classList.add('fa-folder');
- folderOpenIcon.classList.add('icon-folder');
- folder.appendChild(folderOpenIcon);
- (function(){
- var audible = document.createElement('span');
- audible.classList.add('audible');
- audible.innerHTML = folder.getAttribute('data-open-msg');
- folder.appendChild(audible);
- })();
- var a = document.createElement('a');
- a.classList.add('path');
- a.setAttribute('href', 'javascript:;');
- a.setAttribute('title', 'Browse ' + path);
-
- var split = path.split('/');
- split = split.filter(function (n) { return (n !== undefined && n != ""); });
- var displayPath = split.join('/');
- if(!that.getController().getModel().getDisplayFullTreePaths()) {
- displayPath = split[split.length-1];
- } else {
- if(displayPath[displayPath.length-1] == '/') displayPath = displayPath.substring(0,displayPath.length - 1);
- }
-
- a.setAttribute('data-cd', path);
- a.innerHTML = ' ' + displayPath;
- li.appendChild(folder);
- li.appendChild(a);
- var _ul = document.createElement("ul");
- li.appendChild(_ul);
-
- return li;
- }
- paintTree(data) {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('paintTree',data);
- var tree : HTMLElement = (that.getElement().querySelector('nav.tree'));
- var results = data.results;
- function printTreeNavResults(results, ul) {
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var li:HTMLElement = that.createTreeNode(result.path);
- var _ul = li.querySelector('ul');
- if (result.children !== undefined && result.children.length) {
- printTreeNavResults(result.children, _ul);
- }
- ul.appendChild(li);
- }
- }
- tree.innerHTML = '';
- var ul = document.createElement('ul');
- tree.appendChild(ul);
- printTreeNavResults(results, ul);
- that.assignTreeListeners();
- that.recursivelyOpenTreeToCurrentDirectory();
-
- var e = document.createEvent('CustomEvent');
- e.initCustomEvent(EurekaModel.EurekaTreePainted, true, true, {
- data:data
- });
-
- that.getElement().dispatchEvent(e);
- }
- paintJSON(data:any) : void {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('paintJSON',data);
- var model = this.getController().getModel();
- var cd = data.cd.charAt(data.cd.length - 1) == '/' ? data.cd : data.cd + '/';
- var results = data.results;
- var tbodyHTML = '';
- var directoriesToAdd:Array = [];
- var fileAdded:Boolean = false;
-
- that.getElement().classList.remove('nothing-found');
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- if(result.filename) {
- var filename = result.filename;
- var safeFileName = filename.replace(/[!\"#$%&'\(\)\*\+,\.\/:;<=>\?\@\[\\\]\^`\{\|\}~]/g, '');
- var src = result.src;
- var thumb = result.thumb;
- var filesize = result.filesize;
- var dimensions = result.dimensions;
- var editedon = (parseInt(result.editedon)) > 0 ? parseInt(result.editedon) : null;
- var tr = document.createElement("tr");
- tr.classList.add('eureka__row');
- //tr.setAttribute('contenteditable', true);
- tr.setAttribute('tabindex', "0");
- tr.setAttribute('data-tokens', '');
- tr.setAttribute('data-filename', filename);
- tr.setAttribute('data-safe-filename', safeFileName);
- tr.setAttribute('data-src',src);
- if(thumb) tr.setAttribute('data-thumb',thumb);
- tr.setAttribute('data-dimensions-w', dimensions.split('x')[0]);
- tr.setAttribute('data-dimensions-h', dimensions.split('x')[1]);
- tr.setAttribute('data-filesize-bytes', filesize);
- tr.setAttribute('data-timestamp', (editedon) ? editedon.toString() : '0');
- var td = document.createElement("td");
- td.setAttribute('contenteditable', 'false');
- td.classList.add('eureka__row-image');
- var imgD = document.createElement('div');
- imgD.classList.add('image');
- var img = document.createElement('img');
- img.setAttribute('id',safeFileName + '__thumb');
- function addErrorListener(img,result,safeFileName) {
- img.addEventListener('error',function(){
- var a = result.filename.split('.');
- var icon = 'file-o';
- switch(a[a.length-1].toLowerCase()) { // consider abstracting this part out into it's own plugin
- case 'css':
- icon = 'css3';
- break;
-
- case 'csv':
- icon = 'file-excel-o';
- break;
-
- case 'xls':
- icon = 'file-excel-o';
- break;
-
- case 'numbers':
- icon = 'file-excel-o';
- break;
-
- case 'css':
- icon = 'file-excel-o';
- break;
-
- case 'mp3':
- icon = 'file-sound-o';
- break;
-
- case 'wav':
- icon = 'file-sound-o';
- break;
-
- case 'wma':
- icon = 'file-sound-o';
- break;
-
- case 'aac':
- icon = 'file-sound-o';
- break;
-
- case 'flac':
- icon = 'file-sound-o';
- break;
-
- case 'ppt':
- icon = 'file-powerpoint-o';
- break;
-
- case 'pot':
- icon = 'file-powerpoint-o';
- break;
-
- case 'pps':
- icon = 'file-powerpoint-o';
- break;
-
- case 'zip':
- icon = 'file-zip-o';
- break;
-
- case 'gzip':
- icon = 'file-zip-o';
- break;
-
- case 'tar':
- icon = 'file-zip-o';
- break;
-
- case 'mp4':
- icon = 'file-movie-o';
- break;
-
- case 'ogv':
- icon = 'file-movie-o';
- break;
-
- case 'm4v':
- icon = 'file-movie-o';
- break;
-
- case 'avi':
- icon = 'file-movie-o';
- break;
-
- case 'jpg':
- case 'jpeg':
- case 'gif':
- case 'tiff':
- case 'png':
- case 'bpg':
- case 'img':
- case 'webp':
- icon = 'file-picture-o';
- break;
-
- case 'php':
- case 'html':
- case 'htm':
- case 'md':
- icon = 'file-code-o';
- break;
-
- case 'js':
- icon = 'file-text-o';
- break;
-
- default:
- icon = 'file-o';
- break;
- }
- var div = (function(){
- var div = document.createElement('div');
- div.classList.add('icon-wrapper');
- div.classList.add('img');
- var i = document.createElement('i');
- i.classList.add('fa');
- i.classList.add('icon');
- i.classList.add('fa-' + icon);
- i.classList.add('icon-' + icon);
- div.appendChild(i);
-
- return div;
- })();
-
-
- try {
- document.getElementById(safeFileName + '__thumb').outerHTML = div.outerHTML;
- } catch(e) {}
- });
- }
- addErrorListener(img,result,safeFileName);
-
-
- //img.setAttribute('alt',filename); // after a11y testing this was determined to be unecessary - jp
- imgD.appendChild(img);
- img.setAttribute('src', (thumb) ? thumb : src);
- var code = document.createElement('code');
- code.setAttribute('contenteditable', 'true');
- code.setAttribute('tabindex', '-1');
- code.setAttribute('sorta-draggable', 'true');
- code.innerHTML = filename;
- td.appendChild(imgD);
-
- td.appendChild(code);
- function createCode(html) {
- var tag = document.createElement('code');
- tag.innerHTML = html;
- return tag;
- }
- var tdDimensionCell = document.createElement('td');
- tdDimensionCell.classList.add('eureka__row-dimensions');
- tdDimensionCell.appendChild(createCode(dimensions || "n/a"));
- var tdFilesizeCell = document.createElement('td');
- tdFilesizeCell.classList.add('eureka__row-filesize');
- if(parseInt(filesize)) {
- tdFilesizeCell.appendChild(createCode(that.formatFileSize(filesize)));
- } else {
- tdFilesizeCell.appendChild(createCode('n/a'));
- }
- var tdEditedOnCell = document.createElement('td');
- tdEditedOnCell.classList.add('eureka__row-editedon');
- if(editedon) {
- tdEditedOnCell.appendChild(createCode((new Date(editedon * 1000)).toLocaleDateString(model.getLocale(), { //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
- month: 'short',
- day: 'numeric',
- year: 'numeric'
- })));
- } else {
- tdEditedOnCell.appendChild(createCode('n/a'));
- }
- tr.appendChild(td);
- if(that.getController().getModel().getShowDimensionsColumn()) tr.appendChild(tdDimensionCell);
- tr.appendChild(tdFilesizeCell);
- tr.appendChild(tdEditedOnCell);
- tbodyHTML += tr.outerHTML;
-
- function createContextualRow() {
- var tr = document.createElement('tr');
- tr.classList.add('contextual');
- tr.setAttribute('id', 'eureka_contextual__' + safeFileName);
- //tr.setAttribute('tabindex','0');
- var td = document.createElement('td');
- td.setAttribute('colspan', '4');
- function createFlexibleNav() {
- var nav = document.createElement('nav');
- nav.classList.add('flexible_row');
- nav.classList.add('contextual__nav');
- function createExpandBtn() {
- var a = document.createElement('a');
- a.classList.add('expand');
- a.setAttribute('href', src);
- a.setAttribute('title', 'Expand ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-expand');
- fa.classList.add('icon-expand');
- a.appendChild(fa);
- a.innerHTML += ' Expand';
- return a;
- }
- function createChooseBtn() {
- var a = document.createElement('a');
- a.classList.add('choose');
- a.setAttribute('title', 'Choose ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-check-circle-o');
- fa.classList.add('icon-check-circle-o');
- a.appendChild(fa);
- a.innerHTML += ' Choose';
- return a;
- }
- function createRenameBtn() {
- var a = document.createElement('a');
- a.classList.add('rename');
- a.setAttribute('title', 'Rename ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-edit');
- fa.classList.add('icon-edit');
- a.appendChild(fa);
- a.innerHTML += ' Rename';
- return a;
- }
- function createTrashBtn() {
- var a = document.createElement('a');
- a.classList.add('dangerous');
- a.classList.add('trash');
- a.setAttribute('title', 'Delete ' + filename);
- a.setAttribute('target', '_blank');
- a.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-trash');
- fa.classList.add('icon-trash');
- a.appendChild(fa);
- a.innerHTML += ' Delete';
- return a;
- }
- nav.appendChild(createExpandBtn());
- nav.appendChild(createChooseBtn());
- if (that.getController().getModel().getAllowRename() && document.execCommand)
- nav.appendChild(createRenameBtn()); // should probably polyfill or just juse a standard text input instead #janky? #shame?
- if (that.getController().getModel().getAllowDelete())
- nav.appendChild(createTrashBtn());
- //nav.appendChild(createFlexibleNavTagForm());
- //nav.appendChild(createFlexibleNavShareForm());
- function createFlexibleNavTagForm() {
- var form = document.createElement('form');
- form.classList.add('tag');
- form.setAttribute('method', 'post');
- form.setAttribute('action', '#');
- var label = document.createElement('label');
- label.setAttribute('title', 'Tagging this media item will make it easier to find');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-tag');
- fa.classList.add('icon-tag');
- label.appendChild(fa);
- label.innerHTML += ' Tag:';
- var input = document.createElement('input');
- input.setAttribute('type', 'text');
- input.setAttribute('placeholder', 'Tag this media item');
- input.setAttribute('tabindex', '-1');
- form.appendChild(label);
- form.appendChild(input);
- return form;
- }
- function createFlexibleNavShareForm() {
- var form = document.createElement('form');
- form.classList.add('share');
- form.setAttribute('action', '#');
- form.setAttribute('title', "Share " + filename + " with other");
- form.appendChild(createMediaSourceInput());
- form.appendChild(createMediaItemInput());
- var button = document.createElement('button');
- button.classList.add('nued');
- button.setAttribute('type', 'submit');
- button.setAttribute('tabindex', '0');
- var fa = document.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('icon');
- fa.classList.add('fa-share-square-o');
- fa.classList.add('icon-share-square-o');
- button.appendChild(fa);
- button.innerHTML += ' Share';
- form.appendChild(button);
- function createMediaSourceInput() {
- var input = document.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediasource');
- input.setAttribute('value', '0');
- return input;
- }
- function createMediaItemInput() {
- var input = document.createElement('input');
- input.setAttribute('type', 'hidden');
- input.setAttribute('name', 'mediaitem');
- input.setAttribute('value', filename);
- return input;
- }
- return form;
- }
- return nav;
- }
- td.appendChild(createFlexibleNav());
- tr.appendChild(td);
- return tr;
- }
-
- tbodyHTML += createContextualRow().outerHTML;
- fileAdded = true;
- } else { // it's a folder
- //console.log(cd);
- //console.log(result.directory);
- //that.asyncronouslyAddDirectory(cd,result.directory);
- directoriesToAdd.push({cd:cd,directory:result.directory})
- }
- }
- if(!fileAdded) that.getElement().classList.add('nothing-found');
- (function(){
- for(var i = 0; i < directoriesToAdd.length; i++) {
- var d:any = (directoriesToAdd[i]);
- that.asyncronouslyAddDirectory(d.cd,d.directory);
- }
- if(directoriesToAdd.length) {
- //console.log('directoriesToAdd.length: ' + directoriesToAdd.length);
- that.assignTreeListeners();
- //that.recursivelyOpenTreeToCurrentDirectory();
- }
- })();
-
- var thead:HTMLElement = (document.querySelector('#' + this.getController().getModel().getUID() + ' .eureka-table > table > thead'));
- (document.querySelector('#' + this.getController().getModel().getUID() + ' .eureka-table')).innerHTML = '' + thead.outerHTML + '' + tbodyHTML + ' ' + '
';
- // bolden the correct tree item
- try {
- (this.getElement().querySelector('nav.tree li.active')).classList.remove('active');
- }
- catch (e) {
- }
- try {
- (function(){
- var el:HTMLElement = (that.getElement().querySelector('nav.tree li > a[data-cd="' + data.cd + '"]').parentNode);
- el.classList.add('active');
- el.classList.add('open');
-
- var folder:HTMLElement = (el.querySelector('.folder .fa-folder'));
- folder.classList.add('fa-folder-open');
- folder.classList.add('icon-folder-open');
- folder.classList.remove('fa-folder');
- })();
- }
- catch (e) {
- }
- try {
- (this.getElement().querySelector('.pathbrowser__topbar > select')).value = data.cs;
- }
- catch (e) {
- }
- this.paint();
- }
- asyncronouslyAddDirectory(cd, directory) { // this was added abruptly to support updating the media source tree asyncronously
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('asyncronouslyAddDirectory');
-
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- var paths = pathBrowser.querySelectorAll('.tree .path');
-
- var cds:Array = cd.split('/').filter(Boolean);
- var p = cd + directory + '/';
- var psa = p.split('/').filter(Boolean);
- for(var i = 0; i < paths.length; i++) {
- var path:HTMLElement = (paths[i]);
- if((path.getAttribute('data-cd').split('/').filter(Boolean)).equals(psa)) {
- if(that.getController().getModel().getDebug()) console.log(p + ' alread exists');
- return;
- }
- }
-
- for(var i = 0; i < paths.length; i++) {
- var path:HTMLElement = (paths[i]);
- var pcd = path.getAttribute('data-cd');
- if(cds.equals(pcd.split('/').filter(Boolean))) { // "paths" are equal regardless of trailing slashes
- (function(_path){
- var ul:HTMLElement = _path.nextSibling;
- var paths = ul.querySelectorAll(':scope > li > .path');
- var inserted = false;
-
- for(var i = 0; i < paths.length; i++) {
- var path:HTMLElement = (paths[i]);
- var _d = (function(path){
- var a = path.getAttribute('data-cd').split('/').filter(Boolean);
- return a[a.length-1];
- })(path);
- var s = [directory,_d];
- s.sort();
-
- if(s[0] == directory) { // the directory to be inserted should preceed paths[i]
- ul.insertBefore(that.createTreeNode(p),path.parentNode);
- inserted = true;
- break;
- }
- }
-
- if(!inserted) { // the directory to be inserted should be last
- ul.appendChild(that.createTreeNode(p));
- inserted = true;
- }
-
- })(path);
- }
- }
-
- (function(){
- var browsingSelect:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__browsing'));
- var mediaSource = that.getController().getModel().getCurrentMediaSource();
- //console.log('setting optGrp');
- //console.log('currentMediaSource: ' + that.getController().getModel().getCurrentMediaSource());
- var optsGrp:HTMLElement = (function() : HTMLElement {
- var os = browsingSelect.querySelectorAll('optgroup');
- for(var i =0; i < os.length; i++) {
- var o:HTMLElement = os[i];
- if(o.getAttribute('data-source') == mediaSource) return o;
- }
- return null;
- })();
- if(!optsGrp) return;
- var _iH:string = p.split('/').filter(Boolean).join('/');
- var opts = optsGrp.querySelectorAll('option');
- for(var i = 0; i < opts.length; i++) {
- var opt:HTMLElement = opts[i];
- if(opt.innerHTML == _iH) return; // it already exists
- }
-
- var newOpt:HTMLElement = document.createElement('option');
- newOpt.setAttribute('value',JSON.stringify({cs:that.getController().getModel().getCurrentMediaSource(),cd:_iH}));
- newOpt.setAttribute('data-cd',_iH + '/');
- newOpt.innerHTML = _iH;
-
- var inserted = false;
- for(var i = 0; i < opts.length; i++) {
- var opt:HTMLElement = opts[i];
- //console.log(opt.innerHTML);
- var a = [opt.innerHTML,_iH];
- a.sort();
-
- if(_iH == a[0]) {
- optsGrp.insertBefore(newOpt,opt);
- inserted = true;
- break;
- }
- }
- if(!inserted) optsGrp.appendChild(newOpt);
- })();
-
- (function(){
- var e = document.createEvent('CustomEvent');
- var data = that.getTreeData();
- e.initCustomEvent(EurekaModel.EurekaTreePainted, true, true, {
- data:data
- });
-
- that.getElement().dispatchEvent(e);
- })();
- }
- getTreeData() {
- var that = this;
- if(that.getController().getModel().getDebug()) console.log('getTreeData');
-
- var data = {
- cs:parseInt(that.getController().getModel().getCurrentMediaSource()),
- title:that.getController().getModel().getMediaSourceDTOByID(that.getController().getModel().getCurrentMediaSource()).getTitle(),
- results:new Array()
- };
- //{"cs":1,"title":"Filesystem","results":[{"path":"assets"},{"path":"connect"},{"path":"manage"}]}
- var pathBrowser:HTMLElement = (document.getElementById(that.getController().getModel().getUID() + '__pathbrowser'));
- var navTree:HTMLElement = (pathBrowser.querySelector('nav.tree'));
- var tops = navTree.querySelectorAll(':scope > ul > li');
- for(var i = 0; i < tops.length; i++) {
- var top:HTMLElement = tops[i];
- var dir = {
- path:top.querySelector(':scope > a.path').getAttribute('data-cd'),
- children:new Array()
- };
- recursivelyAddChildrenToDir(dir, top.querySelectorAll(':scope > ul > li'));
- data.results.push(dir);
-
- }
-
- return data;
-
- function recursivelyAddChildrenToDir(dir:any,lis:NodeList) {
- for(var i = 0; i < lis.length; i++) {
- var li:HTMLElement = (lis[i]);
- var child = {
- path:li.querySelector(':scope > a.path').getAttribute('data-cd'),
- children:new Array()
- };
- recursivelyAddChildrenToDir(child, li.querySelectorAll(':scope > ul > li'));
- dir.children.push(child);
- }
- }
- }
- assignContextualClickListeners() {
- var that = this;
- that.assignContexualCodeFocusListeners();
- assignChooseListeners();
- assignRenameListeners();
- assignDeleteListeners();
- function assignChooseListeners() {
- var anchors = that.getElement().querySelectorAll('tr.contextual a.choose');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- e.preventDefault();
- handleChooseClicked(this);
- }, false);
- anchor.addEventListener('focus', function (e) {
- ((that.getElement().parentNode).querySelector('footer.proceed .cta')).classList.add('go');
- ((that.getElement().parentNode).querySelector('footer.proceed .cta')).disabled = false;
- (that.getElement().parentNode).querySelector('footer.proceed .cta').removeAttribute('disabled');
- }, false);
- anchor.addEventListener('blur', function (e) {
- ((that.getElement().parentNode).querySelector('footer.proceed .cta')).classList.remove('go');
- //that.getElement().parentNode.querySelector('footer.proceed .cta').disabled = true;
- //that.getElement().parentNode.querySelector('footer.proceed .cta').setAttribute('disabled','disabled');
- }, false);
- /*anchor.addEventListener('mouseover',function(e) {
- ((that.getElement().parentNode).querySelector('footer.proceed .cta')).classList.add('go');
- }, false);
- anchor.addEventListener('mouseout',function(e) {
- ((that.getElement().parentNode).querySelector('footer.proceed .cta')).classList.remove('go');
- }, false);*/
- }
- function handleChooseClicked(anchor) {
- var contextual = that.getClosest(anchor, 'tr');
- var mediaRow:HTMLElement = (contextual.previousSibling);
- that.getController().getModel().setChoosenMediaItem(mediaRow.getAttribute('data-filename'));
- }
- }
- function assignDeleteListeners() {
- var anchors = document.querySelectorAll('tr.contextual a.trash');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- handleTrashClicked(this);
- }, false);
- anchor.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleTrashKeyDown, false);
- }, false);
- anchor.removeEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleTrashKeyDown, false);
- }, false);
- }
- function handleTrashClicked(anchor) {
- var contextual:any = that.getClosest(anchor, 'tr');
- var mediaRow:any = (contextual.previousSibling);
- var nextRow:HTMLElement = (contextual.nextSibling);
-
- // give them a way out
- if(that.getController().getModel().getAlertBeforeDelete() && !window.confirm('Are you sure you want to delete ' + mediaRow.getAttribute('data-filename') + '?')) {
- return false;
- }
-
- // proceed
- that.getController().getModel().deleteFile(mediaRow.getAttribute('data-filename'), mediaRow);
-
- function remove(el) {
- try {
- el.remove();
- } catch(e) {
- el.parentNode.removeChild(el); // IE 10 doesn't support HTMLElement.remove()
- }
- }
-
- remove(mediaRow);
- remove(contextual);
-
- try {
- nextRow.focus();
- }
- catch (e) { }
- }
- function handleTrashKeyDown(e) {
- if (e.keyCode === 13) {
- handleTrashClicked(this);
- }
- }
- }
- function assignRenameListeners() {
- var anchors = document.querySelectorAll('tr.contextual a.rename');
- for (var i = 0; i < anchors.length; i++) {
- var anchor = anchors[i];
- anchor.addEventListener('click', function (e) {
- e.preventDefault();
- var code = getCodeToFocus(this);
- selectCode(code);
- }, false);
- anchor.addEventListener('focus', function (e) {
- this.addEventListener('keydown', handleAnchorKeyDown, false);
- }, false);
- anchor.addEventListener('blur', function (e) {
- this.removeEventListener('keydown', handleAnchorKeyDown, false);
- }, false);
- }
- function handleAnchorKeyDown(e) {
- var code = getCodeToFocus(this);
- var tr = that.getClosest(this, '.contextual').previousSibling;
- if (e.keyCode === 13) {
- e.preventDefault();
- e.stopPropagation();
- selectCode(code);
- }
- }
- function selectCode(code) {
- code.focus();
- try {
- code.select(); // if you think about it contenteditable nodes should probably be selectable...
- }
- catch (e) { }
- // consider selecting also
- }
- function getCodeToFocus(anchor) {
- var tr = that.getClosest(anchor, 'tr');
- var mediaRow:HTMLElement = (tr.previousSibling);
- var code = mediaRow.querySelector('.eureka__row-image code[contenteditable="true"]');
- return code;
- }
- }
- }
- assignContexualCodeFocusListeners(){
- var that = this;
- var codes = this.getElement().querySelectorAll('tr.eureka__row .eureka__row-image code[contenteditable="true"]');
- for (var i = 0; i < codes.length; i++) {
- var code = (codes[i]);
- code.addEventListener('focus', function () {
- this.addEventListener('keydown', handleCodeKeyPress, false);
- }, false);
- function handleCodeKeyPress(e) {
- if (e.keyCode === 13) {
- e.preventDefault();
- var tr = this.parentNode.parentNode; // #janky? :/
- var contextual = tr.nextSibling;
- var filename = tr.getAttribute('data-filename');
- code.contentEditable = 'false';
- var newFilename = this.innerHTML;
- that.getController().getModel().renameFile(filename, newFilename);
- var next = contextual.querySelector('nav > a.rename');
- next.focus();
- window.getSelection().collapse(next, 0);
- return false;
- }
- return true;
- }
- }
- }
- // ensure the optgroups are always sorted in order of their respective media source ids
- sortBrowseSelectOptGroupsByMediaSourceId(select) {
- if (select === undefined)
- select = document.getElementById(this.getController().getModel().getUID() + '__browsing').querySelector('select');
- var os = [];
- var optgrps = select.querySelectorAll('optgroup');
- for (var i = 0; i < optgrps.length; i++) {
- os.push(optgrps[i]);
- }
- var optgroups = os.sort(function (a, b) {
- return parseInt(a.getAttribute('data-source')) - parseInt(b.getAttribute('data-source'));
- });
- select.innerHTML = '';
- for (var _i = 0; _i < optgroups.length; _i++) {
- var optgroup = optgroups[_i];
- select.appendChild(optgroup);
- }
- }
- updateMediaSourceListings(data) {
- var that = this;
-
- if(that.getController().getModel().getDebug()) console.log('updateMediaSourceListings: ', data);
-
- var id = data.cs;
- var source = this.getController().getModel().getMediaSourceDTOByID(id);
- function updateTreeSelect() {
- if(that.getController().getModel().getDebug()) console.log('updateTreeSelect');
- var select = document.getElementById(that.getController().getModel().getUID() + '__mediasource-select');
- var option = null;
- try {
- option = select.querySelector('option[value="' + id + '"]');
- }
- catch (e) { }
- if (!option) {
- option = document.createElement('option');
- option.setAttribute('value', id);
- option.innerHTML = data.title;
- select.appendChild(option);
- }
- }
- function updateTopBarSelect() {
- if(that.getController().getModel().getDebug()) console.log('updateTopBarSelect');
- var select = document.getElementById(that.getController().getModel().getUID() + '__browsing').querySelector('select');
- if(that.getController().getModel().getDebug()) console.log(select);
- var optgroup = null;
- try {
- optgroup = select.querySelector('optgroup[data-source="' + id + '"]');
- }
- catch (e) { }
- if (!optgroup) {
- optgroup = document.createElement('optgroup');
- optgroup.setAttribute('label', data.title);
- optgroup.setAttribute('data-source', id);
- }
- var results = data.results;
- if(that.getController().getModel().getPrependOptGroupsWithRootOption()) results.unshift({"path":"/"});
- var options = [];
- printOptGroupOptions(results);
- optgroup.innerHTML = '';
- function printOptGroupOptions(results) {
- function serialize(obj) {
- var str = [];
- for(var p in obj){
- if (obj.hasOwnProperty(p)) {
- str.push((p) + "=" + (obj[p]));
- }
- }
- return str.join("&");
- }
- for (var i = 0; i < results.length; i++) {
- var result = results[i];
- var option = document.createElement('option');
- option.innerHTML = (that.sanitizeDisplayPath(result.path)) ? that.sanitizeDisplayPath(result.path) : result.path;
- option.setAttribute('value', JSON.stringify({cs:data.cs,cd:that.sanitizeDisplayPath(result.path)}));
- option.setAttribute('data-cd', result.path);
- options.push(option);
- if (result.children && result.children.length)
- printOptGroupOptions(result.children);
- }
- }
- for (var _i = 0; _i < options.length; _i++) {
- var option = options[_i];
- optgroup.appendChild(option);
- }
- select.appendChild(optgroup);
- that.sortBrowseSelectOptGroupsByMediaSourceId(select);
- }
- updateTreeSelect();
- updateTopBarSelect();
- that.setBrowseSelectValue();
- that.setMediaSourceSelectValue();
- }
- getSelectedOption (select) {
- var options = select.querySelectorAll('option');
- for(var i = 0; i < options.length; i++) {
- var option = options[i];
- if(option.selected) return option;
- }
- }
- formatFileSize(size:number) : String {
- var sizes = [' Bytes', ' KB', ' MB', ' GB', ' TB', ' PB', ' EB', ' ZB', ' YB'];
- for (var i = 1; i < sizes.length; i++) {
- if (size < Math.pow(1024, i)) return (Math.round((size/Math.pow(1024, i-1))*100)/100) + sizes[i-1];
- }
- return size.toString();
- }
- getClosest(elem:any, selector:string) : HTMLElement {
- var firstChar = selector.charAt(0);
-
- // Get closest match
- for ( ; elem && elem !== document; elem = elem.parentNode ) {
-
- // If selector is a class
- if ( firstChar === '.' ) {
- if ( elem.classList.contains( selector.substr(1) ) ) {
- return elem;
- }
- }
-
- // If selector is an ID
- if ( firstChar === '#' ) {
- if ( elem.id === selector.substr(1) ) {
- return elem;
- }
- }
-
- // If selector is a data attribute
- if ( firstChar === '[' ) {
- if ( elem.hasAttribute( selector.substr(1, selector.length - 2) ) ) {
- return elem;
- }
- }
-
- // If selector is a tag
- if ( elem.tagName.toLowerCase() === selector ) {
- return elem;
- }
-
- }
-
- return null;
- }
-
-} // end class EurekaView
-
-
-interface ModelViewObj {
- model: EurekaModel;
- view: EurekaView;
-}
-
-class EurekaController {
- private _model:EurekaModel;
- private _view:EurekaView;
-
- getModel() {
- return this._model;
- }
- getView() {
- return this._view;
- }
-
- constructor(public opts:ModelViewObj) {
- this._model = opts.model;
- this._view = opts.view;
- }
-
- init() {
- var that = this;
- var eureka:HTMLElement = that.getView().getElement(); // we found it!
-
- if(that.getModel().getDebug()) console.log('init');
-
- that.getView().getElement().addEventListener(EurekaModel.EurekaTreePainted, function(e:any){
- var d = e.detail.data;
- if(that.getModel().getDebug()) console.log('EurekaTreePainted!!!',e,d);
- if(that.getModel().useLocalStorage()) that.getModel().setLocalStorage(d.cs.toString() + '_mediaSourceData',JSON.stringify(d));
- });
-
- if(that.getModel().useLocalStorage()) {
- (function(){
- var mediaSourcesData = that.getModel().getLocalStorage('mediaSourcesData');
- if(that.getModel().getDebug()) console.log('using local storage setMediaSourcesData', 'mediaSourcesData: ', mediaSourcesData);
- if(mediaSourcesData) {
- // data,dispatch,setLocalStorage,clearDirectory,dispatchIdenticalValues
- that.getModel().setMediaSourcesData(JSON.parse(mediaSourcesData), true, false, false, true);
- }
- })();
-
- (function(){
- var mediaSourceData = that.getModel().getLocalStorage(that.getModel().getCurrentMediaSource() + '_mediaSourceData');
- if(mediaSourceData) {
- if(that.getModel().getDebug()) console.log('using local storage paintTree', 'mediaSourceData: ', mediaSourceData);
- that.getView().paintTree(JSON.parse(mediaSourceData));
- that.getView().recursivelyOpenTreeToCurrentDirectory();
- }
- })();
-
- (function(){
- var directoryData:string = that.getModel().getLocalStorage('lastDirectoryPainted');
- if(that.getModel().getDebug()) console.log('using local storage paintJSON', 'directoryData: ', directoryData);
- if(directoryData) {
- var dd:any = JSON.parse(directoryData);
- that.getModel().setCurrentDirectory(dd.cd,false,false,false);
- that.getView().paintJSON(dd);
- that.getView().recursivelyOpenTreeToCurrentDirectory();
- }
- })();
- }
-
- // listen for when certain things happen (currently the DOM element itself dispatches the events)
- eureka.addEventListener(EurekaModel.EurekaViewChange, function (e:any) { // #janky
- //that.getModel().setCurrentView(e.currentView, false);
- });
- eureka.addEventListener(EurekaModel.EurekaDirectoryChanged, function (e:any) {
- if(!that.getModel().getCurrentMediaSource()) return;
- if(that.getModel().getDebug()) console.log(EurekaModel.EurekaDirectoryChanged, ' requesting data from ', that.getModel().getListDirectoryRequestURL());
- function handleJSONData(d) {
- if(that.getModel().useLocalStorage()) that.getModel().setLocalStorage('lastDirectoryPainted',JSON.stringify(d));
- if(that.getModel().getDebug()) console.log(d);
- that.getView().paintJSON(d);
- }
- if(that.getModel().getUseWebWorkers()) {
- (function(){
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listdirectory.js');
- worker.addEventListener('message',function(e){
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listDirectoryRequestURL:that.getModel().getListDirectoryRequestURL(),
- currentMediaSource:that.getModel().getCurrentMediaSource(),
- currentDirectory: e.detail.currentDirectory || '/',
- headers:that.getModel().getXHRHeaders()
- });
- })();
- } else {
- var ajax = new AJAX();
- ajax.get(
- that.getModel().getListDirectoryRequestURL(),
- { s: that.getModel().getCurrentMediaSource(), dir: e.detail.currentDirectory || '/' },
- function (data) {
- handleJSONData(JSON.parse(data));
- },
- true,
- that.getModel().getXHRHeaders()
- );
- }
- });
- eureka.addEventListener(EurekaModel.EurekaDirectoryOpened, function(e:any) {
- if(that.getModel().getDebug()) console.log(EurekaModel.EurekaDirectoryOpened);
- var path = e.detail.path.charAt(e.detail.path.length - 1) == '/' ? e.detail.path : e.detail.path + '/';
-
- function handleJSONData(d) {
- if(that.getModel().getDebug()) console.log(d);
-
- var results = d.results;
- for(var i = 0; i < results.length; i++) {
- var result = results[i];
-
- if(result.directory) {
- that.getView().asyncronouslyAddDirectory(path, result.directory);
- }
- }
- if(results.length) that.getView().assignTreeListeners();
- }
- if(that.getModel().getUseWebWorkers()) {
- (function(){
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listdirectory.js');
- worker.addEventListener('message',function(e){
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listDirectoryRequestURL:that.getModel().getListDirectoryChildrenRequestURL(),
- currentMediaSource:that.getModel().getCurrentMediaSource(),
- currentDirectory: e.detail.path || '/',
- headers:that.getModel().getXHRHeaders()
- });
- })();
- } else {
- var ajax = new AJAX();
- ajax.get(
- that.getModel().getListDirectoryChildrenRequestURL(),
- { s: that.getModel().getCurrentMediaSource(), dir: e.detail.path || '/' },
- function (data) {
- handleJSONData(JSON.parse(data));
- },
- true,
- that.getModel().getXHRHeaders()
- );
- }
- });
- eureka.addEventListener(EurekaModel.EurekaMediaSourceChange, function (e:any) {
- if(that.getModel().getDebug()) console.log(EurekaModel.EurekaMediaSourceChange);
- function handleJSONData(d) {
- if(that.getModel().getDebug()) console.log('EurekaMediaSourceChange handleJSONData: ',d, e);
- if(d.cs && that.getModel().useLocalStorage()) that.getModel().setLocalStorage(d.cs + '_mediaSourceData',JSON.stringify(d));
- that.getView().paintTree(d);
- if(e.detail.clearDirectory == true) {
- if(that.getModel().getDebug()) console.log('clearing directory');
- that.getModel().setCurrentDirectory('',true,false); // clear the current directory and trigger a repaint
- }
- }
- if(that.getModel().getUseWebWorkers()) {
- (function(){
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsource.js');
- worker.addEventListener('message',function(e){
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourceRequestURL:that.getModel().getListSourceRequestURL(),
- currentMediaSource:that.getModel().getCurrentMediaSource(),
- headers:that.getModel().getXHRHeaders()
- });
- })();
- } else {
- var ajax = new AJAX();
- ajax.get(
- that.getModel().getListSourceRequestURL(),
- { s: e.detail.currentMediaSource },
- function (data) {
- handleJSONData(JSON.parse(data));
- },
- true,
- that.getModel().getXHRHeaders()
- );
- }
- });
- eureka.addEventListener(EurekaModel.EurekaMediaSourceInit, function(e:any) {
- if(that.getModel().getDebug()) console.log('EurekaMediaSourceInit: !!!!',e);
- if(!that.getModel().useLocalStorage()) {
- that.getModel().setCurrentDirectory(that.getModel().getCurrentDirectory(), true, false, true);
- }
- });
- eureka.addEventListener(EurekaModel.EurekaMediaSourcesListChange, function (e:any) {
- if(that.getModel().getDebug()) console.log('MediaSourcesListChange: ');
- var sources = e.detail.sources;
- for (var i = 0; i < sources.length; i++) {
- var source = new EurekaMediaSource(sources[i].opts);
- var id = source.getID();
- //var title = source.getTitle();
-
- requestMediaListings(source);
- function requestMediaListings(source:EurekaMediaSource) {
- if(that.getModel().getDebug()) console.log('requestMediaListings');
- var id = source.getID();
- function handleJSONData(d) {
- if(that.getModel().getDebug()) console.log(d);
- that.getView().updateMediaSourceListings(d);
- }
- if(that.getModel().getUseWebWorkers()) {
- (function(){
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsource.js');
- worker.addEventListener('message',function(e){
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourceRequestURL:that.getModel().getListSourceRequestURL(),
- currentMediaSource:id,
- headers:that.getModel().getXHRHeaders()
- });
- })();
- } else {
- var ajax = new AJAX();
- ajax.get(
- that.getModel().getListSourceRequestURL(),
- { s: id },
- function (data) {
- data = JSON.parse(data);
- handleJSONData(data);
- },
- true,
- that.getModel().getXHRHeaders()
- );
- }
- }
- }
- });
- if(that.getModel().getDebug()) console.log('MediaSourcesListChange listener added');
- (function(){
- if(that.getModel().getDebug()) console.log('requesting sources: ');
- function handleJSONData(d) {
- if(that.getModel().getDebug()) console.log(d);
- if(that.getModel().useLocalStorage()) that.getModel().setLocalStorage('mediaSourcesData',JSON.stringify(d));
- that.getModel().setMediaSourcesData(d);
- }
- if(that.getModel().getUseWebWorkers()) {
- (function(){
- var worker = new Worker(that.getModel().getwebWorkersPath() + 'listsources.js');
- worker.addEventListener('message',function(e){
- handleJSONData(e.data);
- }, false);
- worker.postMessage({
- listSourcesRequestURL:that.getModel().getListSourcesRequestURL(),
- headers:that.getModel().getXHRHeaders()
- });
- })();
- } else {
- var ajax = new AJAX();
- ajax.get(
- that.getModel().getListSourcesRequestURL(),
- {},
- function (data) {
- data = JSON.parse(data);
- handleJSONData(data);
- },
- true,
- that.getModel().getXHRHeaders()
- );
- }
- })();
-
- }
-} // end class EurekaController
diff --git a/_build/ts/muckboot.eureka.ts b/_build/ts/muckboot.eureka.ts
deleted file mode 100644
index 21ec08c..0000000
--- a/_build/ts/muckboot.eureka.ts
+++ /dev/null
@@ -1,661 +0,0 @@
-///
-
-var MuckBoot;
-(function(){
- var d = document;
- MuckBoot = function(opts) {
- var defaults = {
- id: 'media-browser_0',
- upload: true,
- enlargeFocusRows:true,
- hideImagesOnListView:true
- };
-
- if(opts.id === undefined) opts.id = 'media-browser_0';
- if(opts.upload === undefined) opts.upload = true;
- if(opts.createDir === undefined) opts.createDir = true;
- if(opts.enlargeFocusRows === undefined) opts.enlargeFocusRows = true;
- if(opts.hideImagesOnListView === undefined) opts.hideImagesOnListView = true;
- if(opts.allowFullScreen === undefined) opts.allowFullScreen = true;
-
- this.opts = opts;
-
- this.muck();
- };
-
- MuckBoot.prototype.getID = function(){
- return this.opts.id;
- };
-
- MuckBoot.prototype.muck = function() {
- var that = this;
-
- var eureka = d.createElement('div');
- eureka.classList.add('view-a');
- if(this.opts.enlargeFocusRows) eureka.classList.add('enlarge-focused-rows');
- if(this.opts.hideImagesOnListView) eureka.classList.add('no-images-on-list');
- eureka.classList.add('eureka');
- eureka.classList.add('sidebar-open');
- eureka.setAttribute('id',this.opts.id);
-
- function createPathBrowser(opts) {
- var nav = d.createElement('nav');
- nav.setAttribute('id',opts.id + '__pathbrowser');
- nav.classList.add('pathbrowser');
-
- function createPathBrowserTopBar() {
- var div = d.createElement('div');
- div.classList.add('pathbrowser__topbar');
-
- var label = d.createElement('label');
- label.setAttribute('for',opts.id + '__mediasource-select');
-
- var heading = d.createElement('h4');
- heading.innerHTML = 'Media Source';
-
- label.appendChild(heading);
-
- var mediaSourceSelectLevelup = d.createElement('div');
- mediaSourceSelectLevelup.classList.add('mediasource-select-level-up');
-
- var select = d.createElement('select');
- select.setAttribute('id',opts.id + '__mediasource-select');
- select.setAttribute('title','Choose a Media Source to browse');
-
- mediaSourceSelectLevelup.appendChild(select);
-
- (function(){
- var a = d.createElement('a');
- a.setAttribute('href','#');
- a.setAttribute('class','level-up');
- a.setAttribute('title','Browse Parent Directory');
-
- var i = d.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-level-up');
- i.classList.add('icon');
- i.classList.add('icon-level-up');
- a.appendChild(i);
-
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Browse Parent Directory';
- a.appendChild(p);
-
- mediaSourceSelectLevelup.appendChild(a);
- })();
-
-
- div.appendChild(label);
- div.appendChild(mediaSourceSelectLevelup);
-
- return div;
- }
-
- function createPathBrowserNavTree() {
- var nav = d.createElement('nav');
-
- nav.classList.add('tree');
-
- var ul = d.createElement('ul');
- nav.appendChild(ul);
-
- return nav;
- }
-
- function createPathBrowserFooter() {
- var footer = d.createElement('footer');
- if(that.opts.upload) footer.classList.add('drop');
-
- var nav = d.createElement('nav');
-
- function createPathBrowserFooterMediaSourceInput() {
- var input = d.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('name','mediasource'),
- input.setAttribute('value','0');
-
- return input;
- }
-
- function createPathBrowserFooterMediaPathInput() {
- var input = d.createElement('input');
- input.setAttribute('type','hidden');
- input.setAttribute('name','mediapath'),
- input.setAttribute('value','/');
-
- return input;
- }
-
- function createPathBrowserFooterCreateNewForm() {
- nav.appendChild(createPathBrowserFooterMediaSourceInput());
- nav.appendChild(createPathBrowserFooterMediaPathInput());
-
- var btn = d.createElement('button');
- btn.setAttribute('type','submit');
- btn.setAttribute('class','nued create-new');
- btn.setAttribute('title','Create a new directory');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-plus-square');
- fa.classList.add('icon');
- fa.classList.add('icon-plus-square');
-
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Create a new directory';
-
- btn.appendChild(fa);
- btn.appendChild(p);
-
- nav.appendChild(btn);
-
- return nav;
- }
-
- function createPathBrowserFooterSearchBtn() : HTMLElement {
- var btn:HTMLElement = d.createElement('a');
- btn.classList.add('btn');
- btn.setAttribute('href','#' + that.opts.id + '__filter-images');
-
- var i = d.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-search');
- i.classList.add('icon');
- i.classList.add('icon-search');
-
- btn.appendChild(i);
-
- return btn;
- }
-
- function createPathBrowserFooterUploadForm() {
- var form = d.createElement('form');
- //form.setAttribute('action','#upload');
-
- form.appendChild(createPathBrowserFooterMediaSourceInput());
- form.appendChild(createPathBrowserFooterMediaPathInput());
-
- var btn = d.createElement('button');
- btn.setAttribute('type','submit');
- btn.setAttribute('class','nued upload-files');
- btn.setAttribute('title','Upload a file');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-upload');
- fa.classList.add('icon');
- fa.classList.add('icon-upload');
-
- var p = d.createElement('p');
- p.classList.add('audible');
- p.innerHTML = 'Upload media';
-
- btn.appendChild(fa);
- btn.appendChild(p);
-
- form.appendChild(btn);
-
- return form;
- }
-
- if(that.opts.createDir) createPathBrowserFooterCreateNewForm();
-
- if(that.opts.upload) {
- (function(){
- var da = d.createElement('div');
- da.classList.add('droparea');
-
- var dz = d.createElement('div');
- dz.classList.add('dropzone');
- dz.setAttribute('title','Drag & Drop files here to upload them');
-
- var dzm = d.createElement('div');
- dzm.classList.add('progress');
- dz.appendChild(dzm);
-
- da.appendChild(dz);
- footer.appendChild(da);
- })();
- }
-
- if(opts.upload) nav.appendChild(createPathBrowserFooterUploadForm());
- footer.appendChild(nav);
-
- return footer;
- }
-
- nav.appendChild(createPathBrowserTopBar());
- nav.appendChild(createPathBrowserNavTree());
- nav.appendChild(createPathBrowserFooter());
-
- return nav;
- }
-
- function createBrowserStage(opts) {
- var browserStage = d.createElement('div');
- browserStage.setAttribute('id',opts.id + '__stage')
- browserStage.classList.add('stage');
-
- function createEurekaTopBar() {
- var div = d.createElement('div');
- div.classList.add('eureka__topbar');
-
- function createEurekaTopBarNav() {
- var nav = d.createElement('nav');
- nav.classList.add('eureka__topbar-nav');
-
- function createEurekaTopBarNavToggleBtn() {
- var a = d.createElement('a');
- a.setAttribute('id',opts.id + '__pathbrowser_toggle');
- a.classList.add('pathbrowser_toggle');
- a.setAttribute('title','Close Navigation Tree');
- a.setAttribute('data-title-close','Close Navigation Tree');
- a.setAttribute('data-title-open','Open Navigation Tree');
- a.setAttribute('data-toggle-target',opts.id + '__pathbrowser');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-toggle-left');
- fa.classList.add('icon');
- fa.classList.add('icon-toggle-left');
-
- a.appendChild(fa);
-
- return a;
- }
-
- function createEurekaTopbarBrowseSelectForm() {
- var form = d.createElement('form');
- form.setAttribute('action','#');
- form.setAttribute('id',opts.id + '__browsing');
-
- var select = d.createElement('select');
-
- form.appendChild(select);
-
- return form;
- }
-
- function createEurekaTopBarBrowseSelect() {
- var div = d.createElement('div');
- div.setAttribute('id',opts.id + '__browse-select');
- div.classList.add('tablet-p-hidden');
- div.classList.add('browse-select');
-
- var label = d.createElement('label');
- label.classList.add('tablet-p-hidden');
- label.classList.add('browse-select');
- label.setAttribute('for',opts.id + '__browsing');
- label.innerHTML = 'Browse';
-
- div.appendChild(label);
- div.appendChild(createEurekaTopbarBrowseSelectForm());
-
- return div;
- }
-
- function createEurekaTopBarUploadForm() : HTMLElement {
- var div = d.createElement('div');
- div.setAttribute('id',opts.id + '__upload');
- div.classList.add('upload-form');
-
- var label = d.createElement('label');
- label.setAttribute('for',opts.id + '__upload-form');
- label.innerHTML = 'Upload:';
-
- var form = d.createElement('form');
- form.setAttribute('action','#');
- form.setAttribute('id',opts.id + '__upload-form');
-
- var input = d.createElement('input');
- input.setAttribute('id',opts.id + '__upload-input');
- input.setAttribute('multiple','multiple');
- input.setAttribute('name','uploadFiles');
- input.setAttribute('type','file');
-
- form.appendChild(input);
-
- div.appendChild(label);
- div.appendChild(form);
-
- return div;
- }
-
- function createEurekaTopBarViewBtns() {
- var div = d.createElement('div');
- div.classList.add('view-btns');
-
- var btns = [
- (function(){
- var a = d.createElement('a');
- a.classList.add('current');
- a.classList.add('view-a-btn');
- a.setAttribute('data-view','view-a');
- a.setAttribute('data-view-target',opts.id);
- a.setAttribute('asyncronous-title','Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-th-list');
- fa.classList.add('icon');
- fa.classList.add('icon-th-list');
-
- a.appendChild(fa);
-
- return a;
- })(),
- (function(){
- var a = d.createElement('a');
- a.classList.add('view-b-btn');
- a.setAttribute('data-view','view-b');
- a.setAttribute('data-view-target',opts.id);
- a.setAttribute('asyncronous-title','Thumbnail layout displays a grid of medium sized thumbnails');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-th-large');
- fa.classList.add('icon');
- fa.classList.add('icon-th-large');
-
- a.appendChild(fa);
-
- return a;
- })(),
- (function(){
- var a = d.createElement('a');
- a.classList.add('view-d-btn');
- a.setAttribute('data-view','view-d');
- a.setAttribute('data-view-target',opts.id);
- a.setAttribute('asyncronous-title','Grid View displays images a grid of large images');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-square');
- fa.classList.add('icon');
- fa.classList.add('icon-square');
-
- a.appendChild(fa);
-
- return a;
- })(),
- (function(){
- var a = d.createElement('a');
- a.classList.add('view-d-btn');
- a.setAttribute('data-view','view-e');
- a.setAttribute('data-view-target',opts.id);
- a.setAttribute('asyncronous-title','List Layout displays Name, Description, File Size and Edited On columns');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-list');
- fa.classList.add('icon');
- fa.classList.add('icon-list');
-
- a.appendChild(fa);
-
- return a;
- })()
- ];
-
- if(opts.allowFullScreen) btns.push((function(){
- var a = d.createElement('a');
- a.classList.add('view-f-btn');
- a.setAttribute('data-view','view-f');
- a.setAttribute('title','Toggle Fullscreen Mode');
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-expand');
- fa.classList.add('icon');
- fa.classList.add('icon-expand');
-
- a.appendChild(fa);
-
- return a;
- })());
-
- var nav = d.createElement('nav');
-
- //for(var btn of btns) nav.appendChild(btn); // #oneday
- for(var i = 0; i < btns.length; i++) nav.appendChild(btns[i]);
-
- div.appendChild(nav);
-
- return div;
- }
-
- function createEurekaTopbarNavHeader() {
- var header = d.createElement('header');
-
- var h4 = d.createElement('h4');
- h4.setAttribute('id',opts.id + '__mediacontent-current-source');
- var span = d.createElement('span');
- span.classList.add('mediasource-title');
- span.setAttribute('data-prepend','');
- h4.innerHTML = 'Media Content ';
- h4.appendChild(span);
- header.appendChild(h4);
-
- header.appendChild(createEurekaTopBarForm());
-
- return header;
- }
-
- nav.appendChild(createEurekaTopbarNavHeader());
-
- function createEurekaTopBarNavSelect() {
- var div = d.createElement('div');
- div.classList.add('eureka__topbar-nav__select');
-
- div.appendChild(createEurekaTopBarNavToggleBtn());
- div.appendChild(createEurekaTopBarBrowseSelect());
- if(opts.upload) div.appendChild(createEurekaTopBarUploadForm());
- div.appendChild(createEurekaTopBarViewBtns());
-
- return div;
- }
-
- nav.appendChild(createEurekaTopBarNavSelect());
-
- return nav;
- }
-
- function createEurekaTopBarForm() {
- var form = d.createElement('form');
-
- var input = d.createElement('input');
- input.setAttribute('id',opts.id + '__filter-images');
- input.setAttribute('type','search');
- input.setAttribute('placeholder','Filter images');
- input.setAttribute('autocomplete','off');
-
- form.appendChild(input);
-
- return form;
- }
-
- div.appendChild(createEurekaTopBarNav());
-
- return div;
- }
-
- function createEurekaTable() {
- var div = d.createElement('div');
- div.classList.add('eureka-table');
-
- var table = d.createElement('table');
-
- var thead = d.createElement('thead');
-
- var tr = d.createElement('tr');
-
- var tbody = d.createElement('tbody');
-
- var ths = [
- (function(){
- var th = d.createElement('th');
-
- th.innerHTML = 'Name ';
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby','name');
- fa.setAttribute('data-sort-asc','1');
-
- th.appendChild(fa);
-
- return th;
- })(),
- (function(){
- var th = d.createElement('th');
- th.classList.add('dimensions');
- th.innerHTML = 'Dimensions ';
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby','dimensions');
- fa.setAttribute('data-sort-asc','1');
-
- th.appendChild(fa);
-
- return th;
- })(),
- (function(){
- var th = d.createElement('th');
-
- th.innerHTML = 'File Size ';
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby','filesize');
- fa.setAttribute('data-sort-asc','1');
-
- th.appendChild(fa);
-
- return th;
- })(),
- (function(){
- var th = d.createElement('th');
-
- th.innerHTML = 'Edited On ';
-
- var fa = d.createElement('i');
- fa.classList.add('fa');
- fa.classList.add('fa-sort');
- fa.classList.add('icon');
- fa.classList.add('icon-sort');
- fa.setAttribute('data-sortby','editedon');
- fa.setAttribute('data-sort-asc','1');
-
- th.appendChild(fa);
-
- return th;
- })()
- ];
-
- //for(var th of ths) tr.appendChild(th); // #onday
- for(var i = 0; i < ths.length; i++) tr.appendChild(ths[i]);
-
- thead.appendChild(tr);
- table.appendChild(thead);
- table.appendChild(tbody);
-
- div.appendChild(table);
-
- return div;
- }
-
- browserStage.appendChild(createEurekaTopBar());
- browserStage.appendChild(createEurekaTable());
- browserStage.appendChild(createEurekaTableUhOh());
-
- return browserStage;
- }
-
- function createEurekaTableUhOh() {
- var div = document.createElement('div');
- div.classList.add('eureka-table');
- div.classList.add('oh-no');
-
- var h3 = document.createElement('h3');
-
- var i = document.createElement('i');
- i.classList.add('fa');
- i.classList.add('fa-folder-open-o');
- i.classList.add('icon');
- i.classList.add('icon-folder-open-o');
-
- var code = document.createElement('code');
-
- var p = document.createElement('p');
- p.innerHTML = 'No files were found in this directory . Perhaps you\'d like to upload some files ? ';
-
- h3.appendChild(i);
- h3.appendChild(code);
- h3.appendChild(p);
-
- div.appendChild(h3);
-
- return div;
- }
-
- function createChooseFooter(opts) {
- var footer = d.createElement('footer');
- footer.classList.add('proceed');
-
- var btns = [
- (function(){
- var btn = d.createElement('button');
- btn.classList.add('cancel');
- btn.classList.add('muted');
- btn.classList.add('clickable');
- btn.innerHTML = 'Cancel';
-
- return btn;
- })(),
- (function(){
- var btn = d.createElement('button');
- btn.classList.add('btn');
- btn.classList.add('clickable');
- btn.classList.add('cta');
- btn.setAttribute('disabled','disabled');
- btn.setAttribute('id',opts.id + '__choose-btn');
- btn.setAttribute('type','submit');
- btn.innerHTML = 'Choose';
-
- return btn;
- })()
- ];
-
- //for(var btn of btns) footer.appendChild(btn); // #onday
- for(var i = 0; i < btns.length; i++) footer.appendChild(btns[i]);
-
- return footer;
- }
-
- var pathBrowser = createPathBrowser(this.opts);
- eureka.appendChild(pathBrowser);
-
- var browserStage = createBrowserStage(this.opts);
- eureka.appendChild(browserStage);
-
- var eurekaWrapper = d.createElement('div');
- eurekaWrapper.classList.add('eureka-wrapper');
-
- eurekaWrapper.appendChild(eureka);
- eurekaWrapper.appendChild(createChooseFooter(this.opts));
-
- d.getElementById(this.opts.id).outerHTML = eurekaWrapper.outerHTML;
- }
-})();
diff --git a/_build/ts/plugins.ts b/_build/ts/plugins.ts
deleted file mode 100644
index 9c78acb..0000000
--- a/_build/ts/plugins.ts
+++ /dev/null
@@ -1,136 +0,0 @@
-(function() {
-
- if (!HTMLElement.prototype.querySelectorAll) {
- throw new Error('rootedQuerySelectorAll: This polyfill can only be used with browsers that support querySelectorAll');
- }
-
- // A temporary element to query against for elements not currently in the DOM
- // We'll also use this element to test for :scope support
- var container = document.createElement('div');
-
- // Check if the browser supports :scope
- try {
- // Browser supports :scope, do nothing
- container.querySelectorAll(':scope *');
- }
- catch (e) {
- // Match usage of scope
- var scopeRE = /^\s*:scope/gi;
-
- // Overrides
- function overrideNodeMethod(prototype, methodName) {
- // Store the old method for use later
- var oldMethod = prototype[methodName];
-
- // Override the method
- prototype[methodName] = function(query) {
- var nodeList,
- gaveId = false,
- gaveContainer = false;
-
- if (query.match(scopeRE)) {
- // Remove :scope
- query = query.replace(scopeRE, '');
-
- if (!this.parentNode) {
- // Add to temporary container
- container.appendChild(this);
- gaveContainer = true;
- }
-
- var parentNode = this.parentNode;
-
- if (!this.id) {
- // Give temporary ID
- this.id = 'rootedQuerySelector_id_'+(new Date()).getTime();
- gaveId = true;
- }
-
- // Find elements against parent node
- nodeList = oldMethod.call(parentNode, '#'+this.id+' '+query);
-
- // Reset the ID
- if (gaveId) {
- this.id = '';
- }
-
- // Remove from temporary container
- if (gaveContainer) {
- container.removeChild(this);
- }
-
- return nodeList;
- }
- else {
- // No immediate child selector used
- return oldMethod.call(this, query);
- }
- };
- }
-
- // Browser doesn't support :scope, add polyfill
- overrideNodeMethod(HTMLElement.prototype, 'querySelector');
- overrideNodeMethod(HTMLElement.prototype, 'querySelectorAll');
- }
-}());
-
-
-var matches = function(el, selector) {
- return (el.matches || el.matchesSelector || el.msMatchesSelector || el.mozMatchesSelector || el.webkitMatchesSelector || el.oMatchesSelector).call(el, selector);
-};
-
-var getClosest = function(element, selector) {
- for (; element && element !== document; element = element.parentNode) {
- if (matches(element, selector)) {
- return element;
- }
- }
-
- return false;
-};
-
-var getParents = function(element, selector) {
- var parents = [];
-
- for (; element && element !== document; element = element.parentNode) {
- if (!selector || (selector && matches(element, selector))) {
- parents.push(element);
- }
- }
-
- if (parents.length) {
- return parents;
- }
-
- return null;
-};
-
-interface Array {
- equals(o: T): Boolean;
-}
-
-// attach the .equals method to Array's prototype to call it on any array http://stackoverflow.com/a/14853974/4671250
-Array.prototype.equals = function (array) : Boolean {
- // if the other array is a falsy value, return
- if (!array)
- return false;
-
- // compare lengths - can save a lot of time
- if (this.length != array.length)
- return false;
-
- for (var i = 0, l=this.length; i < l; i++) {
- // Check if we have nested arrays
- if (this[i] instanceof Array && array[i] instanceof Array) {
- // recurse into the nested arrays
- if (!this[i].equals(array[i]))
- return false;
- }
- else if (this[i] != array[i]) {
- // Warning - two different object instances will never be equal: {x:20} != {x:20}
- return false;
- }
- }
- return true;
-}
-
diff --git a/_build/ts/tsconfig.json b/_build/ts/tsconfig.json
deleted file mode 100644
index 29b95ce..0000000
--- a/_build/ts/tsconfig.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "compilerOptions": {
- "module": "commonjs",
- "noImplicitAny": true,
- "removeComments": true,
- "preserveConstEnums": true,
- "outFile": "../examples/assets/eureka.1.2.0.js",
- "sourceMap": true
- },
- "exclude": [
- "node_modules"
- ]
-}
diff --git a/_build/ts/workers/listdirectory.ts b/_build/ts/workers/listdirectory.ts
deleted file mode 100644
index 5d92b32..0000000
--- a/_build/ts/workers/listdirectory.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-///
-
-importScripts("includes.js");
-
-self.addEventListener('message',function(e){
- var data = e.data;
-
- var ajax = new AJAX();
- ajax.get(
- data.listDirectoryRequestURL,
- { s: data.currentMediaSource, dir:data.currentDirectory },
- function (data) {
- (self).postMessage(JSON.parse(data));
- },
- true,
- data.headers
- );
-}, false);
\ No newline at end of file
diff --git a/_build/ts/workers/listsource.ts b/_build/ts/workers/listsource.ts
deleted file mode 100644
index cb91220..0000000
--- a/_build/ts/workers/listsource.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-///
-
-importScripts("includes.js");
-
-self.addEventListener('message',function(e){
- var data = e.data;
-
- var ajax = new AJAX();
- ajax.get(
- data.listSourceRequestURL,
- { s: data.currentMediaSource },
- function (data) {
- (self).postMessage(JSON.parse(data));
- },
- true,
- data.headers
- );
-}, false);
\ No newline at end of file
diff --git a/_build/ts/workers/listsources.ts b/_build/ts/workers/listsources.ts
deleted file mode 100644
index 0914d6f..0000000
--- a/_build/ts/workers/listsources.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-///
-
-importScripts("includes.js");
-
-self.addEventListener('message',function(e){
- var data = e.data;
-
- var ajax = new AJAX();
- ajax.get(
- data.listSourcesRequestURL,
- { },
- function (data) {
- (self).postMessage(JSON.parse(data));
- },
- true,
- data.headers
- );
-}, false);
\ No newline at end of file
diff --git a/bower.json b/bower.json
new file mode 100644
index 0000000..070de52
--- /dev/null
+++ b/bower.json
@@ -0,0 +1,57 @@
+{
+ "name": "eureka-browser",
+ "description": "Eureka is a progressively enhanced Media Browser Component.",
+ "main": [
+ "client/build/assets/css/eureka.0.0.21.min.css",
+ "client/build/assets/js/eureka.0.0.21.min.js"
+ ],
+ "version": "0.0.21",
+ "authors": [
+ "JP de Vries "
+ ],
+ "license": "MIT",
+ "homepage": "https://github.com/jpdevries/eureka",
+ "private": true,
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests",
+ "lib",
+ "prod",
+ "server.js",
+ "yarn.lock",
+ "client/public",
+ "client/build/index.html",
+ "client/build/favicon.ico",
+ "client/build/fakepi",
+ "client/src",
+ "client/build/assets/css/main*",
+ ".babelrc",
+ ".DS_Store",
+ "client/gruntfile.js",
+ "package.json",
+ "client/package.json",
+ "client/yarn.lock"
+ ],
+ "dependencies": {
+ "url-search-params": "^0.6.2"
+ },
+ "devDependencies": {
+ "bourbon": "^4.3.2",
+ "neat": "^1.8.0",
+ "spectacular": "^0.0.0"
+ },
+ "exportsOverride": {
+ "bourbon": {
+ "": "app/assets/stylesheets/"
+ },
+ "neat": {
+ "": "app/assets/stylesheets/"
+ },
+ "spectacular": {
+ "": "app/assets/stylesheets/"
+ }
+ }
+}
diff --git a/client/.babelrc b/client/.babelrc
new file mode 100644
index 0000000..adf9c3b
--- /dev/null
+++ b/client/.babelrc
@@ -0,0 +1,14 @@
+{
+ "presets": ["es2015", "react", "stage-0"],
+ "plugins": [
+ [
+ "react-intl", {
+ "messagesDir": "./i18n/messages",
+ "enforceDescriptions": false
+ }
+ ]
+ ],
+ "ignore": [
+ "**/*.test.js"
+ ]
+}
diff --git a/client/.eslintrc b/client/.eslintrc
new file mode 100644
index 0000000..da945bb
--- /dev/null
+++ b/client/.eslintrc
@@ -0,0 +1,5 @@
+{
+ "plugins": [
+ "jsx-a11y"
+ ]
+}
diff --git a/client/.gitignore b/client/.gitignore
new file mode 100644
index 0000000..b39038c
--- /dev/null
+++ b/client/.gitignore
@@ -0,0 +1,2 @@
+build/assets/img/src/png
+public/assets/img/src/png
diff --git a/client/LICENSE b/client/LICENSE
new file mode 100644
index 0000000..91b8f6f
--- /dev/null
+++ b/client/LICENSE
@@ -0,0 +1,31 @@
+BSD License
+
+For React software
+
+Copyright (c) 2013-present, Facebook, Inc.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ * Neither the name Facebook nor the names of its contributors may be used to
+ endorse or promote products derived from this software without specific
+ prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/client/README.md b/client/README.md
new file mode 100644
index 0000000..cf62936
--- /dev/null
+++ b/client/README.md
@@ -0,0 +1,680 @@
+# Eureka 🌲
+[](https://travis-ci.org/jpdevries/eureka) [](https://badge.fury.io/js/eureka-browser)
+
+Eureka is a progressively enhanced flexible media browser. Connected to your media sources through a REST API, this accessible web component allows users to browse media sources, upload files, and choose media items.
+
+[🤗 Try the demo](https://eureka.markup.tips/).
+As to be found in [Redactor 3.0 for MODX](https://www.modmore.com/extras/redactor/?via=2) by modmore. Contributions welcomed.
+
+> With `eureka.js` users will be saying "I found it!" in no time.
+ — [@mrktps](https://twitter.com/mrktps)
+
+## 💬 Discuss
+Join the conversation in our public Gitter chat room.
+
+[](https://gitter.im/jpdevries/eureka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+## 📚 Wiki
+Don't forget to [browse the Wiki](https://github.com/jpdevries/eureka/wiki) for [more information on the REST API](https://github.com/jpdevries/eureka/wiki/REST-API), [patterns](https://github.com/jpdevries/eureka/wiki/Patterns), [screenshots](https://github.com/jpdevries/eureka/wiki/Screenshots) and more.
+
+## 🍻 Support
+The Eureka Media Browser and supporting resources are provided free as in beer.
+[Gratuities are accepted through Square Cash](https://cash.me/$devriesdev).
+
+## 🏋️♀️ Weigh In
+The Eureka Media Browser is pretty lightweight all things considered.
+
+| Asset | Weight (GZIP minified)
+| ------------- |:-------------:|
+| CSS Stylesheet | `5.18kB` |
+| SVG Icons | `5.04kB` |
+| React Component | `47.40kB` |
+
+### 📄 HTML–first
+As a progressively enhanced web component, Eureka is functional HTML–first. This means that technically anything other than the initial HTML layer is a non–critical enhancement. Critical features supported by the HTML layer, such as browse, upload, and choose, are universally supported and do not depend on modern browsers, CSS styles, or script.
+
+😲 Take a gander at Eureka in the nued by waking our incredibly lightweight [raw HTML example](https://reacteureka.herokuapp.com/nued).
+
+We also encourage you to temporarily disable JavaScript in your browser and party with Eureka like it's 1999.
+
+## Powered By 🚀
+ - Progressively Enhanced from HTML components
+ - All–new Virtual DOM powered by React/Redux
+ - Node Server Side Rendering
+ - Node testing server
+
+## Highlights 🖋
+ - Configurable Rest API endpoints
+ - Browse multiple media sources for images
+ - Drag and Drop Upload Support
+ - Flexible Layout
+ - Responsive Design
+ - Configurable Styles via CSS Variables
+ - Accessible
+ - supports mobile and touch devices
+ - supports `.no-js` via server side rendering
+ - ARIA & Keyboard Support
+ - high contrast themes
+
+## 🚥 Features
+The level of isomorphism between the client and server side one can achieve with Node is unmatched. Eureka takes advantage of this unique strength of Node by, through an isomorphic server and standard synchronous forms, achieving full support for critical features.
+
+No features rely solely on sight or the use of a mouse. Keyboard use is supported. Accommodations are taken for users that benefit from high contrast themes. Visually hidden text is used to convey aspects of the interface that are otherwise visually implied to screen readers and assistive technology.
+
+The semantic HTML layer remains usable even absent of style as pure HTML.
+
+
+ Support of features against browser environments
+
+
+ Feature
+ .no-js
+ < IE 9
+ Chrome
+ Safari
+ Firefox
+ IE 11
+ Edge
+
+
+
+
+ Upload multiple files
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Browse directories
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Choose a media item
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Keyboard Support
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ ARIA Support
+ ✅
+ ✳️
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ WCAG Level AA
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Internationalization
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Choose Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Delete Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Keyboard Shortcuts
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Media Source panel
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Async UX
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Filterable Data Table
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Sortable Data Table
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Drag 'n drop uploads
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Grid Layout
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ❌
+
+
+ Flexible Layout
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ View Chooser
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Masonry Layout Mode
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Pathbar
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Rename Item
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Delete Item
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Download Item
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Download Multiple Items
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Local Storage
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Variable Styles
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ✅
+
+
+ Accessible Themes
+ ✅
+ ❌
+ ✅
+ ✅
+ ✅
+ ❌
+ ✅
+
+
+ Mobile First Layout
+ ✅
+ ✳️
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ Fullscreen Mode
+ ❌
+ ❌
+ ✅
+ ✅
+ ✅
+ ✅
+ ✅
+
+
+ HTML5 Context Menus
+ ❌
+ ❌
+ 🔧
+ ❌
+ ✅
+ ❌
+ ❌
+
+
+ HTML5 Details
+ ✳️
+ ❌
+ ✅
+ ✅
+ ✅
+ ✳️
+ ✅
+
+
+ HTML5 Datalist
+ ✳️
+ ❌
+ ✅
+ ❌
+ ✅
+ ✳️
+ ✳️
+
+
+
+
+## 🛠 Usage
+
+```bash
+npm install eureka-browser --save
+```
+
+#### Bower
+You can also install Eureka via Bower, which is a good way to fetch its stylesheet and icon sprite. There is also a UMD export of the `EurekaMediaBrowser` component for the unlikely case you'll need it.
+
+```bash
+npm install -g bower
+```
+
+```bash
+bower install eureka-browser#release-2.0
+ls bower_components/eureka-browser/client/build/assets/css/ # default eureka theme
+ls bower_components/eureka-browser/client/build/assets/img # icon sprite
+ls bower_components/eureka-browser/client/build/assets/js # bundled and unbundled UMD exports of EurekaMediaBrowser component
+```
+
+#### HTML
+The `` React component is styled by a standard CSS stylesheet. Include the CSS for the appropriate version of the media browser. Reference the theming section for [more information on styling Eureka](https://github.com/jpdevries/eureka#-theming).
+
+```html
+
+```
+
+```html
+
+
+
+
+```
+
+#### JS
+```js
+import React from 'react';
+import ReactDOM from 'react-dom';
+import { EurekaMediaBrowser } from 'eureka-browser';
+
+ReactDOM.render(
+ ,
+ document.getElementById('eureka-root')
+);
+```
+
+Eureka will then be injected into the DOM and eagerly reach out to the REST API for the JSON data it needs to offer the interface.
+
+Configure the `EurekaMediaBrowser` via the optional attributes found in the default configuration below:
+```xml
+
+```
+
+## ⚙️ Options
+
+| Option | Default | Description |
+| ------------- |:-------------:| -----|
+| `basePath` | `"/"` | Prepended to URLs for XHR requests to the Rest API. Set to the absolute path of your Rest API. |
+| `allowUploads` | `true` | Whether or not to allow uploading of media items |
+| `treeHidden` | `true` | Whether or not the Media Source Panel "sidebar" should be initially closed |
+| `useLocalStorage` | `true` | Whether or not to use the JavaScript `localStorage` API to remember session data such as the last visited directory and view mode preference |
+| `storagePrefix` | `"eureka__"` | Prepended to `localStorage` keys |
+| `allowRename` | `true` | Whether or not to offer users the ability to rename directories and media items |
+| `allowDelete` | `true` | Whether or not to offer users the ability to delete directories and media items |
+| `allowDownload` | `false` | Whether or not to add a download button to media items |
+| `confirmBeforeDelete` | `false` | Whether or not to confirm intent before users delete directories and media items |
+| `locale` | `"en-US"` | The localization to use. See Lexicons. |
+| `mediaSource` | `undefined` | The default initial media source id to use |
+| `currentDirectory` | `"/"` | The default initial directory to use |
+| `uid` | `"0"` | A unique identifier used to ensure multiple `` components on the same page do not share the same DOM ids |
+| `assetsBasePath` | `"./assets/"` | Relative path to the Eureka assets directory |
+| `iconSVG` | `"./img/icons.svg"` | Path, relative to `assetsBasePath`, to the Eureka icon sprite sheet |
+| `callbacks` | `{close: undefined, choose: undefined}` | Object containing close and choose callbacks |
+| `headers` | `{'Powered-By': 'Eureka by Markup.tips'}` | Additional request headers sent with XHR requests |
+| `intervals` | `{searchBarPlaceholder: false,fetchDirectoryContents: 18000,updateSourceTree: false}` | Intervals for whether or not and how often to do things like hit the REST API for updated data or update the placeholder attribute based on the current directory listing |
+| `enlargeFocusedRows` | `false` | Whether or not to enlarge thumbnails of focused rows |
+| `mode` | `"table"` | Initial view mode (table, thumb, grid, list) |
+| `sort` | `"name"` | Initial column to sort media items on |
+| `allowFullscreen` | `true` | Whether or not the interface should offer a fullscreen button |
+| `emphasisFocusedMediaItem` | `true` | Whether or not to emphasis selected media items (defaults to emphasizing the filename, only applies to table and list view modes) |
+| `doDragNDrop` | `true` | Whether or not to enable drag 'n drop features |
+| `allowChooseMultiple` | `true` | Whether or not to allow multiple files to be chosen |
+| `allowInvertSelection` | `true` | Whether or not to allow selection of multiple items to be inverted |
+| `allowDownloadMultiple` | `true` | Whether or not to allow multiple selected items to be download as a zip file |
+
+
+
+*Please take note that when `useLocalStorage` is `true` any options manually passed in as props will take precedent.*
+
+## 🌐 Browser Support
+The server side rendering and HTML–first design patterns begin progressively enhancing a universally supported HTML layer. So basic features are supported in any browser. JavaScript support begins at IE9. Desired CSS layout requires Flexbox and is further enhanced with Grid Layout.
+
+## 🔡 i18n
+Eureka is on Crowdin. Please [contribute to our translations](https://crowdin.com/project/eureka-browser) if you are able.
+
+## ♿️ Accessibility Proclaimer
+Eureka strives for WCAG Level AA success criteria in all scenarios with some accessibility preference features leaning towards Level AAA. Please [log *any* a11y issues here](https://github.com/jpdevries/eureka/issues).
+
+## ✅ Getting Started
+We're going to use `yarn` so make sure that is installed.
+
+```bash
+npm install yarn -g
+```
+
+To fire up a testing server run the following:
+
+```bash
+git clone -b release-2.0 git://github.com/jpdevries/eureka.git
+cd eureka
+yarn prestart
+yarn build
+yarn serve # start the development server
+# open http://localhost:3001 # Node server
+```
+
+To host the compiled production server run
+```bash
+yarn start # install, fetch sources, build
+```
+
+or
+```bash
+yarn prod # fire up the production server
+```
+
+The testing server hosts the `sources` and `client/build` directories along with a REST API to `GET`, `POST`, `PUT`, `DELETE` media items.
+
+
+
+## ⚒ Development
+The Eureka component is created with `create-react-app` and found in the `client` directory. There you can run React tests, build the React component, and start the development server.
+
+Firstly, you'll need the testing server running for the REST API:
+```bash
+cd eureka
+yarn server
+```
+
+Now, in another terminal tab:
+
+```bash
+cd client
+yarn build
+yarn test
+yarn start
+# open http://localhost:3000 # development server
+```
+
+The development server, like any other React app created with `create-react-app`, will automatically inject changes as you save changes to your source files.
+
+## 🗄 REST API
+Eureka is hungry for remote media sources. It needs a REST API to feed it JSON data.
+Find docs at the [REST API wiki page](https://github.com/jpdevries/eureka/wiki/REST-API).
+
+### 💄 Decorating Actions
+Eureka's core Redux actions assume you'll be using a REST API. If REST isn't really your thing, or you need to modify the Redux actions for some other reason, you can decorate the actions Eureka will use. This is done using a Higher Order Component that wraps `EurekaMediaBrowser` and injects a `decoratedActions` property which will be applied as a shallow merge on top of the default actions. Reference this [Gist example of decorating actions](https://gist.github.com/jpdevries/e967056bd31cf6f01df0e431df68283b) for an example.
+
+## 📠 Server Side Rendering
+Eureka is progressively enhanced with React to be asynchronous and a richer experience in capable browsers that successfully execute scripts. But Eureka's support doesn't end at modern browsers because its design process doesn't start there. Eureka is a semantic and synchronous HTML form before it is an enhanced Virtual DOM.
+
+Reference the [Server Side Rendering Wiki page](https://github.com/jpdevries/eureka/wiki/Server-Side-Rendering) for documentations and examples on achieving world wide support.
+
+### ⌨️ Keyboard Shortcuts
+Eureka uses JavaScript events to enrich the user experience of keyboard users.
+
+| Shortcut | Command |
+| --------------- |:-------------: |
+| Toggle Sidebar | ctrl+; |
+| Change View | ctrl+alt+(1-5) |
+| Change Media Source | alt+(1-9) |
+| Delete Item | backspace |
+| Expand Item | spacebar |
+| Choose Item | return |
+| Create Directory | ctrl+n |
+| Create file | ctrl+shift+n |
+| Upload Files | ctrl+u |
+| Rename Item | ctrl+r |
+| Filter Items | ctrl+f |
+| Sort Ascending | alt+up |
+| Sort Descending | alt+down |
+| Sort by filename | alt+n |
+| Sort by dimensions | alt+d |
+| Sort by file size | alt+f |
+| Sort by edited on | alt+e |
+| Set Choose Mode to Single | alt+s |
+| Set Choose Mode to Multiple | alt+m |
+| Invert Selection | alt+i |
+
+
+## 🎨 Theming
+Request additional theming options and share your themes by [opening an issue](https://github.com/jpdevries/eureka/issues/new) or [joining the discussion on Gitter](https://gitter.im/jpdevries/eureka?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge).
+
+| Variable | Description |
+| ------------- | -----|
+| `--active` | Color used to highlight activated components such as the drop area |
+| `--border-width` | Generic border width for panels, components, inputs |
+| `--border-style` | Generic border style for panels, components, inputs |
+| `--border-color` | Generic border color for panels, components, inputs |
+| `--button-bg` | Background color of button elements |
+| `--button-color` | Color of button text |
+| `--color` | Default text color |
+| `--dangerous` | Color to use for warnings and errors |
+| `--light-bg` | Generic light background color, used for panels |
+| `--link-color` | Default anchor text color |
+| `--panel-border-color` | Border color of panel components |
+| `--subtle` | Subtle color, used for Media Source Panel |
+| `--very-subtle` | Very subtle color, used for drop zone area |
+| `--very-subtle-icon-opacity` | Opacity for very subtle icons |
+
+## 📣 Audible Interface
+Eureka uses a combination of ARIA attributes and `.visually-hidden` text to offer an experience that is as accessible visually as it is audibly.
+
+
+
+There is one Achilles heel here. Depending on your media source API, you might not be able to provide alternative text for images and media items. In the event that no alt text is provided, Eureka will to the best it can. For example:
+
+> schildpad.jpg displays at 336x125, weighs 37 KB, and was edited on Sunday, April 02, 2017, Central European Summer Time
+
+## 📺 Fullscreen Mode
+To maximize usability Eureka leverages the Fullscreen API.
+
+
+See the Fullscreen Mode in action
+
+
+
+## 🏞 Masonry Layout
+Eureka is enhanced by a Masonry Layout mode.
+
+
+Masonry Layout Mode
+
+
+
+If you are using Eureka as a UMD Module (probably not) you'll need [to load Masonry first](https://github.com/jpdevries/eureka/wiki/Loading-Patterns-(WIP)). If you would not like Masonry to be included in your bundle, add Masonry to your Webpack excludes. Eureka will only enable the Masonry Layout if Masonry is available.
+
+```js
+externals: {
+ "react": "React",
+ "react-dom":"ReactDOM",
+ "redux":"Redux",
+ "react-redux":"ReactRedux",
+ "react-masonry-component":"Masonry"
+}
+```
+
+
+## 👀 Accessible Themes
+Eureka is empowered by themes which make it more accessible to users with particular physical or contextual disabilities or preferences.
+
+### Black on White
+
+
+### White on Black
+
diff --git a/client/__mocks__/react.js b/client/__mocks__/react.js
new file mode 100644
index 0000000..6f0a316
--- /dev/null
+++ b/client/__mocks__/react.js
@@ -0,0 +1,10 @@
+const react = require('react');
+// Resolution for requestAnimationFrame not supported in jest error :
+// https://github.com/facebook/react/issues/9102#issuecomment-283873039
+global.window = global;
+window.addEventListener = () => {};
+window.requestAnimationFrame = () => {
+ throw new Error('requestAnimationFrame is not supported in Node');
+};
+
+module.exports = react;
diff --git a/client/bower.json b/client/bower.json
new file mode 100644
index 0000000..2f429ab
--- /dev/null
+++ b/client/bower.json
@@ -0,0 +1,53 @@
+{
+ "name": "eureka-browser-client",
+ "description": "Eureka is a progressively enhanced Media Browser Component.",
+ "main": [
+ "build/assets/css/eureka.0.0.129.min.css",
+ "build/assets/js/eureka-browser.bundle.0.0.129.min.js"
+ ],
+ "version": "0.0.129",
+ "authors": [
+ "JP de Vries "
+ ],
+ "license": "MIT",
+ "homepage": "https://github.com/jpdevries/eureka",
+ "private": true,
+ "ignore": [
+ "**/.*",
+ "node_modules",
+ "bower_components",
+ "test",
+ "tests",
+ "lib",
+ "client/public",
+ "client/build/nued.html",
+ "client/src",
+ "client/build/assets/img/src",
+ ".babelrc",
+ ".DS_Store",
+ "client/gruntfile.js",
+ "package.json",
+ "client/package.json",
+ "client/yarn.lock"
+ ],
+ "dependencies": {
+ "url-search-params": "^0.6.2",
+ "masonry": "~4.2.0"
+ },
+ "devDependencies": {
+ "bourbon": "^4.3.2",
+ "neat": "*",
+ "spectacular": "^0.0.0"
+ },
+ "exportsOverride": {
+ "bourbon": {
+ "": "app/assets/stylesheets/"
+ },
+ "neat": {
+ "": "app/assets/stylesheets/"
+ },
+ "spectacular": {
+ "": "app/assets/stylesheets/"
+ }
+ }
+}
diff --git a/client/build/asset-manifest.json b/client/build/asset-manifest.json
new file mode 100644
index 0000000..ba2e100
--- /dev/null
+++ b/client/build/asset-manifest.json
@@ -0,0 +1,6 @@
+{
+ "main.css": "static/css/main.243c0c43.css",
+ "main.css.map": "static/css/main.243c0c43.css.map",
+ "main.js": "static/js/main.a6b5a45c.js",
+ "main.js.map": "static/js/main.a6b5a45c.js.map"
+}
\ No newline at end of file
diff --git a/client/build/assets/css/eureka.0.0.129.css b/client/build/assets/css/eureka.0.0.129.css
new file mode 100644
index 0000000..10114f3
--- /dev/null
+++ b/client/build/assets/css/eureka.0.0.129.css
@@ -0,0 +1,1843 @@
+.eureka {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
+
+.eureka *, .eureka *::after, .eureka *::before {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit; }
+
+.eureka.eureka__view-mode__thumb img, .eureka.eureka__view-mode__grid img, .eureka .eureka__media-source-selector select {
+ width: 100%; }
+
+.eureka th[aria-sort], .eureka select, .eureka button, .eureka .button, .eureka .eureka__upload-form label, .eureka .eureka__layout-chooser .eureka__icon-radio-btns label {
+ cursor: pointer; }
+
+.eureka .eureka__modal, .eureka .eureka__modal .eureka__modal-scrim {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0; }
+
+/*
+http://www.phase2technology.com/blog/exploring-maps-in-sass-3-3/
+*/
+.eureka input[aria-pressed="true"] + label, .eureka .eureka__crop-modal input[type="radio"]:checked + label, .eureka button[aria-pressed="true"] {
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4, inset 0 0.175em 0 #c5c5c5;
+ -webkit-box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, #c5c5c5);
+ box-shadow: 0 0 0 1px #E4E4E4, inset 0 0.175em 0 #c5c5c5;
+ box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, #c5c5c5); }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1), .visually-hidden, .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"], .eureka .eureka__layout-chooser legend, .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] {
+ /*https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html*/
+ position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ /* IE6, IE7 */
+ clip: rect(1px, 1px, 1px, 1px);
+ padding: 0 !important;
+ border: 0 !important;
+ height: 1px !important;
+ width: 1px !important;
+ overflow: hidden; }
+ body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) a, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) a, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) a, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) a, body:hover .visually-hidden a, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] a, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] a, body:hover .eureka .eureka__layout-chooser legend a, .eureka .eureka__layout-chooser body:hover legend a, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] a, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] a, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] a, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] a, body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) input, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) input, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) input, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) input, body:hover .visually-hidden input, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] input, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] input, body:hover .eureka .eureka__layout-chooser legend input, .eureka .eureka__layout-chooser body:hover legend input, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] input, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] input, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] input, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] input, body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) button, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) button, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) button, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) button, body:hover .visually-hidden button, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] button, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] button, body:hover .eureka .eureka__layout-chooser legend button, .eureka .eureka__layout-chooser body:hover legend button, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] button, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] button, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] button, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] button {
+ display: none !important; }
+
+[class*="modal-section"], [class*="eureka-wrapper"] {
+ padding: 0; }
+ @media screen and (min-width: 641px) {
+ [class*="modal-section"], [class*="eureka-wrapper"] {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ overflow-y: hidden;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; } }
+
+.eureka-root {
+ /*.eureka {
+ tbody {
+ &:not(.empty) {
+ > tr:not(.empty) {
+ @supports (display:grid) {
+ grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions";
+ grid-template-columns: auto 24% 12% 12% 12%;
+ }
+ }
+ }
+ }
+ }*/ }
+ .eureka-root:-webkit-full-screen {
+ width: 100vw;
+ height: 100vh;
+ overflow-y: auto;
+ background: #ececec;
+ background: var(--bg-color, #ececec); }
+ .eureka-root label[for*="fullscreen-toggle"] {
+ margin-left: 8px;
+ margin-left: .5rem; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row, .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden] {
+ display: block !important; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr > td.eureka__td-media, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr > td.eureka__td-media {
+ text-align: center; } }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden] {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus-within > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus-within > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus-within > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus-within > td.eureka__context-row[hidden] {
+ display: block !important; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /*@supports (display: flex) and ( not (display:grid) ) {
+ }*/ }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > * {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ @supports (display: grid) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) {
+ display: grid; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td .eureka__td-media {
+ grid-area: media; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td .eureka__td-filename {
+ grid-area: name; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__context-row {
+ grid-area: actions; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ grid-area: dimensions; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ display: none; } }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ grid-area: file-size; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ display: none; } }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ grid-area: edited-on; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ display: none; } } }
+ @supports (display: grid) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__choose {
+ grid-area: choose; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__td-media {
+ grid-area: media; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__td-filename {
+ grid-area: name; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__context-row {
+ grid-area: actions; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ grid-area: dimensions; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ display: none; } }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ grid-area: file-size; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ display: none; } }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ grid-area: edited-on; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ display: none; } } }
+ @supports (display: grid) {
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table tbody:not(.empty) > tr:not(.empty), .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list tbody:not(.empty) > tr:not(.empty) {
+ grid-template-areas: "choose media name dimensions file-size edited-on" "actions actions actions actions actions actions";
+ grid-template-columns: 2rem auto 24% 12% 12% 12%; } } }
+
+.eureka .eureka__choose-radio {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__choose-radio fieldset {
+ margin: 0;
+ padding: 0; }
+ .eureka .eureka__choose-radio .eureka__fieldset {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__choose-radio .eureka__fieldset > * {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > thead > tr {
+ grid-template-columns: 2rem 16% 40% 8% auto auto !important;
+ grid-template-areas: "radio name media dimensions file-size edited-on" !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > thead > tr th:nth-of-type(3) {
+ text-align: left !important; }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) {
+ grid-template-columns: 2rem 16% 40% 8% auto auto !important;
+ grid-template-areas: "radio name media dimensions file-size edited-on" !important; }
+ @supports (display: grid) {
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td {
+ /*&:nth-of-type(1) {
+ grid-area:media;
+ }
+ &:nth-of-type(2) {
+ grid-area:name;
+ }
+ &:nth-of-type(3) {
+ grid-area:actions;
+ }*/ }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td.eureka__td-filename {
+ text-align: left !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(4) {
+ grid-area: dimensions !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5) {
+ grid-area: file-size !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6) {
+ grid-area: edited-on !important; } }
+
+.eureka-root {
+ padding: 8px;
+ padding: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka table > thead {
+ position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ /* IE6, IE7 */
+ clip: rect(1px, 1px, 1px, 1px);
+ padding: 0 !important;
+ border: 0 !important;
+ height: 1px !important;
+ width: 1px !important;
+ overflow: hidden; }
+ body:hover .eureka-root .eureka table > thead a, body:hover .eureka-root .eureka table > thead input, body:hover .eureka-root .eureka table > thead button {
+ display: none !important; } }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody > tr > td:not(.eureka__context-row) {
+ padding-right: .5rem; } }
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "choose choose choose choose choose choose" "media media media media media media" "name name name name name name" "actions actions actions actions actions actions"; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "choose media name dimensions file-size edited-on";
+ grid-template-columns: 2rem auto 24% 12% 12% 12%; } }
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table > tbody > tr {
+ grid-template-areas: "choose choose choose choose choose choose" "media media media media media media"; }
+ .eureka-root .eureka.eureka__view-mode__table table, .eureka-root .eureka.eureka__view-mode__list table {
+ /*> thead > tr {
+ grid-template-areas:"media name dimensions file-size edited-on";
+ }*/ }
+ .eureka-root .eureka.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ display: grid;
+ grid-gap: 0; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on";
+ grid-template-columns: 40% 24% 12% 12% 12%; } }
+ .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media media media media media" "name name name name name" "actions actions actions actions actions"; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on" "actions actions actions actions actions"; } }
+ .eureka-root .eureka.eureka__view-mode__table table > tbody.empty > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody.empty > tr {
+ display: block; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"], .eureka-root .eureka.eureka__view-mode__list.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"] {
+ padding: 0.5em;
+ margin-right: 16px;
+ margin-right: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) {
+ grid-template-areas: "radio media name dimensions file-size edited-on";
+ grid-template-columns: 2rem 40% 24% auto auto auto; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(1) {
+ grid-area: radio; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(2) {
+ grid-area: media;
+ text-align: left; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(3) {
+ grid-area: name; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(5) {
+ grid-area: dimensions; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(6) {
+ grid-area: file-size; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(7) {
+ grid-area: edited-on; } }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) {
+ grid-area: none; }
+ .eureka-root .eureka.eureka__view-mode__list table > thead > tr td:first-child, .eureka-root .eureka.eureka__view-mode__list table > thead > tr th:first-child, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr td:first-child, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr th:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "name name name name name" "actions actions actions actions actions";
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr > td.eureka__choose {
+ text-align: center; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on" "actions actions actions actions actions"; } }
+
+.eureka-root .eureka__table img, .eureka-root .eureka__table embed, .eureka-root .eureka__table object, .eureka-root .eureka__table video {
+ -o-object-fit: contain;
+ object-fit: contain; }
+
+@media screen and (min-width: 641px) {
+ .eureka-root {
+ /*display:grid;
+ grid-gap:0;
+ grid-template-columns:20vw auto;
+ grid-template-areas:"header header" "sidebar content" "footer footer";*/
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .eureka-root .eureka {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+ .eureka-root .eureka > .eureka__browse-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%; }
+ .eureka-root .eureka.eureka__view-mode__table {
+ /*@supports (display: grid) {
+ }*/ }
+ .eureka-root .eureka > .eureka__browse-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 14rem;
+ flex: 0 0 14rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ margin-right: .5rem; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser[hidden], .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser[aria-hidden="true"] {
+ display: none; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ min-width: 0;
+ min-height: 0;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: .5rem; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header > h2 {
+ margin-bottom: 0;
+ margin-right: auto; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header > h2 form {
+ float: right; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ height: auto;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 0 .5rem .5rem 0; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper > div {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-height: 100%;
+ height: 100%;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ max-width: 100%; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper > div > table {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-height: 100%;
+ height: 100%;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ max-width: 100%; }
+ .eureka-root .eureka > .eureka__choose-bar {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ margin-top: .5rem; } }
+
+.eureka-root .eureka.eureka__view-mode__masonry > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka.eureka__view-mode__masonry > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ padding-right: .5rem; } }
+
+@media screen and (max-width: 640px) {
+ .eureka-root .eureka > .eureka__choose-bar > * {
+ margin-right: .5rem; }
+ .eureka-root .eureka > .eureka__choose-bar > *:last-child {
+ margin-right: 0; } }
+
+.eureka-root thead {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ display: block;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0; }
+ .eureka-root thead.eureka__tbody-scrolling {
+ padding-right: 16px; }
+ .eureka-root thead[hidden] {
+ display: none; }
+ .eureka-root thead > tr {
+ display: block;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /*@supports (display: flex) and ( not (display: grid) ) {
+ }*/ }
+ .eureka-root thead > tr > th {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka-root thead > tr > th.eureka__choose {
+ grid-area: choose; }
+ .eureka-root thead > tr > th.eureka__th-media {
+ grid-area: media; }
+ .eureka-root thead > tr > th.eureka__th-filename {
+ grid-area: name; }
+ .eureka-root thead > tr > th.eureka__th-actions {
+ grid-area: none; }
+ .eureka-root thead > tr > th.eureka__th-dimensions {
+ grid-area: dimensions; }
+ .eureka-root thead > tr > th.eureka__th-file-size {
+ grid-area: file-size; }
+ .eureka-root thead > tr > th.eureka__th-edited-on {
+ grid-area: edited-on; }
+
+.eureka-root tbody.empty {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka-root tbody.empty > tr {
+ text-align: center;
+ display: block; }
+ .eureka-root tbody.empty > tr td {
+ margin: 0 auto;
+ display: inline-block; }
+
+.eureka-root tbody {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ text-align: center;
+ display: block;
+ -ms-flex-wrap: no-wrap;
+ flex-wrap: no-wrap;
+ overflow-y: auto;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ -webkit-overflow-scrolling: touch; }
+
+.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__th-media, .eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__td-media {
+ padding-left: 16px;
+ padding-left: 1rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka__media-directory-selector form {
+ display: inline-block; }
+ .eureka__media-directory-selector > div {
+ display: inline-block;
+ margin-left: .5em; } }
+
+.eureka__sort-select select {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka__sort-select {
+ margin-left: auto;
+ margin-right: auto; }
+ .eureka__sort-select label {
+ margin-right: .5rem; }
+ .eureka__sort-select select {
+ margin-right: 1rem;
+ margin-bottom: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka__tree-toggle {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ padding-bottom: .5rem; }
+ .eureka__tree-toggle > *:first-child {
+ margin-right: auto; }
+ .eureka__tree-toggle .eureka__upload-form {
+ margin-right: auto; } }
+ @media screen and (min-width: 641px) and (min-width: 641px) {
+ .eureka__tree-toggle .eureka__upload-form form {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"] {
+ padding-top: 0;
+ padding-bottom: 0;
+ line-height: 2.2; } }
+
+@media screen and (min-width: 641px) {
+ .eureka__server-side .eureka__tree-toggle .eureka__upload-form {
+ margin-right: 0; } }
+
+.eureka.eureka__view-mode__table {
+ /*@include media($gtMobile) {
+ }*/ }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__table .eureka__table img {
+ max-height: 20vh; } }
+ .eureka.eureka__view-mode__table .eureka__table thead th:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table thead th:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr td, .eureka.eureka__view-mode__table .eureka__table tr th {
+ text-align: center; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__table .eureka__table tr td, .eureka.eureka__view-mode__table .eureka__table tr th {
+ text-align: right; }
+ .eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media, .eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media {
+ text-align: left; } }
+ .eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media, .eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media {
+ text-align: left; }
+ .eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table img {
+ max-height: 20vh; }
+ .eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table tr:focus img {
+ max-height: 30vh; }
+
+.eureka.eureka__view-mode__thumb .eureka__table thead, .eureka.eureka__view-mode__grid .eureka__table thead, .eureka.eureka__view-mode__masonry .eureka__table thead {
+ display: none !important; }
+
+.eureka.eureka__view-mode__thumb .eureka__table td:not(.eureka__td-media):not(.eureka__choose), .eureka.eureka__view-mode__grid .eureka__table td:not(.eureka__td-media):not(.eureka__choose), .eureka.eureka__view-mode__masonry .eureka__table td:not(.eureka__td-media):not(.eureka__choose) {
+ display: none; }
+
+.eureka.eureka__view-mode__thumb .eureka__table td[colspan], .eureka.eureka__view-mode__grid .eureka__table td[colspan], .eureka.eureka__view-mode__masonry .eureka__table td[colspan] {
+ display: block; }
+
+.eureka.eureka__view-mode__thumb .eureka__table tbody, .eureka.eureka__view-mode__grid .eureka__table tbody, .eureka.eureka__view-mode__masonry .eureka__table tbody {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody, .eureka.eureka__view-mode__grid .eureka__table tbody, .eureka.eureka__view-mode__masonry .eureka__table tbody {
+ display: -webkit-box !important;
+ display: -ms-flexbox !important;
+ display: flex !important; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ margin: 0 8px 8px 0;
+ margin: 0 .5rem .5rem 0;
+ -ms-flex-preferred-size: 42vw;
+ flex-basis: 42vw;
+ width: 100%; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ display: inline-block; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex] td, .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] td, .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] td {
+ display: block; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ -ms-flex-preferred-size: 16vw;
+ flex-basis: 16vw; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody .eureka__context-row, .eureka.eureka__view-mode__grid .eureka__table tbody .eureka__context-row, .eureka.eureka__view-mode__masonry .eureka__table tbody .eureka__context-row {
+ display: none; }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ margin-bottom: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ -ms-flex-preferred-size: 25vw;
+ flex-basis: 25vw; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] > td:not(.eureka__context-row), .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] > td:not(.eureka__context-row) {
+ padding-right: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ max-width: 20%;
+ margin: 0;
+ padding: 0 .25rem; } }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__tree {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; } }
+
+.eureka.eureka__view-mode__table .eureka__context-row {
+ margin-top: 8px;
+ margin-top: .5rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__context-row {
+ margin-top: 0;
+ width: 100%;
+ display: block;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-ordinal-group: 11;
+ -ms-flex-order: 10;
+ order: 10;
+ width: 100%;
+ /*> td[colspan] {
+ }*/ }
+ .eureka .eureka__context-row[hidden] {
+ display: none !important; }
+ .eureka .eureka__context-row .eureka__context-buttons {
+ width: 100%; } }
+
+.eureka .eureka__tree-bar {
+ text-align: center; }
+
+.eureka.eureka__view-mode__grid .eureka__td-media, .eureka.eureka__view-mode__masonry .eureka__td-media {
+ margin: 0 auto;
+ display: inline-block; }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead th:first-child {
+ display: none; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead th:nth-of-type(2) {
+ text-align: left;
+ padding-left: .5rem; } }
+
+.eureka.eureka__view-mode__list .eureka__table thead th:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+
+.eureka.eureka__view-mode__list .eureka__table thead td, .eureka.eureka__view-mode__list .eureka__table thead th, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th {
+ text-align: right; }
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ text-align: left; }
+ @supports (display: grid) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ display: block; } }
+ @media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ display: none; } }
+ @media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-filename {
+ text-align: center;
+ padding-top: .5rem;
+ padding-bottom: .5rem; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table tbody {
+ line-height: 2; } }
+
+.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media img, .eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media video, .eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media embed {
+ max-width: 10vh;
+ max-height: 10vh; }
+
+.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] {
+ padding-top: 0;
+ padding-bottom: 0; }
+ .eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] > td:nth-of-type(2) {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] > td:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+
+@media screen and (max-width: 640px) {
+ .eureka .eureka__crop-btn {
+ display: none; } }
+
+.eureka .flex-bar fieldset {
+ margin: 0;
+ padding: 0; }
+ .eureka .flex-bar fieldset label {
+ margin-bottom: 0; }
+
+.eureka .eureka__invert-horz {
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1); }
+
+.eureka .eureka__td-media {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__show-for-mobile-up p, .eureka .eureka__show-for-mobile-up textarea {
+ max-height: 3em;
+ overflow-y: auto;
+ display: block;
+ width: 100%; } }
+
+.eureka .eureka__pathbar textarea {
+ resize: none; }
+
+.eureka label[for="eureka__crop_show-adv-controls"] {
+ position: absolute;
+ top: .75em;
+ right: 1em; }
+
+.eureka .eureka__crop-modal .icon-bar {
+ margin-top: 1em;
+ font-size: 16px;
+ font-size: 1rem; }
+ .eureka .eureka__crop-modal .icon-bar label[for="eureka__crop-drag-mode-move"] {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar button, .eureka .eureka__crop-modal .icon-bar .button {
+ border-radius: 0; }
+ .eureka .eureka__crop-modal .icon-bar button:first-child, .eureka .eureka__crop-modal .icon-bar .button:first-child {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar button:last-child, .eureka .eureka__crop-modal .icon-bar .button:last-child {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar.flex-bar > * {
+ margin-right: 0; }
+ .eureka .eureka__crop-modal .icon-bar button {
+ font-size: 16px;
+ font-size: 1rem; }
+
+.eureka .eureka__crop-modal .wrappable.flex-bar {
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ margin-bottom: 32px;
+ margin-bottom: 2rem; }
+ .eureka .eureka__crop-modal .wrappable.flex-bar > * {
+ padding-left: 16px;
+ padding-left: 1rem;
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .eureka__crop-modal .wrappable.flex-bar summary {
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+
+.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box {
+ margin-top: 16px;
+ margin-top: 1rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label {
+ margin-bottom: 0; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label[for="eureka__crop-aspect-ratio"] {
+ line-height: 2; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[type="number"] {
+ width: 5em; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[id*="eureka__crop-scale"] {
+ width: 4em; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box summary {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div > *, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div > * {
+ margin-right: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div:last-child, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div:last-child {
+ margin-right: 0; } }
+
+.eureka [hidden] {
+ display: none !important; }
+
+.eureka .eureka__crop-save-as-checkbox {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+.eureka .eureka__crop-as {
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .eureka__crop-as input[type="text"] {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; }
+
+.eureka label[for="eureka__crop-save-as-name"] {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+.eureka label[for="eureka__crop-aspect-ratio-remember"] {
+ line-height: 2; }
+
+.eureka label[for="eureka__crop-rotate"] + input[type="range"] {
+ min-width: 14em; }
+
+.eureka .eureka__choose-multile > label {
+ display: block;
+ height: 100%; }
+
+.dangerous {
+ color: red;
+ color: var(--dangerous, red); }
+
+input:not([type="checkbox"]):not([type="radio"]):focus {
+ outline: 1px solid #3697cd;
+ outline: 1px solid var(--active, #3697cd); }
+
+tr[tabindex]:focus, tr.eureka__context-row:focus, [role="listbox"]:focus {
+ outline: 1px solid #3697cd;
+ outline: 1px solid var(--active, #3697cd); }
+
+summary:focus {
+ outline: none;
+ font-weight: bold;
+ color: #3697cd;
+ color: var(--active, #3697cd); }
+
+.eureka .eureka__tree-bar, .flex-bar, .eureka .eureka__button-bar {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .wrappable.eureka__tree-bar, .wrappable.flex-bar, .eureka .wrappable.eureka__button-bar {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .eureka .wrappable.eureka__tree-bar > *, .wrappable.flex-bar > *, .eureka .wrappable.eureka__button-bar > * {
+ padding-left: 16px;
+ padding-left: 1rem;
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .balanced.eureka__tree-bar, .balanced.flex-bar, .eureka .balanced.eureka__button-bar {
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka .eureka__tree-bar > *, .flex-bar > *, .eureka .eureka__button-bar > * {
+ margin-right: 8px;
+ margin-right: .5rem; }
+ .eureka .eureka__tree-bar > *.growable, .flex-bar > *.growable, .eureka .eureka__button-bar > *.growable {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; }
+ .eureka .eureka__tree-bar > *:last-child, .flex-bar > *:last-child, .eureka .eureka__button-bar > *:last-child {
+ margin-right: 0; }
+
+[role="dialog"] .flex-bar {
+ margin-top: 8px;
+ margin-top: .5rem; }
+
+.eureka .eureka__button-bar, .eureka .eureka__notice {
+ text-align: center; }
+
+a[role="presentation"] {
+ color: currentColor !important;
+ text-decoration: none !important; }
+
+@-webkit-keyframes spinner {
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+@keyframes spinner {
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+.icon-circle-o-notch {
+ -webkit-animation: spinner 1s linear infinite;
+ animation: spinner 1s linear infinite; }
+
+.eureka__table tr[tabindex].eureka__focused-media-item .eureka__td-filename {
+ font-weight: bold; }
+
+.eureka__table tr[tabindex]:target .eureka__td-media > * {
+ outline: 3px solid #32AB9A; }
+
+.eureka__table tr[tabindex]:target .eureka__td-filename {
+ font-weight: bold; }
+
+/* start leave out */
+/*body {
+ background:$gray;
+ font: normal .8125em/1.375em "Helvetica Neue", Helvetica, Arial, Tahoma, sans-serif;
+ //font-family: "Helvetica Neue", Helvetica, Arial, Tahoma, sans-serif;
+ color:$color;
+ margin:0;
+ padding:0.5rem;
+}*/
+/* end leave out */
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__context-buttons {
+ border: 1px solid #dddddd;
+ border: var(--border-width, 1px) var(--border-style, solid) var(--panel-border-color, #dddddd); }
+
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__table td.comfortable {
+ padding: 16px;
+ padding: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__table td.comfortable {
+ padding: .5rem; } }
+
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel {
+ border-radius: 0.25rem;
+ background: white;
+ background: var(--light-bg, white); }
+
+.eureka-root .eureka__notification-wrapper > * {
+ border-radius: 0.25rem;
+ padding-left: 1.5em;
+ padding-right: 1.5em;
+ background: #d9edf7;
+ background: var(--notification-background, #d9edf7);
+ color: #1D6E95;
+ color: var(--notification-color, #1D6E95);
+ border: 1px solid #309dd4;
+ border: 1px solid var(--notification-border-color, var(--notification-color, #309dd4)); }
+ .eureka-root .eureka__notification-wrapper > * a {
+ color: currentColor; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper > * br {
+ display: none; } }
+ .eureka-root .eureka__notification-wrapper > * button {
+ position: absolute;
+ top: 4px;
+ top: .25rem;
+ right: 4px;
+ right: .25rem;
+ color: currentColor;
+ -webkit-transition: color 240ms ease;
+ transition: color 240ms ease;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .eureka-root .eureka__notification-wrapper > * button:focus, .eureka-root .eureka__notification-wrapper > * button:hover {
+ color: #247fad !important;
+ color: var(--notification-focus-color, #247fad) !important;
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .eureka-root .eureka__notification-wrapper > * button:focus svg, .eureka-root .eureka__notification-wrapper > * button:hover svg {
+ fill: currentColor !important; }
+ .eureka-root .eureka__notification-wrapper > .eureka__dangerous {
+ --notification-background: #f7a2a2;
+ --notification-color: #911912;
+ --notification-border-color: #911912;
+ --notification-focus-color: #911912; }
+
+.eureka {
+ /* styling of blink/webkit marker */
+ /* styling of fierfox marker */
+ /*&.eureka__view-mode__table, &.eureka__view-mode__list {
+ .eureka__pathbar {
+ .eureka__context-buttons {
+ display:none;
+ }
+ }
+ }*/
+ /*&.eureka__view-mode__thumb {
+
+ }
+
+ &.eureka__view-mode__grid {
+
+ }
+
+ &.eureka__view-mode__list {
+
+ }*/
+ /*.eureka__tree-toggle {
+ //margin-bottom:1rem;
+ @include media($gtMobile) {
+ //margin-bottom:0;
+ button {
+ //@include button-reset;
+ }
+ }
+ }*/
+ /*#eureka__tree-toggle__button {
+ position:relative;
+ svg {
+ position:absolute;
+ top:0;
+ bottom:0;
+ }
+ }*/ }
+ .eureka .eureka__notification-wrapper {
+ -webkit-transition: top 240ms ease 90ms, opacity 240ms ease;
+ transition: top 240ms ease 90ms, opacity 240ms ease;
+ opacity: 1;
+ top: 0;
+ text-align: center; }
+ .eureka .eureka__notification-wrapper > * {
+ position: relative; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__notification-wrapper {
+ -webkit-transition: opacity 240ms ease;
+ transition: opacity 240ms ease;
+ left: 0;
+ right: 0; } }
+ .eureka .eureka__notification-wrapper[aria-hidden="true"] {
+ opacity: 0;
+ top: -5em;
+ display: block;
+ -webkit-transition: opacity 340ms ease-out 90ms, top 420ms ease-out;
+ transition: opacity 340ms ease-out 90ms, top 420ms ease-out; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__notification-wrapper {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: .25rem; } }
+ .eureka .eureka__notification-wrapper p {
+ margin: 0; }
+ .eureka .eureka__notification-wrapper .icon {
+ -webkit-transform: translateY(0.125em);
+ transform: translateY(0.125em); }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label {
+ cursor: default;
+ position: relative;
+ padding-left: 1.5em; }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label .spinner {
+ position: absolute;
+ top: 0;
+ left: .275em;
+ bottom: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label:hover {
+ background: white;
+ background: var(--button-bg, white);
+ color: #555555;
+ color: var(--button-color, #555555); }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label:hover svg {
+ fill: currentColor; }
+ .eureka a {
+ color: #3697cd;
+ color: var(--link-color, #3697cd); }
+ .eureka h1, .eureka h2, .eureka h3, .eureka h4, .eureka h5, .eureka h6 {
+ font-weight: normal; }
+ .eureka h1, .eureka h2, .eureka h3, .eureka h4, .eureka h5, .eureka h6, .eureka thead {
+ color: #555555;
+ color: var(--subtle, #555555); }
+ .eureka select {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em;
+ padding-right: 1.5em;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-image: url("data:image/svg+xml;utf8, ");
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-scale: 70% 70%;
+ background-position: right .5em;
+ /*&:hover {
+ background: transparent;
+ //background-image: url('../img/select-arrow.svg');
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-scale: 70% 70%;
+ background-position: right .5em;
+ color: currentColor;
+ //--border-color: var(--active, $active);
+ }*/ }
+ @media screen and (max-width: 640px) {
+ .eureka select {
+ width: 100%;
+ margin-top: .5em; } }
+ .eureka select:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+
+@-moz-document url-prefix() {
+ .eureka select {
+ background-image: url("../img/select-arrow.svg"); } }
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ margin-bottom: 16px;
+ margin-bottom: 1rem;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4, 0 0.25em 0 #c5c5c5;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4), 0 0.25em 0 var(--border-color, #c5c5c5);
+ box-shadow: 0 0 0 1px #E4E4E4, 0 0.25em 0 #c5c5c5;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4), 0 0.25em 0 var(--border-color, #c5c5c5);
+ /*&[aria-pressed="true"] {
+ box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, darken(#E4E4E4, 12%));
+ }*/ }
+ .eureka button[id^="eureka__tree-toggle__button"]:focus {
+ --button-color: #3697cd;
+ --button-color: var(--active, #3697cd); }
+ @media screen and (max-width: 640px) {
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ width: 100%;
+ min-height: 1.75rem; } }
+ @media screen and (min-width: 641px) {
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ margin-bottom: 0; } }
+ .eureka *:disabled {
+ cursor: not-allowed; }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > *:last-child {
+ background-color: #32AB9A;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#32AB9A), to(#00948E));
+ background-image: linear-gradient(#32AB9A, #00948E);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: white; }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :hover:last-child, .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :focus:last-child {
+ --border-color: #007571;
+ background-color: #2b9385;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#2b9385), to(#007571));
+ background-image: linear-gradient(#2b9385, #007571);
+ color: white;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4); }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :disabled:last-child {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka a.button {
+ text-decoration: none; }
+ .eureka button, .eureka .button {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em; }
+ .eureka button:focus, .eureka .button:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka button:hover, .eureka .button:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka button:hover svg, .eureka .button:hover svg {
+ fill: white; }
+ .eureka button.eureka__primary, .eureka .button.eureka__primary {
+ background-color: #32AB9A;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#32AB9A), to(#00948E));
+ background-image: linear-gradient(#32AB9A, #00948E);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: white; }
+ .eureka button.eureka__primary:hover, .eureka button.eureka__primary:focus, .eureka .button.eureka__primary:hover, .eureka .button.eureka__primary:focus {
+ --border-color: #007571;
+ background-color: #2b9385;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#2b9385), to(#007571));
+ background-image: linear-gradient(#2b9385, #007571);
+ color: white;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4); }
+ .eureka button.eureka__primary:disabled, .eureka .button.eureka__primary:disabled {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka button.dangerous:hover, .eureka button.dangerous:active, .eureka button.dangerous:focus, .eureka button.dangerous:target, .eureka .button.dangerous:hover, .eureka .button.dangerous:active, .eureka .button.dangerous:focus, .eureka .button.dangerous:target {
+ --border-color: #b80000;
+ --border-color: var(--border-color-dangerous, #b80000);
+ background-color: red;
+ color: white;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(red), to(#cc0000));
+ background-image: linear-gradient(red, #cc0000); }
+ .eureka [aria-hidden="true"] button.eureka__primary, .eureka [aria-hidden="true"] .button.eureka__primary {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em; }
+ .eureka [aria-hidden="true"] button.eureka__primary:focus, .eureka [aria-hidden="true"] .button.eureka__primary:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka [aria-hidden="true"] button.eureka__primary:hover, .eureka [aria-hidden="true"] .button.eureka__primary:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka [aria-hidden="true"] button.eureka__primary:hover svg, .eureka [aria-hidden="true"] .button.eureka__primary:hover svg {
+ fill: white; }
+ .eureka input[type="text"] {
+ padding-left: 8px;
+ padding-left: 0.5rem;
+ padding-right: 8px;
+ padding-right: 0.5rem; }
+ .eureka input[type="text"] {
+ border-width: 1px;
+ border-width: var(--border-width, 1px);
+ border-style: solid;
+ border-style: var(--border-style, solid);
+ border-color: #E4E4E4;
+ border-color: var(--border-color, #E4E4E4); }
+ .eureka fieldset {
+ border: none; }
+ @media screen and (max-width: 640px) {
+ .eureka fieldset {
+ border-width: 1px;
+ border-width: var(--border-width, 1px);
+ border-style: solid;
+ border-style: var(--border-style, solid);
+ border-color: #E4E4E4;
+ border-color: var(--border-color, #E4E4E4);
+ border-radius: 0.25rem;
+ border-radius: var(--border-color, 0.25rem); } }
+ .eureka .active {
+ font-weight: bold; }
+ .eureka details details {
+ padding-left: .5em; }
+ .eureka menu {
+ display: none; }
+ .eureka img {
+ max-width: 100%; }
+ .eureka .alert-info {
+ background-color: #d9edf7;
+ background-color: var(--light-bg, #d9edf7);
+ border-color: #bce8f1;
+ border-color: var(--border-color, #bce8f1);
+ color: #31708f;
+ color: var(--subtle, #31708f); }
+ .eureka .alert-success {
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+ color: #3c763d; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__button-bar > * {
+ margin-right: 0; } }
+ .eureka .eureka__tree {
+ margin-bottom: 16px;
+ margin-bottom: 1rem;
+ line-height: 1.6;
+ line-height: var(--tree-line-height, 1.6); }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__tree {
+ margin-bottom: .5rem; } }
+ @media (pointer: coarse) {
+ .eureka .eureka__tree {
+ font-size: 1.4em;
+ line-height: 1.8;
+ line-height: var(--tree-course-line-height, 1.8); } }
+ .eureka .eureka__context-buttons {
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ background: #f7f7f7;
+ background: var(--button-bg, #f7f7f7);
+ border-left: 0;
+ border-right: 0;
+ padding: 8px 0;
+ padding: .5rem 0; }
+ .eureka .eureka__context-buttons > a.button, .eureka .eureka__context-buttons button {
+ font-size: 11px;
+ font-size: .6875rem; }
+ .eureka.eureka__view-mode__list .eureka__context-buttons {
+ padding-top: 5.6px;
+ padding-top: .35rem;
+ padding-bottom: 5.6px;
+ padding-bottom: .35rem; }
+ .eureka.eureka__view-mode__list .eureka__context-buttons > a.button, .eureka.eureka__view-mode__list .eureka__context-buttons button {
+ font-size: 9.6px;
+ font-size: .6rem; }
+ .eureka .eureka__table {
+ min-width: 100%; }
+ .eureka .eureka__table tr[contextmenu] {
+ padding-bottom: 8px;
+ padding-bottom: .5rem;
+ /*&:first-child {
+ padding-top:0;
+ }*/ }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__table tr[contextmenu] {
+ padding-top: .5rem; } }
+ .eureka .eureka__table tr[contextmenu].eureka__focused-media-item:last-child {
+ padding-bottom: 0; }
+ .eureka .eureka__table td.comfortable p[class^="alert"] {
+ margin: 0; }
+ .eureka .eureka__td-media {
+ background: transparent;
+ background: var(--media-cell-background, transparent); }
+ .eureka .eureka__stage {
+ padding: 0;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage {
+ margin-bottom: 0; } }
+ .eureka .eureka__stage h1:first-child, .eureka .eureka__stage h2:first-child, .eureka .eureka__stage h3:first-child {
+ margin-top: 0; }
+ .eureka .eureka__stage__filter-view {
+ padding: 8px;
+ padding: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__stage__filter-view {
+ padding-bottom: 0; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ line-height: 2;
+ font-size: 16px;
+ font-size: 1rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ font-size: 0.8rem;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ max-width: 22em; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar label {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ margin-bottom: 0; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar input {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ font-size: inherit; }
+ .eureka .eureka__media-directory-selector {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__media-directory-selector {
+ margin-right: auto;
+ margin-bottom: 0.5rem; } }
+ .eureka .eureka__media-directory-selector button[type="submit"] {
+ margin-left: 16px;
+ margin-left: 1rem; }
+ .eureka .eureka__media-directory-selector form {
+ position: relative;
+ /*&::after {
+ display:inline-block;
+ width:1em;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ background:red;
+ content:'.';
+ }*/ }
+ .eureka .eureka__tree-bar {
+ margin: 8px 0 0 0;
+ margin: .5rem 0 0 0; }
+ .eureka .eureka__tree-bar > * {
+ margin: 0 8px 0 0;
+ margin: 0 .5rem 0 0; }
+ .eureka .eureka__tree-bar > *:last-child {
+ margin-right: 0; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__tree-bar {
+ margin-top: 1rem; } }
+ .eureka .eureka__tree-bar button, .eureka .eureka__tree-bar .button {
+ font-size: 16px;
+ font-size: 1rem;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka .eureka__media-source-selector {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ .eureka .eureka__media-source-selector h2:first-child, .eureka .eureka__media-source-selector h3:first-child {
+ margin-top: 0; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__upload-form {
+ margin-bottom: 1rem; } }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__upload-form label {
+ display: block; } }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em;
+ font-size: 11px;
+ font-size: .6875rem;
+ text-align: center; }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:hover svg {
+ fill: white; }
+ .eureka .eureka__choose-bar {
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ /*@include media($gtMobile) {
+ justify-content:flex-end;
+ }*/ }
+ .eureka .eureka__choose-bar[aria-hidden="true"] {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka .eureka__choose-bar button {
+ font-size: 16px;
+ font-size: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__choose-bar button {
+ font-size: .8rem; } }
+ .eureka .eureka__pathbrowser {
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__pathbrowser {
+ margin-bottom: 0; } }
+ .eureka .eureka__pathbrowser nav {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ .eureka .eureka__pathbrowser details > summary svg {
+ -webkit-transform: translateY(0.2em);
+ transform: translateY(0.2em);
+ margin-right: 0.25em; }
+ .eureka .eureka__pathbrowser details > summary > .icon-folder-open {
+ display: none; }
+ .eureka .eureka__pathbrowser details[open] > summary > .icon-folder-open {
+ display: inline-block; }
+ .eureka .eureka__pathbrowser details[open] > summary > .icon-folder {
+ display: none; }
+ .eureka .eureka__pathbar {
+ padding: 8px;
+ padding: .5rem;
+ margin-bottom: 8px;
+ margin-bottom: .5rem;
+ margin-top: 8px;
+ margin-top: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__pathbar {
+ margin-bottom: 0; } }
+ .eureka .eureka__pathbar summary {
+ word-wrap: break-word; }
+ .eureka .eureka__pathbar details > div {
+ padding-top: 16px;
+ padding-top: 1rem; }
+ .eureka .eureka__pathbar .eureka__context-buttons {
+ background: none;
+ border: none; }
+ .eureka .eureka__layout-chooser {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ .eureka .eureka__layout-chooser fieldset {
+ margin: 0;
+ padding: .5em 0; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__layout-chooser fieldset {
+ padding: 0; } }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns > div {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] {
+ /*&:focus {
+ + {
+ label {
+ outline: 1px solid var(--active, $active);
+ }
+ }
+ }*/ }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"]:checked + label svg[class^="icon"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"]:checked + label svg[class^="icon"] {
+ fill: #3697cd;
+ fill: var(--active, #3697cd); }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns label {
+ font-size: 22.4px;
+ font-size: 1.4rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka svg[class^="icon"] {
+ position: relative;
+ width: 1em;
+ height: 1em;
+ fill: currentColor; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__hide-for-mobile-up {
+ display: none; } }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__show-for-mobile-up {
+ display: none; } }
+ .eureka .eureka__drop-area {
+ -webkit-box-flex: 2;
+ -ms-flex: 2 8 auto;
+ flex: 2 8 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ cursor: pointer; }
+ .eureka .eureka__drop-area-zone {
+ width: 100%;
+ padding: 8px;
+ padding: .5rem;
+ border-width: 2px;
+ border-color: #dddddd;
+ border-color: var(--very-subtle, #dddddd);
+ border-style: dashed;
+ border-radius: 5px;
+ background-color: transparent;
+ -webkit-transition: border-color 240ms ease, background-color 320ms ease 120ms;
+ transition: border-color 240ms ease, background-color 320ms ease 120ms;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: none; }
+ @media screen and (min-height: 360px) {
+ .eureka .eureka__drop-area-zone {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+ .eureka .eureka__drop-area-zone svg {
+ font-size: 4em;
+ fill: #dddddd;
+ fill: var(--very-subtle, #dddddd);
+ -webkit-transition: fill 240ms ease 160ms, opacity 240ms ease;
+ transition: fill 240ms ease 160ms, opacity 240ms ease;
+ opacity: 0.42;
+ opacity: var(--very-subtle-icon-opacity, 0.42);
+ max-height: 100%; }
+ .eureka .eureka__drop-area-zone.eureka__drop-area-zone-active {
+ background-color: #d9ecf6;
+ border-color: #3697cd;
+ border-color: var(--active, #3697cd);
+ -webkit-transition: border-color 240ms ease 120ms, background-color 320ms ease 0;
+ transition: border-color 240ms ease 120ms, background-color 320ms ease 0; }
+ .eureka .eureka__drop-area-zone.eureka__drop-area-zone-active svg {
+ fill: #3697cd;
+ fill: var(--active, #3697cd);
+ opacity: 1; }
+ .eureka .eureka__modal {
+ z-index: 100009;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka .eureka__modal .eureka__modal-scrim {
+ background: rgba(8, 8, 8, 0.25);
+ z-index: 0; }
+ .eureka .eureka__modal .eureka__modal-panel {
+ min-width: 30vw;
+ max-width: 70vw;
+ max-height: 70vh;
+ position: relative;
+ z-index: 99999; }
+ .eureka .eureka__modal .eureka__modal-panel h1:first-child, .eureka .eureka__modal .eureka__modal-panel h2:first-child, .eureka .eureka__modal .eureka__modal-panel h3:first-child {
+ margin-top: 0; }
+ .eureka .eureka__modal .eureka__modal-panel summary label {
+ display: block;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel summary label[for="eureka__crop-upload-file"] {
+ margin-bottom: 0; }
+ .eureka .eureka__modal .eureka__modal-panel input[type="text"] {
+ width: 100%;
+ font-size: 1.4em; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__button-bar {
+ margin-top: 8px;
+ margin-top: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__button-bar > * {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka .eureka__modal.eureka__greedy .eureka__modal-panel {
+ max-width: calc(100vw - 2rem);
+ max-height: calc(100vh - 2rem); }
+
+@media screen and (max-width: 640px) {
+ .eureka-root .eureka__sticky-bar {
+ z-index: 99999;
+ position: -webkit-sticky;
+ position: sticky;
+ left: 0.5rem;
+ right: 0.5rem;
+ top: 0; }
+ .eureka-root .eureka__sticky-bar .eureka__notification-wrapper {
+ /*transform: translateY(-5em);
+ &[aria-hidden="false"] {
+ transform: translateY(0);
+ }*/ } }
+
+.eureka-root .eureka__notification-wrapper {
+ z-index: 99999;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper {
+ margin-bottom: 0; } }
+ .eureka-root .eureka__notification-wrapper button {
+ display: inline;
+ background: transparent;
+ border: none;
+ padding: 0; }
+ .eureka-root .eureka__notification-wrapper button:hover, .eureka-root .eureka__notification-wrapper button:focus {
+ background: transparent !important;
+ border: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important; }
+
+.eureka-root .eureka__notification-wrapper > * {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper > * {
+ display: inline-block; } }
+
+.eureka-root .eureka__choose-radio {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__choose-radio {
+ margin-bottom: 0;
+ -webkit-transform: translateY(0.3em);
+ transform: translateY(0.3em);
+ z-index: 0; } }
+ .eureka-root .eureka__choose-radio fieldset {
+ border: none; }
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9zY3NzL21haW4uc2NzcyIsInNyYy9zY3NzL3NwZWMvX3RhY3VsYXIuc2NzcyIsIm1haW4uY3NzIiwic3JjL3Njc3MvbGF5b3V0L19sYXlvdXQuc2NzcyIsInNyYy9zY3NzL25lYXQvZ3JpZC9fbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPRTtFQUNFLCtCQUFzQjtVQUF0Qix1QkFBc0IsRUFDdkI7O0FBQ0Q7RUFJSSw0QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ3BCOztBQXVTTDtFQ3ZRSSxZQUFVLEVBQ2I7O0FEc1FEO0VDM1BJLGdCQUFjLEVBQ2pCOztBRDBQRDtFQy9NSSxtQkFBaUI7RUFDakIsT0FBSztFQUNMLFFBQU07RUFDTixTQUFPO0VBQ1AsVUFBUSxFQUtYOztBQXNCRDs7RUFFRTtBRGhHRjtFQUNFLGlFQUE2SDtFQUE3SCx5SEFBNkg7VUFBN0gseURBQTZIO1VBQTdILGlIQUE2SCxFQUM5SDs7QUFFRDtFQUFtQiw2RkFBNkY7RUFuQjlHLDhCQUE2QjtFQUM3Qiw0QkFBMkI7RUFBRSxjQUFjO0VBQzNDLCtCQUE4QjtFQUM5QixzQkFBb0I7RUFDcEIscUJBQW1CO0VBQ25CLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsaUJBQWdCLEVBY2pCO0VBYkM7SUFFSSx5QkFBd0IsRUFDekI7O0FFR0w7RUN0Q0UsV0FBUyxFQU9WO0VDOEVHO0lGNUNBO01DdkNBLHFCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsbUJBQWlCO01BQ2pCLDZCQUFzQjtNQUF0Qiw4QkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQixFQUd6QixFQUFBOztBQUVEO0VBd0dFOzs7Ozs7Ozs7OztLQVdHLEVBc0VKO0VBekxEO0lBR0ksYUFBWTtJQUNaLGNBQWE7SUFDYixpQkFBZ0I7SUFDaEIsb0JBQW9DO0lBQXBDLHFDQUFvQyxFQUNyQztFQVBIO0lBVUksaUJBQWtCO0lBQWxCLG1CQUFrQixFQUNuQjtFQVhIO0lBa0JZLDBCQUF5QixF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LEVBQ0osRUFBQTs7QUFmUDtFQW9CSSxlQ3BqQ1U7RURxakNWLG1CQUFvQjtFQUFwQixxQkFBb0IsRUFnQnJCO0VJL2dDQztJSjArQko7TUF1Qk0saUJBQWdCLEVBY25CLEVBQUE7RUFyQ0g7SUEwQk0sZ0JBQWU7SUFDZix3QkFBdUI7SUFDdkIsYUFBWTtJQUNaLFdBQVUsRUFPWDtJQXBDTDtNQStCUSxtQ0FBa0M7TUFDbEMsd0JBQXVCO01BRXZCLG9DQUEyQjtjQUEzQiw0QkFBMkIsRUFDNUI7O0FBbkNQO0VBd0NJLGVBQWM7RUFJZCxrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ25CO0VJeGhDQztJSjArQko7TUEwQ00sc0JBQXFCLEVBSXhCLEVBQUE7O0FBOUNIO0VBZ0RJLG9CQUFtQjtFQUFuQixvQkFBbUIsRUFTcEI7RUluaUNDO0lKMCtCSjtNQWtETSxpQkFBZ0I7TUFDaEIscUNBQTJCO2NBQTNCLDZCQUEyQjtNQUMzQixXQUFVLEVBS2IsRUFBQTtFQXpESDtJQXVETSxhQUFZLEVBQ2IiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W251bGwsbnVsbCwiLmV1cmVrYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmV1cmVrYSAqLCAuZXVyZWthICo6OmFmdGVyLCAuZXVyZWthICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgaW1nLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIGltZywgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3Igc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmV1cmVrYSB0aFthcmlhLXNvcnRdLCAuZXVyZWthIHNlbGVjdCwgLmV1cmVrYSBidXR0b24sIC5ldXJla2EgLmJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmV1cmVrYSAuZXVyZWthX19tb2RhbCwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1zY3JpbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi8qXG5odHRwOi8vd3d3LnBoYXNlMnRlY2hub2xvZ3kuY29tL2Jsb2cvZXhwbG9yaW5nLW1hcHMtaW4tc2Fzcy0zLTMvXG4qL1xuLmV1cmVrYSBpbnB1dFthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdICsgbGFiZWwsIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLCAuZXVyZWthIGJ1dHRvblthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1zaGFkb3ctY29sb3IsICNFNEU0RTQpLCBpbnNldCAwIDAuMTc1ZW0gMCB2YXIoLS1ib3JkZXItc2hhZG93LWNvbG9yLCAjYzVjNWM1KTsgfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLnZpc3VhbGx5LWhpZGRlbiwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIGxlZ2VuZCwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAvKmh0dHBzOi8vZGV2ZWxvcGVyLnlhaG9vLmNvbS9ibG9ncy95ZG4vY2xpcC1oaWRkZW4tY29udGVudC1iZXR0ZXItYWNjZXNzaWJpbGl0eS01MzQ1Ni5odG1sKi9cbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBhLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSBib2R5OmhvdmVyIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGEsIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBhLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIGJvZHk6aG92ZXIgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkgYSwgYm9keTpob3ZlciAudmlzdWFsbHktaGlkZGVuIGEsIGJvZHk6aG92ZXIgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdIGEsIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJmaWxlXCJdIGEsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBsZWdlbmQgYSwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBib2R5OmhvdmVyIGxlZ2VuZCBhLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBhLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBhLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBhLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBhLCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGlucHV0LCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSBib2R5OmhvdmVyIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkgaW5wdXQsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBpbnB1dCwgYm9keTpob3ZlciAudmlzdWFsbHktaGlkZGVuIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSBpbnB1dCwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0gaW5wdXQsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBsZWdlbmQgaW5wdXQsIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgYm9keTpob3ZlciBsZWdlbmQgaW5wdXQsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIGlucHV0LCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBpbnB1dCwgYm9keTpob3ZlciAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gaW5wdXQsIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGJ1dHRvbiwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIGJvZHk6aG92ZXIgLnZpc3VhbGx5LWhpZGRlbiBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdIGJ1dHRvbiwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0gYnV0dG9uLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgbGVnZW5kIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBib2R5OmhvdmVyIGxlZ2VuZCBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgYm9keTpob3ZlciBpbnB1dFt0eXBlPVwicmFkaW9cIl0gYnV0dG9uLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBidXR0b24sIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbltjbGFzcyo9XCJtb2RhbC1zZWN0aW9uXCJdLCBbY2xhc3MqPVwiZXVyZWthLXdyYXBwZXJcIl0ge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgW2NsYXNzKj1cIm1vZGFsLXNlY3Rpb25cIl0sIFtjbGFzcyo9XCJldXJla2Etd3JhcHBlclwiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi5ldXJla2Etcm9vdCB7XG4gIC8qLmV1cmVrYSB7XG4gICAgdGJvZHkge1xuICAgICAgJjpub3QoLmVtcHR5KSB7XG4gICAgICAgID4gdHI6bm90KC5lbXB0eSkge1xuICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlwibWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIiBcImFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9uc1wiO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDI0JSAxMiUgMTIlIDEyJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0qLyB9XG4gIC5ldXJla2Etcm9vdDotd2Via2l0LWZ1bGwtc2NyZWVuIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNvbG9yLCAjZWNlY2VjKTsgfVxuICAuZXVyZWthLXJvb3QgbGFiZWxbZm9yKj1cImZ1bGxzY3JlZW4tdG9nZ2xlXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0ci5ldXJla2FfX2ZvY3VzZWQtbWVkaWEtaXRlbSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3csIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHIuZXVyZWthX19mb2N1c2VkLW1lZGlhLWl0ZW0gPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0ci5ldXJla2FfX2ZvY3VzZWQtbWVkaWEtaXRlbSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cyA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93W2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHIgPiB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHIgPiB0ZC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cyA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOmZvY3VzID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cy13aXRoaW4gPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSBhbmQgKCBub3QgKGRpc3BsYXk6Z3JpZCkgKSB7XG4gICAgICAgfSovIH1cbiAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+ICoge1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkIC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IG1lZGlhOyB9XG4gICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQgLmV1cmVrYV9fdGQtZmlsZW5hbWUge1xuICAgICAgICAgIGdyaWQtYXJlYTogbmFtZTsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3cge1xuICAgICAgICAgIGdyaWQtYXJlYTogYWN0aW9uczsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZGltZW5zaW9ucyB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19kaW1lbnNpb25zIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgICAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBlZGl0ZWQtb247IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2Nob29zZSB7XG4gICAgICBncmlkLWFyZWE6IGNob29zZTsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgIGdyaWQtYXJlYTogbWVkaWE7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX190ZC1maWxlbmFtZSB7XG4gICAgICBncmlkLWFyZWE6IG5hbWU7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgICBncmlkLWFyZWE6IGFjdGlvbnM7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19kaW1lbnNpb25zIHtcbiAgICAgIGdyaWQtYXJlYTogZGltZW5zaW9uczsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZGltZW5zaW9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZmlsZS1zaXplIHtcbiAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICBncmlkLWFyZWE6IGVkaXRlZC1vbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZWRpdGVkLW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNob29zZSBtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnNcIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIGF1dG8gMjQlIDEyJSAxMiUgMTIlOyB9IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nob29zZS1yYWRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtcmFkaW8gZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY2hvb3NlLXJhZGlvIC5ldXJla2FfX2ZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtcmFkaW8gLmV1cmVrYV9fZmllbGRzZXQgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0aGVhZCA+IHRyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIDE2JSA0MCUgOCUgYXV0byBhdXRvICFpbXBvcnRhbnQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmFkaW8gbmFtZSBtZWRpYSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIiAhaW1wb3J0YW50OyB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0aGVhZCA+IHRyIHRoOm50aC1vZi10eXBlKDMpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJyZW0gMTYlIDQwJSA4JSBhdXRvIGF1dG8gIWltcG9ydGFudDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJyYWRpbyBuYW1lIG1lZGlhIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiICFpbXBvcnRhbnQ7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZCB7XG4gICAgICAvKiY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgIGdyaWQtYXJlYTptZWRpYTtcbiAgICAgICAgICAgfVxuICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICBncmlkLWFyZWE6bmFtZTtcbiAgICAgICAgICAgfVxuICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICBncmlkLWFyZWE6YWN0aW9ucztcbiAgICAgICAgICAgfSovIH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX190ZC1maWxlbmFtZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg0KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZGltZW5zaW9ucyAhaW1wb3J0YW50OyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZS5ldXJla2FfX3RhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmaWxlLXNpemUgIWltcG9ydGFudDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg2KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZWRpdGVkLW9uICFpbXBvcnRhbnQ7IH0gfVxuXG4uZXVyZWthLXJvb3Qge1xuICBwYWRkaW5nOiAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRhYmxlID4gdGhlYWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgICAvKiBJRTYsIElFNyAqL1xuICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYSB0YWJsZSA+IHRoZWFkIGEsIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EgdGFibGUgPiB0aGVhZCBpbnB1dCwgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYSB0YWJsZSA+IHRoZWFkIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHkgPiB0ciA+IHRkOm5vdCguZXVyZWthX19jb250ZXh0LXJvdykge1xuICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07IH0gfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0Ym9keSA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJjaG9vc2UgY2hvb3NlIGNob29zZSBjaG9vc2UgY2hvb3NlIGNob29zZVwiIFwibWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWFcIiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZSBuYW1lXCIgXCJhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9uc1wiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJjaG9vc2UgbWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIGF1dG8gMjQlIDEyJSAxMiUgMTIlOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNob29zZSBjaG9vc2UgY2hvb3NlIGNob29zZSBjaG9vc2UgY2hvb3NlXCIgXCJtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYVwiOyB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUge1xuICAgIC8qPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiO1xuICAgICAgIH0qLyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtZ2FwOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0Ym9keSA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIDI0JSAxMiUgMTIlIDEyJTsgfSB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWFcIiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZVwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH0gfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5LmVtcHR5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkuZW1wdHkgPiB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbFtmb3IqPVwidXBsb2FkLWZvcm1cIl0sIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgLmV1cmVrYV9fdHJlZS10b2dnbGUgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWxbZm9yKj1cInVwbG9hZC1mb3JtXCJdIHtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmFkaW8gbWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMnJlbSA0MCUgMjQlIGF1dG8gYXV0byBhdXRvOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDEpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIGdyaWQtYXJlYTogcmFkaW87IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgyKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoMiksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtZWRpYTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDMpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSgzKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGg6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGg6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICBncmlkLWFyZWE6IG5hbWU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg1KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoNSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoNiksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDYpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg2KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoNyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDcpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg3KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZWRpdGVkLW9uOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkge1xuICAgIGdyaWQtYXJlYTogbm9uZTsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIgdGQ6Zmlyc3QtY2hpbGQsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGhlYWQgPiB0ciB0aDpmaXJzdC1jaGlsZCwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHRkOmZpcnN0LWNoaWxkLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZVwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5ldXJla2FfX2Nob29zZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH0gfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYV9fdGFibGUgaW1nLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdGFibGUgZW1iZWQsIC5ldXJla2Etcm9vdCAuZXVyZWthX190YWJsZSBvYmplY3QsIC5ldXJla2Etcm9vdCAuZXVyZWthX190YWJsZSB2aWRlbyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYS1yb290IHtcbiAgICAvKmRpc3BsYXk6Z3JpZDtcbiAgICBncmlkLWdhcDowO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoyMHZ3IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcImhlYWRlciBoZWFkZXJcIiBcInNpZGViYXIgY29udGVudFwiIFwiZm9vdGVyIGZvb3RlclwiOyovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHtcbiAgICAgICAgLypAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgfSovIH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fcGF0aGJyb3dzZXIge1xuICAgICAgICAgIGZsZXg6IDAgMCAxNHJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fcGF0aGJyb3dzZXJbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3BhdGhicm93c2VyW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSB7XG4gICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciA+IGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciA+IGgyIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fdGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwIC41cmVtIC41cmVtIDA7IH1cbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3RhYmxlLXdyYXBwZXIgPiBkaXYge1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3RhYmxlLXdyYXBwZXIgPiBkaXYgPiB0YWJsZSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19jaG9vc2UtYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtOyB9IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fdGFibGUtd3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fc3RhZ2UgPiAuZXVyZWthX190YWJsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19jaG9vc2UtYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fY2hvb3NlLWJhciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uZXVyZWthLXJvb3QgdGhlYWQge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDsgfVxuICAuZXVyZWthLXJvb3QgdGhlYWQuZXVyZWthX190Ym9keS1zY3JvbGxpbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLmV1cmVrYS1yb290IHRoZWFkW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmV1cmVrYS1yb290IHRoZWFkID4gdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSBhbmQgKCBub3QgKGRpc3BsYXk6IGdyaWQpICkge1xuICAgICAgfSovIH1cbiAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoLmV1cmVrYV9fY2hvb3NlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjaG9vc2U7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1tZWRpYSB7XG4gICAgICAgIGdyaWQtYXJlYTogbWVkaWE7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1maWxlbmFtZSB7XG4gICAgICAgIGdyaWQtYXJlYTogbmFtZTsgfVxuICAgICAgLmV1cmVrYS1yb290IHRoZWFkID4gdHIgPiB0aC5ldXJla2FfX3RoLWFjdGlvbnMge1xuICAgICAgICBncmlkLWFyZWE6IG5vbmU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1kaW1lbnNpb25zIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoLmV1cmVrYV9fdGgtZmlsZS1zaXplIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmaWxlLXNpemU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1lZGl0ZWQtb24ge1xuICAgICAgICBncmlkLWFyZWE6IGVkaXRlZC1vbjsgfVxuXG4uZXVyZWthLXJvb3QgdGJvZHkuZW1wdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZXVyZWthLXJvb3QgdGJvZHkuZW1wdHkgPiB0ciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmV1cmVrYS1yb290IHRib2R5LmVtcHR5ID4gdHIgdGQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmV1cmVrYS1yb290IHRib2R5IHtcbiAgZmxleC1iYXNpczogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC13cmFwOiBuby13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGU6bm90KC5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCkgLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGU6bm90KC5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCkgLmV1cmVrYV9fdGQtbWVkaWEge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYV9fbWVkaWEtZGlyZWN0b3J5LXNlbGVjdG9yIGZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3IgPiBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLjVlbTsgfSB9XG5cbi5ldXJla2FfX3NvcnQtc2VsZWN0IHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYV9fc29ydC1zZWxlY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5ldXJla2FfX3NvcnQtc2VsZWN0IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAuZXVyZWthX19zb3J0LXNlbGVjdCBzZWxlY3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5ldXJla2FfX3RyZWUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsgfVxuICAgIC5ldXJla2FfX3RyZWUtdG9nZ2xlID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2FfX3RyZWUtdG9nZ2xlIC5ldXJla2FfX3VwbG9hZC1mb3JtIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3RyZWUtdG9nZ2xlIC5ldXJla2FfX3VwbG9hZC1mb3JtIGxhYmVsW2Zvcio9XCJ1cGxvYWQtZm9ybVwiXSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthX19zZXJ2ZXItc2lkZSAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHtcbiAgLypAaW5jbHVkZSBtZWRpYSgkZ3RNb2JpbGUpIHtcbiAgICB9Ki8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX3RhYmxlIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtOyB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHIgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHIgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19lbmxhcmdlLWZvY3VzZWQtcm93cyAuZXVyZWthX190YWJsZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19lbmxhcmdlLWZvY3VzZWQtcm93cyAuZXVyZWthX190YWJsZSB0cjpmb2N1cyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDMwdmg7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGhlYWQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGhlYWQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGhlYWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGQ6bm90KC5ldXJla2FfX3RkLW1lZGlhKTpub3QoLmV1cmVrYV9fY2hvb3NlKSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0ZDpub3QoLmV1cmVrYV9fdGQtbWVkaWEpOm5vdCguZXVyZWthX19jaG9vc2UpLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRkOm5vdCguZXVyZWthX190ZC1tZWRpYSk6bm90KC5ldXJla2FfX2Nob29zZSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0ge1xuICAgIG1hcmdpbjogMCAuNXJlbSAuNXJlbSAwO1xuICAgIGZsZXgtYmFzaXM6IDQydnc7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0gdGQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICAgICAgZmxleC1iYXNpczogMTZ2dzsgfSB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICBmbGV4LWJhc2lzOiAyNXZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0gPiB0ZDpub3QoLmV1cmVrYV9fY29udGV4dC1yb3cpLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSA+IHRkOm5vdCguZXVyZWthX19jb250ZXh0LXJvdykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSB7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgbWFyZ2luLXRvcDogLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9yZGVyOiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKj4gdGRbY29sc3Bhbl0ge1xuICAgICAgfSovIH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtcm93W2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LXJvdyAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGQtbWVkaWEge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoOm50aC1vZi10eXBlKDIpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH0gfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGgge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGQuZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0aC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGgtbWVkaWEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGQuZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGguZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGQuZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGQuZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGguZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGguZXVyZWthX190aC1tZWRpYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGguZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0aC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0aC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RkLWZpbGVuYW1lLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGQtZmlsZW5hbWUsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGQtZmlsZW5hbWUsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGQtZmlsZW5hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSB7XG4gICAgbGluZS1oZWlnaHQ6IDI7IH0gfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX3RkLW1lZGlhIGltZywgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSAuZXVyZWthX190ZC1tZWRpYSB2aWRlbywgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSAuZXVyZWthX190ZC1tZWRpYSBlbWJlZCB7XG4gIG1heC13aWR0aDogMTB2aDtcbiAgbWF4LWhlaWdodDogMTB2aDsgfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW2NvbnRleHRtZW51XSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW2NvbnRleHRtZW51XSA+IHRkOm50aC1vZi10eXBlKDIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtOyB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbY29udGV4dG1lbnVdID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19jcm9wLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5ldXJla2EgLmZsZXgtYmFyIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5ldXJla2EgLmZsZXgtYmFyIGZpZWxkc2V0IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9faW52ZXJ0LWhvcnoge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLmV1cmVrYSAuZXVyZWthX190ZC1tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19zaG93LWZvci1tb2JpbGUtdXAgcCwgLmV1cmVrYSAuZXVyZWthX19zaG93LWZvci1tb2JpbGUtdXAgdGV4dGFyZWEge1xuICAgIG1heC1oZWlnaHQ6IDNlbTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyIHRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wX3Nob3ctYWR2LWNvbnRyb2xzXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC43NWVtO1xuICByaWdodDogMWVtOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGxhYmVsW2Zvcj1cImV1cmVrYV9fY3JvcC1kcmFnLW1vZGUtbW92ZVwiXSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC5pY29uLWJhciAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC5pY29uLWJhciBidXR0b246Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyLmZsZXgtYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC53cmFwcGFibGUuZmxleC1iYXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLndyYXBwYWJsZS5mbGV4LWJhciA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAud3JhcHBhYmxlLmZsZXgtYmFyIHN1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3gge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCBsYWJlbFtmb3I9XCJldXJla2FfX2Nyb3AtYXNwZWN0LXJhdGlvXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMjsgfVxuICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2Nyb3AtYm91bmRpbmctYm94IGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIHdpZHRoOiA1ZW07IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCBpbnB1dFtpZCo9XCJldXJla2FfX2Nyb3Atc2NhbGVcIl0ge1xuICAgIHdpZHRoOiA0ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2Nyb3AtYm91bmRpbmctYm94IHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRpdiwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRldGFpbHMgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRpdiA+ICosIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggPiBkZXRhaWxzID4gZGl2ID4gKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggPiBkaXY6bGFzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRldGFpbHMgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5ldXJla2EgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYSAuZXVyZWthX19jcm9wLXNhdmUtYXMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nyb3AtYXMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1hcyBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLXNhdmUtYXMtbmFtZVwiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLWFzcGVjdC1yYXRpby1yZW1lbWJlclwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLXJvdGF0ZVwiXSArIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIG1pbi13aWR0aDogMTRlbTsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nob29zZS1tdWx0aWxlID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5kYW5nZXJvdXMge1xuICBjb2xvcjogdmFyKC0tZGFuZ2Vyb3VzLCByZWQpOyB9XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTsgfVxuXG50clt0YWJpbmRleF06Zm9jdXMsIHRyLmV1cmVrYV9fY29udGV4dC1yb3c6Zm9jdXMsIFtyb2xlPVwibGlzdGJveFwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG5cbnN1bW1hcnk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cblxuLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciwgLmZsZXgtYmFyLCAuZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5ldXJla2EgLndyYXBwYWJsZS5ldXJla2FfX3RyZWUtYmFyLCAud3JhcHBhYmxlLmZsZXgtYmFyLCAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX19idXR0b24tYmFyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX190cmVlLWJhciA+ICosIC53cmFwcGFibGUuZmxleC1iYXIgPiAqLCAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX19idXR0b24tYmFyID4gKiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmJhbGFuY2VkLmV1cmVrYV9fdHJlZS1iYXIsIC5iYWxhbmNlZC5mbGV4LWJhciwgLmV1cmVrYSAuYmFsYW5jZWQuZXVyZWthX19idXR0b24tYmFyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyID4gKiwgLmZsZXgtYmFyID4gKiwgLmV1cmVrYSAuZXVyZWthX19idXR0b24tYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqLmdyb3dhYmxlLCAuZmxleC1iYXIgPiAqLmdyb3dhYmxlLCAuZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIgPiAqLmdyb3dhYmxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqOmxhc3QtY2hpbGQsIC5mbGV4LWJhciA+ICo6bGFzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19idXR0b24tYmFyID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG5bcm9sZT1cImRpYWxvZ1wiXSAuZmxleC1iYXIge1xuICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIsIC5ldXJla2EgLmV1cmVrYV9fbm90aWNlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmFbcm9sZT1cInByZXNlbnRhdGlvblwiXSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uaWNvbi1jaXJjbGUtby1ub3RjaCB7XG4gIGFuaW1hdGlvbjogc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7IH1cblxuLmV1cmVrYV9fdGFibGUgdHJbdGFiaW5kZXhdLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtIC5ldXJla2FfX3RkLWZpbGVuYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmV1cmVrYV9fdGFibGUgdHJbdGFiaW5kZXhdOnRhcmdldCAuZXVyZWthX190ZC1tZWRpYSA+ICoge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzMyQUI5QTsgfVxuXG4uZXVyZWthX190YWJsZSB0clt0YWJpbmRleF06dGFyZ2V0IC5ldXJla2FfX3RkLWZpbGVuYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogc3RhcnQgbGVhdmUgb3V0ICovXG4vKmJvZHkge1xuICBiYWNrZ3JvdW5kOiRncmF5O1xuICBmb250OiBub3JtYWwgLjgxMjVlbS8xLjM3NWVtIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAvL2ZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgY29sb3I6JGNvbG9yO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowLjVyZW07XG59Ki9cbi8qIGVuZCBsZWF2ZSBvdXQgKi9cbi5ldXJla2EgLmV1cmVrYV9fc3RhZ2UsIC5ldXJla2EgKltjbGFzc149XCJhbGVydFwiXSwgLmV1cmVrYSAuZXVyZWthX19wYXRoYnJvd3NlciwgLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyLCAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqLCAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpIHZhcigtLXBhbmVsLWJvcmRlci1jb2xvciwgI2RkZGRkZCk7IH1cblxuLmV1cmVrYSAuZXVyZWthX19zdGFnZSwgLmV1cmVrYSAqW2NsYXNzXj1cImFsZXJ0XCJdLCAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyLCAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwsIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICosIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSwgLmV1cmVrYSAqW2NsYXNzXj1cImFsZXJ0XCJdLCAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyLCAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwsIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICosIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUge1xuICAgICAgcGFkZGluZzogLjVyZW07IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX3N0YWdlLCAuZXVyZWthICpbY2xhc3NePVwiYWxlcnRcIl0sIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJyb3dzZXIsIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJhciwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJnLCB3aGl0ZSk7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgI2Q5ZWRmNyk7XG4gIGNvbG9yOiB2YXIoLS1ub3RpZmljYXRpb24tY29sb3IsICMxRDZFOTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ub3RpZmljYXRpb24tYm9yZGVyLWNvbG9yLCB2YXIoLS1ub3RpZmljYXRpb24tY29sb3IsICMzMDlkZDQpKTsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHJpZ2h0OiAuMjVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyNDBtcyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJ1dHRvbjpmb2N1cywgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLW5vdGlmaWNhdGlvbi1mb2N1cy1jb2xvciwgIzI0N2ZhZCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICogYnV0dG9uOmZvY3VzIHN2ZywgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiBidXR0b246aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gLmV1cmVrYV9fZGFuZ2Vyb3VzIHtcbiAgICAtLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kOiAjZjdhMmEyO1xuICAgIC0tbm90aWZpY2F0aW9uLWNvbG9yOiAjOTExOTEyO1xuICAgIC0tbm90aWZpY2F0aW9uLWJvcmRlci1jb2xvcjogIzkxMTkxMjtcbiAgICAtLW5vdGlmaWNhdGlvbi1mb2N1cy1jb2xvcjogIzkxMTkxMjsgfVxuXG4uZXVyZWthIHtcbiAgLyogc3R5bGluZyBvZiBibGluay93ZWJraXQgbWFya2VyICovXG4gIC8qIHN0eWxpbmcgb2YgZmllcmZveCBtYXJrZXIgKi9cbiAgLyomLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSwgJi5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB7XG4gICAgLmV1cmVrYV9fcGF0aGJhciB7XG4gICAgICAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9Ki9cbiAgLyomLmV1cmVrYV9fdmlldy1tb2RlX190aHVtYiB7XG5cbiAgfVxuXG4gICYuZXVyZWthX192aWV3LW1vZGVfX2dyaWQge1xuXG4gIH1cblxuICAmLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHtcblxuICB9Ki9cbiAgLyouZXVyZWthX190cmVlLXRvZ2dsZSB7XG4gICAgLy9tYXJnaW4tYm90dG9tOjFyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEoJGd0TW9iaWxlKSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206MDtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfSovXG4gIC8qI2V1cmVrYV9fdHJlZS10b2dnbGVfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBib3R0b206MDtcbiAgICB9XG4gIH0qLyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IHRvcCAyNDBtcyBlYXNlIDkwbXMsIG9wYWNpdHkgMjQwbXMgZWFzZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjQwbXMgZWFzZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXJbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IC01ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzQwbXMgZWFzZS1vdXQgOTBtcywgdG9wIDQyMG1zIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC4yNXJlbTsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMTI1ZW0pOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fdXBsb2FkLWZvcm0gaW5wdXRbbmFtZSo9XCJ1cGxvYWRGaWxlc1wiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W25hbWUqPVwidXBsb2FkRmlsZXNcIl06ZGlzYWJsZWQgKyBsYWJlbCAuc3Bpbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAuMjc1ZW07XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFtuYW1lKj1cInVwbG9hZEZpbGVzXCJdOmRpc2FibGVkICsgbGFiZWw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWNvbG9yLCAjNTU1NTU1KTsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFtuYW1lKj1cInVwbG9hZEZpbGVzXCJdOmRpc2FibGVkICsgbGFiZWw6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5ldXJla2EgYSB7XG4gICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IsICMzNjk3Y2QpOyB9XG4gIC5ldXJla2EgaDEsIC5ldXJla2EgaDIsIC5ldXJla2EgaDMsIC5ldXJla2EgaDQsIC5ldXJla2EgaDUsIC5ldXJla2EgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmV1cmVrYSBoMSwgLmV1cmVrYSBoMiwgLmV1cmVrYSBoMywgLmV1cmVrYSBoNCwgLmV1cmVrYSBoNSwgLmV1cmVrYSBoNiwgLmV1cmVrYSB0aGVhZCB7XG4gICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NTU1NSk7IH1cbiAgLmV1cmVrYSBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpO1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IsICM1NTU1NTUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogLjVlbSAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MSA3NC44OCc+PHJlY3QgeT0nMTkuODgnIHdpZHRoPSc1MScgaGVpZ2h0PSc1NScgZmlsbD0nbm9uZScvPjxwYXRoIGQ9J00zNywyOC44OEExLjU2LDEuNTYsMCwwLDEsMzYuNTIsMzBMMjUuMTQsNDEuMzlhMS41OSwxLjU5LDAsMCwxLTIuMjksMEwxMS40OCwzMGExLjYzLDEuNjMsMCwwLDEsMS4xNC0yLjc3SDM1LjM4QTEuNjUsMS42NSwwLDAsMSwzNywyOC44OFptMC05Ljc1YTEuNjUsMS42NSwwLDAsMS0xLjYyLDEuNjNIMTIuNjNBMS42MiwxLjYyLDAsMCwxLDExLjQ4LDE4TDIyLjg2LDYuNjFhMS41OSwxLjU5LDAsMCwxLDIuMjksMEwzNi41MiwxOEExLjU2LDEuNTYsMCwwLDEsMzcsMTkuMTNaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMC41IC02LjEzKScgZmlsbD0nIzk3OTc5NycvPjwvc3ZnPlwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNjYWxlOiA3MCUgNzAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC41ZW07XG4gICAgLyomOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWxlY3QtYXJyb3cuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zY2FsZTogNzAlIDcwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC41ZW07XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgLy8tLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAkYWN0aXZlKTtcbiAgICB9Ki8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZXVyZWthIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtOyB9IH1cbiAgICAuZXVyZWthIHNlbGVjdDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmV1cmVrYSBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zZWxlY3QtYXJyb3cuc3ZnXCIpOyB9IH1cbiAgLmV1cmVrYSBidXR0b25baWRePVwiZXVyZWthX190cmVlLXRvZ2dsZV9fYnV0dG9uXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpLCAwIDAuMjVlbSAwIHZhcigtLWJvcmRlci1jb2xvciwgI2M1YzVjNSk7XG4gICAgLyomW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1zaGFkb3ctY29sb3IsICNFNEU0RTQpLCBpbnNldCAwIDAuMTc1ZW0gMCB2YXIoLS1ib3JkZXItc2hhZG93LWNvbG9yLCBkYXJrZW4oI0U0RTRFNCwgMTIlKSk7XG4gICAgfSovIH1cbiAgICAuZXVyZWthIGJ1dHRvbltpZF49XCJldXJla2FfX3RyZWUtdG9nZ2xlX19idXR0b25cIl06Zm9jdXMge1xuICAgICAgLS1idXR0b24tY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSBidXR0b25baWRePVwiZXVyZWthX190cmVlLXRvZ2dsZV9fYnV0dG9uXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIGJ1dHRvbltpZF49XCJldXJla2FfX3RyZWUtdG9nZ2xlX19idXR0b25cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmV1cmVrYSAqOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fYnV0dG9uLWJhcjpub3QoW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSkgPiAqOmxhc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMkFCOUE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMzMkFCOUEsICMwMDk0OEUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19idXR0b24tYmFyOm5vdChbYXJpYS1oaWRkZW49XCJ0cnVlXCJdKSA+IDpob3ZlcjpsYXN0LWNoaWxkLCAuZXVyZWthIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXI6bm90KFthcmlhLWhpZGRlbj1cInRydWVcIl0pID4gOmZvY3VzOmxhc3QtY2hpbGQge1xuICAgICAgLS1ib3JkZXItY29sb3I6ICMwMDc1NzE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI5Mzg1O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMyYjkzODUsICMwMDc1NzEpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXI6bm90KFthcmlhLWhpZGRlbj1cInRydWVcIl0pID4gOmRpc2FibGVkOmxhc3QtY2hpbGQge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgLmV1cmVrYSBhLmJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5ldXJla2EgYnV0dG9uLCAuZXVyZWthIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpO1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IsICM1NTU1NTUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogLjVlbSAuNWVtOyB9XG4gICAgLmV1cmVrYSBidXR0b246Zm9jdXMsIC5ldXJla2EgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cbiAgICAuZXVyZWthIGJ1dHRvbjpob3ZlciwgLmV1cmVrYSAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjk3Y2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZS1kYXJrZXIsICMyOTdhYTcpOyB9XG4gICAgICAuZXVyZWthIGJ1dHRvbjpob3ZlciBzdmcsIC5ldXJla2EgLmJ1dHRvbjpob3ZlciBzdmcge1xuICAgICAgICBmaWxsOiB3aGl0ZTsgfVxuICAgIC5ldXJla2EgYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSwgLmV1cmVrYSAuYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJBQjlBO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMzMkFCOUEsICMwMDk0OEUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmV1cmVrYSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyLCAuZXVyZWthIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6Zm9jdXMsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6aG92ZXIsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6Zm9jdXMge1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogIzAwNzU3MTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOTM4NTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMyYjkzODUsICMwMDc1NzEpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpOyB9XG4gICAgICAuZXVyZWthIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6ZGlzYWJsZWQsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6ZGlzYWJsZWQge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuICAgIC5ldXJla2EgYnV0dG9uLmRhbmdlcm91czpob3ZlciwgLmV1cmVrYSBidXR0b24uZGFuZ2Vyb3VzOmFjdGl2ZSwgLmV1cmVrYSBidXR0b24uZGFuZ2Vyb3VzOmZvY3VzLCAuZXVyZWthIGJ1dHRvbi5kYW5nZXJvdXM6dGFyZ2V0LCAuZXVyZWthIC5idXR0b24uZGFuZ2Vyb3VzOmhvdmVyLCAuZXVyZWthIC5idXR0b24uZGFuZ2Vyb3VzOmFjdGl2ZSwgLmV1cmVrYSAuYnV0dG9uLmRhbmdlcm91czpmb2N1cywgLmV1cmVrYSAuYnV0dG9uLmRhbmdlcm91czp0YXJnZXQge1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvci1kYW5nZXJvdXMsICNiODAwMDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJlZCwgI2NjMDAwMCk7IH1cbiAgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnksIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSAuYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1jb2xvciwgIzU1NTU1NSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07IH1cbiAgICAuZXVyZWthIFthcmlhLWhpZGRlbj1cInRydWVcIl0gYnV0dG9uLmV1cmVrYV9fcHJpbWFyeTpmb2N1cywgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIC5idXR0b24uZXVyZWthX19wcmltYXJ5OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTtcbiAgICAgIC0tYm9yZGVyLXNoYWRvdy1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTsgfVxuICAgIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyLCAuZXVyZWthIFthcmlhLWhpZGRlbj1cInRydWVcIl0gLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzM2OTdjZDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1hY3RpdmUtZGFya2VyLCAjMjk3YWE3KTtcbiAgICAgIC0tYm9yZGVyLXNoYWRvdy1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7IH1cbiAgICAgIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyIHN2ZywgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIC5idXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHdoaXRlOyB9XG4gIC5ldXJla2EgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAuZXVyZWthIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTtcbiAgICBib3JkZXItc3R5bGU6IHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLCAjRTRFNEU0KTsgfVxuICAuZXVyZWthIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1jb2xvciwgMC4yNXJlbSk7IH0gfVxuICAuZXVyZWthIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5ldXJla2EgZGV0YWlscyBkZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41ZW07IH1cbiAgLmV1cmVrYSBtZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ldXJla2EgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmV1cmVrYSAuYWxlcnQtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtYmcsICNkOWVkZjcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLCAjYmNlOGYxKTtcbiAgICBjb2xvcjogdmFyKC0tc3VidGxlLCAjMzE3MDhmKTsgfVxuICAuZXVyZWthIC5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbiAgICBjb2xvcjogIzNjNzYzZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2EgLmV1cmVrYV9fYnV0dG9uLWJhciA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10cmVlLWxpbmUtaGVpZ2h0LCAxLjYpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9IH1cbiAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXRyZWUtY291cnNlLWxpbmUtaGVpZ2h0LCAxLjgpOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgI2Y3ZjdmNyk7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IC41cmVtIDA7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyA+IGEuYnV0dG9uLCAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAuNjg3NXJlbTsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyB7XG4gICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtOyB9XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMgPiBhLmJ1dHRvbiwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogLjZyZW07IH1cbiAgLmV1cmVrYSAuZXVyZWthX190YWJsZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgICAgLyomOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgIH0qLyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthIC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IC41cmVtOyB9IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUgcFtjbGFzc149XCJhbGVydFwiXSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmV1cmVrYSAuZXVyZWthX190ZC1tZWRpYSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWVkaWEtY2VsbC1iYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMTpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMjpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IHtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyAuZXVyZWthX19zZWFyY2gtYmFyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IC5ldXJla2FfX3NlYXJjaC1iYXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMjJlbTsgfSB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyAuZXVyZWthX19zZWFyY2gtYmFyIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NkM4OCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IC5ldXJla2FfX3NlYXJjaC1iYXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZV9fZmlsdGVyLXZpZXcgLmV1cmVrYV9fc2VhcmNoLWJhciBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3Ige1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3IgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21lZGlhLWRpcmVjdG9yeS1zZWxlY3RvciBmb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6MWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDpyZWQ7XG4gICAgICAgIGNvbnRlbnQ6Jy4nO1xuICAgICAgfSovIH1cbiAgLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciB7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDAgMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqIHtcbiAgICAgIG1hcmdpbjogMCAuNXJlbSAwIDA7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgYnV0dG9uLCAuZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21lZGlhLXNvdXJjZS1zZWxlY3RvciBoMjpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3IgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2EgLmV1cmVrYV9fdXBsb2FkLWZvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1jb2xvciwgIzU1NTU1NSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthOm5vdCguZXVyZWthX19zZXJ2ZXItc2lkZSkgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWw6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpO1xuICAgICAgLS1ib3JkZXItc2hhZG93LWNvbG9yOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG4gICAgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjk3Y2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZS1kYXJrZXIsICMyOTdhYTcpOyB9XG4gICAgICAuZXVyZWthOm5vdCguZXVyZWthX19zZXJ2ZXItc2lkZSkgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWw6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogd2hpdGU7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtYmFyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC8qQGluY2x1ZGUgbWVkaWEoJGd0TW9iaWxlKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gICAgfSovIH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2Nob29zZS1iYXJbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtYmFyIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fY2hvb3NlLWJhciBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07IH0gfVxuICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19wYXRoYnJvd3NlciBuYXYge1xuICAgICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NkM4OCk7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHMgPiBzdW1tYXJ5IHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4yZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHMgPiBzdW1tYXJ5ID4gLmljb24tZm9sZGVyLW9wZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJyb3dzZXIgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgPiAuaWNvbi1mb2xkZXItb3BlbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5ID4gLmljb24tZm9sZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIgc3VtbWFyeSB7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIgZGV0YWlscyA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJhciAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIHtcbiAgICBjb2xvcjogdmFyKC0tc3VidGxlLCAjNTU2Qzg4KTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgZmllbGRzZXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogLjVlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIGZpZWxkc2V0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgLyomOmZvY3VzIHtcbiAgICAgICAgICArIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWFjdGl2ZSwgJGFjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9Ki8gfVxuICAgICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHN2Z1tjbGFzc149XCJpY29uXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHN2Z1tjbGFzc149XCJpY29uXCJdIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZXVyZWthIHN2Z1tjbGFzc149XCJpY29uXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX2hpZGUtZm9yLW1vYmlsZS11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX3Nob3ctZm9yLW1vYmlsZS11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEge1xuICAgIGZsZXg6IDIgOCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdmVyeS1zdWJ0bGUsICNkZGRkZGQpO1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjQwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAzMjBtcyBlYXNlIDEyMG1zO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAzNjBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEtem9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUgc3ZnIHtcbiAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgZmlsbDogdmFyKC0tdmVyeS1zdWJ0bGUsICNkZGRkZGQpO1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAyNDBtcyBlYXNlIDE2MG1zLCBvcGFjaXR5IDI0MG1zIGVhc2U7XG4gICAgICBvcGFjaXR5OiB2YXIoLS12ZXJ5LXN1YnRsZS1pY29uLW9wYWNpdHksIDAuNDIpO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUuZXVyZWthX19kcm9wLWFyZWEtem9uZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWNmNjtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNDBtcyBlYXNlIDEyMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDMyMG1zIGVhc2UgMDsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEtem9uZS5ldXJla2FfX2Ryb3AtYXJlYS16b25lLWFjdGl2ZSBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwge1xuICAgIHotaW5kZXg6IDEwMDAwOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXNjcmltIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoOCwgOCwgOCwgMC4yNSk7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCB7XG4gICAgICBtaW4td2lkdGg6IDMwdnc7XG4gICAgICBtYXgtd2lkdGg6IDcwdnc7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk5OTk7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDE6Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDI6Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIHN1bW1hcnkgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCBzdW1tYXJ5IGxhYmVsW2Zvcj1cImV1cmVrYV9fY3JvcC11cGxvYWQtZmlsZVwiXSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuICAgICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXIgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwuZXVyZWthX19ncmVlZHkgLmV1cmVrYV9fbW9kYWwtcGFuZWwge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMnJlbSk7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3N0aWNreS1iYXIge1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgdG9wOiAwOyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3N0aWNreS1iYXIgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgLyp0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVlbSk7XG4gICAgICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9Ki8gfSB9XG5cbi5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbjpob3ZlciwgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYV9fY2hvb3NlLXJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19jaG9vc2UtcmFkaW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjNlbSk7XG4gICAgICB6LWluZGV4OiAwOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX2Nob29zZS1yYWRpbyBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXdvSkluWmxjbk5wYjI0aU9pQXpMQW9KSW1acGJHVWlPaUFpY0hWaWJHbGpMMkZ6YzJWMGN5OWpjM012YldGcGJpNWpjM01pTEFvSkluTnZkWEpqWlhNaU9pQmJDZ2tKSW5OeVl5OXpZM056TDIxaGFXNHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZYMkp2ZFhKaWIyNHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZjMlYwZEdsdVozTXZYMlJsY0hKbFkyRjBhVzl1TFhkaGNtNXBibWR6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDNObGRIUnBibWR6TDE5d2NtVm1hWGhsY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5elpYUjBhVzVuY3k5ZmNIZ3RkRzh0WlcwdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmMyVjBkR2x1WjNNdlgyRnpjMlYwTFhCcGNHVnNhVzVsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDE5aWIzVnlZbTl1TFdSbGNISmxZMkYwWlM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5bWRXNWpkR2x2Ym5NdlgyRnpjMmxuYmkxcGJuQjFkSE11YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2Wm5WdVkzUnBiMjV6TDE5amIyNTBZV2x1Y3k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5bWRXNWpkR2x2Ym5NdlgyTnZiblJoYVc1ekxXWmhiSE41TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmFYTXRiR1Z1WjNSb0xuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyWjFibU4wYVc5dWN5OWZhWE10YkdsbmFIUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZablZ1WTNScGIyNXpMMTlwY3kxdWRXMWlaWEl1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2Wm5WdVkzUnBiMjV6TDE5cGN5MXphWHBsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmNIZ3RkRzh0WlcwdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlpuVnVZM1JwYjI1ekwxOXdlQzEwYnkxeVpXMHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZablZ1WTNScGIyNXpMMTl6YUdGa1pTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOW1kVzVqZEdsdmJuTXZYM04wY21sd0xYVnVhWFJ6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmRHbHVkQzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDNSeVlXNXphWFJwYjI0dGNISnZjR1Z5ZEhrdGJtRnRaUzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDNWdWNHRmpheTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDIxdlpIVnNZWEl0YzJOaGJHVXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZhR1ZzY0dWeWN5OWZZMjl1ZG1WeWRDMTFibWwwY3k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5a2FYSmxZM1JwYjI1aGJDMTJZV3gxWlhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZlptOXVkQzF6YjNWeVkyVXRaR1ZqYkdGeVlYUnBiMjR1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2YUdWc2NHVnljeTlmWjNKaFpHbGxiblF0Y0c5emFYUnBiMjV6TFhCaGNuTmxjaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlvWld4d1pYSnpMMTlzYVc1bFlYSXRZVzVuYkdVdGNHRnljMlZ5TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJobGJIQmxjbk12WDJ4cGJtVmhjaTFuY21Ga2FXVnVkQzF3WVhKelpYSXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZhR1ZzY0dWeWN5OWZiR2x1WldGeUxYQnZjMmwwYVc5dWN5MXdZWEp6WlhJdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZmJHbHVaV0Z5TFhOcFpHVXRZMjl5Ym1WeUxYQmhjbk5sY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5eVlXUnBZV3d0WVhKbkxYQmhjbk5sY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5eVlXUnBZV3d0Y0c5emFYUnBiMjV6TFhCaGNuTmxjaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlvWld4d1pYSnpMMTl5WVdScFlXd3RaM0poWkdsbGJuUXRjR0Z5YzJWeUxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyaGxiSEJsY25NdlgzSmxibVJsY2kxbmNtRmthV1Z1ZEhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZmMyaGhjR1V0YzJsNlpTMXpkSEpwY0hCbGNpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOW9aV3h3WlhKekwxOXpkSEl0ZEc4dGJuVnRMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgyRnVhVzFoZEdsdmJpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5aGNIQmxZWEpoYm1ObExuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyTnpjek12WDJKaFkydG1ZV05sTFhacGMybGlhV3hwZEhrdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmWW1GamEyZHliM1Z1WkM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5amMzTXpMMTlpWVdOclozSnZkVzVrTFdsdFlXZGxMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgySnZjbVJsY2kxcGJXRm5aUzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOWpZV3hqTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMk52YkhWdGJuTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZM056TXk5ZlptbHNkR1Z5TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMlpzWlhndFltOTRMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgyWnZiblF0Wm1GalpTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5bWIyNTBMV1psWVhSMWNtVXRjMlYwZEdsdVozTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZM056TXk5ZmFHbGtjR2t0YldWa2FXRXRjWFZsY25rdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmYUhsd2FHVnVjeTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOXBiV0ZuWlMxeVpXNWtaWEpwYm1jdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmYTJWNVpuSmhiV1Z6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMnhwYm1WaGNpMW5jbUZrYVdWdWRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5d1pYSnpjR1ZqZEdsMlpTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5d2JHRmpaV2h2YkdSbGNpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5eVlXUnBZV3d0WjNKaFpHbGxiblF1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WTNOek15OWZjMlZzWldOMGFXOXVMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgzUmxlSFF0WkdWamIzSmhkR2x2Ymk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5amMzTXpMMTkwY21GdWMyWnZjbTB1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WTNOek15OWZkSEpoYm5OcGRHbHZiaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOTFjMlZ5TFhObGJHVmpkQzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTloWkdSdmJuTXZYMkp2Y21SbGNpMWpiMnh2Y2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5aFpHUnZibk12WDJKdmNtUmxjaTF5WVdScGRYTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZV1JrYjI1ekwxOWliM0prWlhJdGMzUjViR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTlpYjNKa1pYSXRkMmxrZEdndWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5aWRYUjBiMjV6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmWTJ4bFlYSm1hWGd1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTlsYkd4cGNITnBjeTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTloWkdSdmJuTXZYMlp2Ym5RdGMzUmhZMnR6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmYUdsa1pTMTBaWGgwTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmYldGeVoybHVMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMkZrWkc5dWN5OWZjR0ZrWkdsdVp5NXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWhaR1J2Ym5NdlgzQnZjMmwwYVc5dUxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyRmtaRzl1Y3k5ZmNISmxabWw0WlhJdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5eVpYUnBibUV0YVcxaFoyVXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZV1JrYjI1ekwxOXphWHBsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmZEdWNGRDMXBibkIxZEhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5MGFXMXBibWN0Wm5WdVkzUnBiMjV6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmZEhKcFlXNW5iR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTkzYjNKa0xYZHlZWEF1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WDJKdmRYSmliMjR0WkdWd2NtVmpZWFJsWkMxMWNHTnZiV2x1Wnk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzlmYm1WaGRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5ZmJtVmhkQzFvWld4d1pYSnpMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTl1WldGMEwyMXBlR2x1Y3k5ZlkyeGxZWEptYVhndWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwyNWxZWFF2Wm5WdVkzUnBiMjV6TDE5d2NtbDJZWFJsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMMloxYm1OMGFXOXVjeTlmYm1WM0xXSnlaV0ZyY0c5cGJuUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdmMyVjBkR2x1WjNNdlgyZHlhV1F1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZjMlYwZEdsdVozTXZYM1pwYzNWaGJDMW5jbWxrTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMM05sZEhScGJtZHpMMTlrYVhOaFlteGxMWGRoY201cGJtZHpMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTl1WldGMEwyZHlhV1F2WDNCeWFYWmhkR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZaM0pwWkM5ZlltOTRMWE5wZW1sdVp5NXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5bmNtbGtMMTl2YldWbllTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5bmNtbGtMMTl2ZFhSbGNpMWpiMjUwWVdsdVpYSXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmYzNCaGJpMWpiMngxYlc1ekxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OXVaV0YwTDJkeWFXUXZYM0p2ZHk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOXphR2xtZEM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOXdZV1F1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZaM0pwWkM5ZlptbHNiQzF3WVhKbGJuUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmYldWa2FXRXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmZEc4dFpHVndjbVZqWVhSbExuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OXVaV0YwTDJkeWFXUXZYM1pwYzNWaGJDMW5jbWxrTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMMmR5YVdRdlgyUnBjM0JzWVhrdFkyOXVkR1Y0ZEM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOWthWEpsWTNScGIyNHRZMjl1ZEdWNGRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZjM0JsWXk5ZmRHRmpkV3hoY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJHRjViM1YwTDE5c1lYbHZkWFF1YzJOemN5SUtDVjBzQ2draWJtRnRaWE1pT2lCYlhTd0tDU0p0WVhCd2FXNW5jeUk2SUNKQlFVOUZMRUZCUVVFc1QwRkJUeXhEUVVGRE8wVkJRMDRzVlVGQlZTeEZRVUZGTEZWQlFWVXNSMEZEZGtJN08wRkJRMFFzUVVGQlVTeFBRVUZFTEVOQlFVTXNRMEZCUXl4RlFVRlVMRUZCUVZFc1QwRkJSQ3hEUVVGRExFTkJRVU1zUVVGRlVDeFBRVUZSTEVWQlJsWXNRVUZCVVN4UFFVRkVMRU5CUVVNc1EwRkJReXhCUVVkUUxGRkJRVk1zUTBGQlF6dEZRVU5TTEZWQlFWVXNSVUZCUlN4UFFVRlBMRWRCUTNCQ096dEJRWFZUVEN4QmRVZDRVVUVzVDNaSGQxRlBMRUZCT0ZCTUxIbENRVUV3UWl4RFFVTjRRaXhIUVVGSExFVkJMMUJRTEVGMVIzaFJRU3hQZGtkM1VVOHNRVUU0VUhWQ0xIZENRVUY1UWl4RFFVTnVSQ3hIUVVGSExFVkJMMUJRTEVGMVIzaFJRU3hQZGtkM1VVOHNRMEZ6WkV3c09FSkJRVGhDTEVOQlJUVkNMRTFCUVUwc1EzVkhhSFZDUnp0RlFVTlVMRXRCUVVzc1JVRkJReXhKUVVGSkxFZEJRMkk3TzBGMlIzTlJSQ3hCZFVjMVVFRXNUM1pITkZCUExFTkJLMFZNTEVWQlFVVXNRMEZCUVN4QlFVRkJMRk5CUVVNc1FVRkJRU3hIUVM5RlRDeEJkVWMxVUVFc1QzWkhORkJQTEVOQmJVWk1MRTFCUVUwc1JVRnVSbElzUVhWSE5WQkJMRTkyUnpSUVR5eERRWGRNVEN4TlFVRk5MRVZCZUV4U0xFRjFSelZRUVN4UGRrYzBVRThzUTBGM1RFY3NUMEZCVHl4RlFYaE1ha0lzUVhWSE5WQkJMRTkyUnpSUVR5eERRV3RsVEN4dlFrRkJiMElzUTBGSmJFSXNTMEZCU3l4RlFYUmxWQ3hCZFVjMVVFRXNUM1pITkZCUExFTkJlV3RDVEN4MVFrRkJkVUlzUTBGWmNrSXNkMEpCUVhkQ0xFTkJOa0owUWl4TFFVRkxMRU4xUnpreVFrRTdSVUZEVUN4TlFVRk5MRVZCUVVNc1QwRkJUeXhIUVVOcVFqczdRWFpITUZCRUxFRjFSM2hOUVN4UGRrZDNUVThzUTBGcGMwSk1MR05CUVdNc1JVRnFjMEpvUWl4QmRVZDRUVUVzVDNaSGQwMVBMRU5CYVhOQ1RDeGpRVUZqTEVOQlUxb3NiMEpCUVc5Q0xFTjFSMncxUWs0N1JVRlFaQ3hSUVVGUkxFVkJRVU1zVVVGQlVUdEZRVU5xUWl4SFFVRkhMRVZCUVVNc1EwRkJRenRGUVVOTUxFbEJRVWtzUlVGQlF5eERRVUZETzBWQlEwNHNTMEZCU3l4RlFVRkRMRU5CUVVNN1JVRkRVQ3hOUVVGTkxFVkJRVU1zUTBGQlF5eEhRVXRZT3p0QlFYTkNSRHM3UlVGRlJUdEJka2M0UzBZc1FVRTVVVUVzVDBFNFVVOHNRMEZyU0V3c1MwRkJTeXhEUVVGQkxFRkJRVUVzV1VGQlF5eERRVUZoTEUxQlFVMHNRVUZCYmtJc1NVRkRSaXhMUVVGTExFVkJia2hZTEVGQk9WRkJMRTlCT0ZGUExFTkJkMGhNTEcxQ1FVRnRRaXhEUVVOcVFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFTkJRV0VzVVVGQlVTeEhRVU4yUWl4TFFVRkxMRVZCTVVoaUxFRkJPVkZCTEU5Qk9GRlBMRU5CWjBsTUxFMUJRVTBzUTBGRFNpeEJRVUZCTEZsQlFVVXNRMEZCWVN4TlFVRk5MRUZCUVc1Q0xFVkJMMWxITzBWQlExQXNWVUZCVlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4dFEwRkJiVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zYlVOQlFXZEVMRWRCUXpsSU96dEJkMGMwVGtRc1FYaEhNVTVCTEZsM1J6Qk9XU3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJia2MxUWl4QmVFY3hUa0VzV1hkSE1FNVpMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFZDRSMnhKTlVJc1FVRXpURUVzWjBKQk1reG5RaXhGUVN0RmFFSXNRVUV4VVVFc1QwRXdVVThzUVVFNFpVd3NTVUZCVFN4RFFVRkJMRUZCUVVFc2IwSkJRVzlDTEVWQlEzaENMRzlDUVVGdlFpeERRVTFzUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVkQmNtWmFMRUZCTVZGQkxFOUJNRkZQTEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZUY2tJc1RVRkJUU3hGUVd4c1FsWXNRVUV4VVVFc1QwRXdVVThzUTBGNWEwSk1MSFZDUVVGMVFpeERRVmx5UWl4M1FrRkJkMElzUTBGVmRFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhEUVVGTExFOUJRVThzUVVGQldpeEhRUzlzUWxvc1FVRXhVVUVzVDBFd1VVOHNRMEY1YTBKTUxIVkNRVUYxUWl4RFFWbHlRaXgzUWtGQmQwSXNRMEZWUkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVlVGQlZTeEJRVUZtTEVWQmVqSkNhRUk3UlVGQlJTdzJSa0ZCTmtZN1JVRnVRamxITEZGQlFWRXNSVUZCUlN4dFFrRkJiVUk3UlVGRE4wSXNTVUZCU1N4RlFVRkZMSEZDUVVGeFFqdEZRVUZGTEdOQlFXTTdSVUZETTBNc1NVRkJTU3hGUVVGRkxIZENRVUYzUWp0RlFVTTVRaXhQUVVGUExFVkJRVU1zV1VGQldUdEZRVU53UWl4TlFVRk5MRVZCUVVNc1dVRkJXVHRGUVVOdVFpeE5RVUZOTEVWQlFVVXNZMEZCWXp0RlFVTjBRaXhMUVVGTExFVkJRVVVzWTBGQll6dEZRVU55UWl4UlFVRlJMRVZCUVVVc1RVRkJUU3hIUVdOcVFqdEZRV0pETEVGQlEwVXNTVUZFUlN4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBFMFFrUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkRVaXhGUVVGRkxFRkJRMGdzV1VGQlpTeERRVUZCTEVGQlFVRXNRMEZCUXl4RmVFZDJWWGhDTEVOQlFVTXNSWGRIYjA5TUxFRjRSM0JQU1N4WmQwZHZUMUVzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVONFIzSlRlRUlzU1VGQlNTeEJRVUZCTEUxQlFVMHNRM2RITUZOTUxFdEJRVXNzUjBFMFFrUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkRVaXhGUVVGRkxFRkJRMGdzV1VGQlpTeERRVUZCTEVGQlFVRXNRMEZCUXl4RmVFZDJWWGhDTEVOQlFVTXNSVUZFU0N4QlFVTkZMRWxCUkVVc1FVRkJRU3hOUVVGTkxFTjNSM0ZQV2l4WlFVRlpMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFVjRSM1pWZUVJc1EwRkJReXhGZDBkdlQwd3NRWGhIY0U5SkxGbDNSMjlQVVN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhoQ0xFTkJRVU1zUlVGRVNDeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU5CYzAxYUxHZENRVUZuUWl4RFFYSk5XaXhEUVVGRExFVkJSRWdzUVVGRFJTeEpRVVJGTEVGQlFVRXNUVUZCVFN4RFFYRlNXaXhQUVVGUExFRkJPR1ZNTEVsQlFVMHNRMEZCUVN4QlFVRkJMRzlDUVVGdlFpeEZRVU40UWl4dlFrRkJiMElzUTBGTmJFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhEUVVGTExFMUJRVTBzUVVGQldDeEZRWHAzUWxJc1EwRkJReXhGUVc5U1RDeEJRWEJTU1N4UFFXOVNSeXhCUVRobFRDeEpRVUZOTEVOQlFVRXNRVUZCUVN4dlFrRkJiMElzUlVGRGVFSXNiMEpCUVc5Q0xFTkJjSGRDZEVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTBFd2QwSk9MRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eE5RVUZOTEVGQlFWZ3NSVUY2ZDBKU0xFTkJRVU1zUlVGRVNDeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU5CY1ZKYUxFOUJRVThzUTBGNWEwSk1MSFZDUVVGMVFpeERRVk55UWl4TlFVRk5MRU5CZERKQ1RpeERRVUZETEVWQmIxSk1MRUZCY0ZKSkxFOUJiMUpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEU1TVVKMlFpeEpRVUZKTEVGQlFVRXNUVUZCVFN4RFFYVXlRbElzVFVGQlRTeERRWFF5UWs0c1EwRkJReXhGUVVSSUxFRkJRMFVzU1VGRVJTeEJRVUZCTEUxQlFVMHNRMEZ4VWxvc1QwRkJUeXhEUVhsclFrd3NkVUpCUVhWQ0xFTkJXWEpDTEhkQ1FVRjNRaXhEUVZWMFFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFVkJiak5DVWl4RFFVRkRMRVZCYjFKTUxFRkJjRkpKTEU5QmIxSkhMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CTVRKQ01VSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRnZNMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhQUVVGUExFRkJRVm9zUlVGdU0wSlNMRU5CUVVNc1JVRkVTQ3hCUVVORkxFbEJSRVVzUVVGQlFTeE5RVUZOTEVOQmNWSmFMRTlCUVU4c1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZseVFpeDNRa0ZCZDBJc1EwRlZSQ3hMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NWVUZCVlN4QlFVRm1MRVZCYmpOQ04wSXNRMEZCUXl4RlFXOVNUQ3hCUVhCU1NTeFBRVzlTUnl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFURXlRakZDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CYnpOQ1pTeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJiak5DTjBJc1EwRkJReXhGUVVSSUxFRkJRMGtzU1VGRVFTeEJRVUZCTEUxQlFVMHNRM2RIY1U5YUxGbEJRVmtzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhSQ0xFdEJRVXNzUlhkSGIwOVlMRUY0UjNCUFRTeFpkMGR2VDAwc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhSQ0xFdEJRVXNzUlVGRVZDeEJRVU5KTEVsQlJFRXNRVUZCUVN4TlFVRk5MRU4zUjNGUFdpeFpRVUZaTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVFJDUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVOU0xFVkJRVVVzUVVGRFNDeFpRVUZsTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVY0UjNaVmRFSXNTMEZCU3l4RmQwZHZUMWdzUVhoSGNFOU5MRmwzUjI5UFRTeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU40UjNKVGVFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EzZEhNRk5NTEV0QlFVc3NSMEUwUWtRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGRFVpeEZRVUZGTEVGQlEwZ3NXVUZCWlN4RFFVRkJMRUZCUVVFc1EwRkJReXhGZUVkMlZYUkNMRXRCUVVzc1JVRkVWQ3hCUVVOSkxFbEJSRUVzUVVGQlFTeE5RVUZOTEVOQmMwMWFMR2RDUVVGblFpeERRWEpOVml4TFFVRkxMRVZCUkZRc1FVRkRTU3hKUVVSQkxFRkJRVUVzVFVGQlRTeERRWEZTV2l4UFFVRlBMRUZCT0dWTUxFbEJRVTBzUTBGQlFTeEJRVUZCTEc5Q1FVRnZRaXhGUVVONFFpeHZRa0ZCYjBJc1EwRk5iRUlzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRTFCUVUwc1FVRkJXQ3hGUVhwM1FrNHNTMEZCU3l4RlFXOVNXQ3hCUVhCU1RTeFBRVzlTUXl4QlFUaGxUQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeHZRa0ZCYjBJc1JVRkRlRUlzYjBKQlFXOUNMRU5CY0hkQ2RFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRXdkMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhOUVVGTkxFRkJRVmdzUlVGNmQwSk9MRXRCUVVzc1JVRkVWQ3hCUVVOSkxFbEJSRUVzUVVGQlFTeE5RVUZOTEVOQmNWSmFMRTlCUVU4c1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZOeVFpeE5RVUZOTEVOQmRESkNTaXhMUVVGTExFVkJiMUpZTEVGQmNGSk5MRTlCYjFKRExFTkJlV3RDVEN4MVFrRkJkVUlzUTBFNU1VSjJRaXhKUVVGSkxFRkJRVUVzVFVGQlRTeERRWFV5UWxJc1RVRkJUU3hEUVhReVFrb3NTMEZCU3l4RlFVUlVMRUZCUTBrc1NVRkVRU3hCUVVGQkxFMUJRVTBzUTBGeFVsb3NUMEZCVHl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFWVjBRaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCYmpOQ1RpeExRVUZMTEVWQmIxSllMRUZCY0ZKTkxFOUJiMUpETEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZaY2tJc2QwSkJRWGRDTEVOQk1USkNNVUlzU1VGQlNTeEJRVUZCTEUxQlFVMHNRMEZ2TTBKT0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4UFFVRlBMRUZCUVZvc1JVRnVNMEpPTEV0QlFVc3NSVUZFVkN4QlFVTkpMRWxCUkVFc1FVRkJRU3hOUVVGTkxFTkJjVkphTEU5QlFVOHNRMEY1YTBKTUxIVkNRVUYxUWl4RFFWbHlRaXgzUWtGQmQwSXNRMEZWUkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVlVGQlZTeEJRVUZtTEVWQmJqTkNNMElzUzBGQlN5eEZRVzlTV0N4QlFYQlNUU3hQUVc5U1F5eERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVEV5UWpGQ0xFbEJRVWtzUVVGQlFTeE5RVUZOTEVOQmJ6TkNaU3hMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NWVUZCVlN4QlFVRm1MRVZCYmpOQ00wSXNTMEZCU3l4RlFVUlVMRUZCUTFVc1NVRkVUaXhCUVVGQkxFMUJRVTBzUTNkSGNVOWFMRmxCUVZrc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEUwUWtRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGRFVpeEZRVUZGTEVGQlEwZ3NXVUZCWlN4RFFVRkJMRUZCUVVFc1EwRkJReXhGZUVkMlZXaENMRTFCUVUwc1JYZEhiMDlzUWl4QmVFZHdUMWtzV1hkSGIwOUJMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEZUVkeVUzaENMRWxCUVVrc1FVRkJRU3hOUVVGTkxFTjNSekJUVEN4TFFVRkxMRWRCTkVKRUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlExSXNSVUZCUlN4QlFVTklMRmxCUVdVc1EwRkJRU3hCUVVGQkxFTkJRVU1zUlhoSGRsVm9RaXhOUVVGTkxFVkJSR2hDTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQk5FSkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJRMUlzUlVGQlJTeEJRVU5JTEZsQlFXVXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JYaEhkbFZvUWl4TlFVRk5MRVYzUjI5UGJFSXNRWGhIY0U5WkxGbDNSMjlQUVN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVldoQ0xFMUJRVTBzUlVGRWFFSXNRVUZEVlN4SlFVUk9MRUZCUVVFc1RVRkJUU3hEUVhOTldpeG5Ra0ZCWjBJc1EwRnlUVW9zVFVGQlRTeEZRVVJvUWl4QlFVTlZMRWxCUkU0c1FVRkJRU3hOUVVGTkxFTkJjVkphTEU5QlFVOHNRVUU0WlV3c1NVRkJUU3hEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRVZCUTNoQ0xHOUNRVUZ2UWl4RFFVMXNRaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUVUZCVFN4QlFVRllMRVZCZW5kQ1FTeE5RVUZOTEVWQmIxSnNRaXhCUVhCU1dTeFBRVzlTVEN4QlFUaGxUQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeHZRa0ZCYjBJc1JVRkRlRUlzYjBKQlFXOUNMRU5CY0hkQ2RFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRXdkMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhOUVVGTkxFRkJRVmdzUlVGNmQwSkJMRTFCUVUwc1JVRkVhRUlzUVVGRFZTeEpRVVJPTEVGQlFVRXNUVUZCVFN4RFFYRlNXaXhQUVVGUExFTkJlV3RDVEN4MVFrRkJkVUlzUTBGVGNrSXNUVUZCVFN4RFFYUXlRa1VzVFVGQlRTeEZRVzlTYkVJc1FVRndVbGtzVDBGdlVrd3NRMEY1YTBKTUxIVkNRVUYxUWl4RFFUa3hRblpDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CZFRKQ1VpeE5RVUZOTEVOQmRESkNSU3hOUVVGTkxFVkJSR2hDTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EwRnhVbG9zVDBGQlR5eERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVlYwUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVDBGQlR5eEJRVUZhTEVWQmJqTkNRU3hOUVVGTkxFVkJiMUpzUWl4QlFYQlNXU3hQUVc5U1RDeERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVEV5UWpGQ0xFbEJRVWtzUVVGQlFTeE5RVUZOTEVOQmJ6TkNUaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCYmpOQ1FTeE5RVUZOTEVWQlJHaENMRUZCUTFVc1NVRkVUaXhCUVVGQkxFMUJRVTBzUTBGeFVsb3NUMEZCVHl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFWVkVMRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eFZRVUZWTEVGQlFXWXNSVUZ1TTBKeVFpeE5RVUZOTEVWQmIxSnNRaXhCUVhCU1dTeFBRVzlTVEN4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFURXlRakZDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CYnpOQ1pTeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJiak5DY2tJc1RVRkJUU3hEUVVGRE8wbEJRMklzVDBGQlR5eEZRVUZGTEdWQlFXVXNSMEZEZWtJN08wTjNSM0JEVEN4QlFVRkJMRUZCUVVFc1MwRkJReXhGUVVGUExHVkJRV1VzUVVGQmRFSXNTVUZCZVVJc1FVRkJRU3hCUVVGQkxFdEJRVU1zUlVGQlR5eG5Ra0ZCWjBJc1FVRkJka0lzUlVGQmVVSTdSVUZEYkVRc1QwRkJUeXhGUVVGRExFTkJRVU1zUjBGUFZqdEZUamhGUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzB0TmRFWjJReXhCUVVGQkxFRkJRVUVzUzBGQlF5eEZRVUZQTEdWQlFXVXNRVUZCZEVJc1NVRkJlVUlzUVVGQlFTeEJRVUZCTEV0QlFVTXNSVUZCVHl4blFrRkJaMElzUVVGQmRrSXNSVUZCZVVJN1RVRkhhRVFzVDBGQlR5eEZRVUZGTEVsQlFVazdUVUZEWWl4VlFVRlZMRVZCUVVNc1RVRkJUVHROUVVOcVFpeGpRVUZqTEVWQlFVVXNUVUZCVFN4SFFVZDZRanM3UVVGRlJDeEJRVUZCTEZsQlFWa3NRMEZCUXp0RlFYZEhXRHM3T3pzN096czdPenM3UzBGWFJ5eEZRWE5GU2p0RlFYcE1SQ3hCUVVWRkxGbEJSbFVzUVVGRlZpeHZRa0ZCY1VJc1EwRkJRenRKUVVOd1FpeExRVUZMTEVWQlFVVXNTMEZCU3p0SlFVTmFMRTFCUVUwc1JVRkJSU3hMUVVGTE8wbEJRMklzVlVGQlZTeEZRVUZGTEVsQlFVazdTVUZEYUVJc1ZVRkJWU3hGUVVGRkxIZENRVUYzUWl4SFFVTnlRenRGUVZCSUxFRkJVMFVzV1VGVVZTeERRVk5XTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXh0UWtGQmJVSXNRVUZCZUVJc1JVRkJNRUk3U1VGRE9VSXNWMEZCVnl4RlFVRkZMRXRCUVVzc1IwRkRia0k3UlVGWVNDeEJRV2xDV1N4WlFXcENRU3hEUVdGV0xIbENRVUY1UWl4RFFVTjJRaXhMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTmFMRVZCUVVVc1FVRkRTQ3d5UWtGQk5rSXNSMEZEZUVJc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RlFXcENiRU1zUVVGcFFsa3NXVUZxUWtFc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUXpKQ0xFMUJRVkVzUjBGRGFrTXNSVUZCUlN4QlFVRkJMRzlDUVVGdlFpeEZRV3BDYkVNc1FVRnBRbGtzV1VGcVFrRXNRMEZoYVVJc2QwSkJRWGRDTEVOQlEycEVMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExb3NSVUZCUlN4QlFVTklMREpDUVVFMlFpeEhRVU40UWl4RlFVRkZMRUZCUVVFc2IwSkJRVzlDTEVWQmFrSnNReXhCUVdsQ1dTeFpRV3BDUVN4RFFXRnBRaXgzUWtGQmQwSXNRMEZEYWtRc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUXpKQ0xFMUJRVkVzUjBGRGFrTXNSVUZCUlN4QlFVRkJMRzlDUVVGdlFpeERRVUZETzBsQlEzWkNMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSMEZKTVVJN1NVRjBRbGdzUVVGcFFsa3NXVUZxUWtFc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUTBnc01rSkJRVFpDTEVkQlEzaENMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZWtJc1FVRkJRU3hOUVVGTExFRkJRVUVzUjBGdVFtUXNRVUZwUWxrc1dVRnFRa0VzUTBGaFZpeDVRa0ZCZVVJc1EwRkRka0lzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRXaXhGUVVGRkxFRkJRekpDTEUxQlFWRXNSMEZEYWtNc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVVjZRaXhCUVVGQkxFMUJRVXNzUVVGQlFTeEhRVzVDWkN4QlFXbENXU3haUVdwQ1FTeERRV0ZwUWl4M1FrRkJkMElzUTBGRGFrUXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFdpeEZRVUZGTEVGQlEwZ3NNa0pCUVRaQ0xFZEJRM2hDTEVWQlFVVXNRVUZCUVN4dlFrRkJiMElzUTBGRmVrSXNRVUZCUVN4TlFVRkxMRUZCUVVFc1IwRnVRbVFzUVVGcFFsa3NXVUZxUWtFc1EwRmhhVUlzZDBKQlFYZENMRU5CUTJwRUxFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFvc1JVRkJSU3hCUVVNeVFpeE5RVUZSTEVkQlEycERMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZWtJc1FVRkJRU3hOUVVGTExFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUjBGRE1VSTdSVTUxUkZRc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SlRUVkZka01zUVVGNVFsVXNXVUY2UWtVc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRWRCVlVFc1JVRkJSU3hCUVVGQkxHbENRVUZwUWl4RlFYcENOMElzUVVGNVFsVXNXVUY2UWtVc1EwRmhhVUlzZDBKQlFYZENMRU5CUTJwRUxFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFvc1JVRkJSU3hIUVZWQkxFVkJRVVVzUVVGQlFTeHBRa0ZCYVVJc1EwRkJRenROUVVWc1FpeFZRVUZWTEVWQlFVVXNUVUZCVFN4SFFVVnlRanRGUVRkQ1ZDeEJRV2REV1N4WlFXaERRU3hEUVdGV0xIbENRVUY1UWl4RFFVTjJRaXhMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTmFMRVZCUVVVc1FVRm5Ra2dzVFVGQlVTeEhRVU5JTEVWQlFVVXNRVUZCUVN4dlFrRkJiMElzUlVGb1EyeERMRUZCWjBOWkxGbEJhRU5CTEVOQllXbENMSGRDUVVGM1FpeERRVU5xUkN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5hTEVWQlFVVXNRVUZuUWtnc1RVRkJVU3hIUVVOSUxFVkJRVVVzUVVGQlFTeHZRa0ZCYjBJc1EwRkJRenRKUVVOMlFpeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFZEJTVEZDTzBsQmNrTllMRUZCWjBOWkxGbEJhRU5CTEVOQllWWXNlVUpCUVhsQ0xFTkJRM1pDTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMW9zUlVGQlJTeEJRV2RDU0N4TlFVRlJMRWRCUTBnc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVVjJRaXhCUVVGQkxFMUJRVWNzUVVGQlFTeEhRV3hEWkN4QlFXZERXU3haUVdoRFFTeERRV0ZwUWl4M1FrRkJkMElzUTBGRGFrUXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFdpeEZRVUZGTEVGQlowSklMRTFCUVZFc1IwRkRTQ3hGUVVGRkxFRkJRVUVzYjBKQlFXOUNMRU5CUlhaQ0xFRkJRVUVzVFVGQlJ5eEJRVUZCTEVWQlFWRTdUVUZEVWl4UFFVRlBMRVZCUVVVc1owSkJRV2RDTEVkQlF6RkNPMFZCY0VOaUxFRkJlVU5aTEZsQmVrTkJMRU5CWVZZc2VVSkJRWGxDTEVOQlEzWkNMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExb3NSVUZCUlN4QlFYbENTQ3hoUVVGbExFZEJRMVlzUlVGQlJTeEJRVUZCTEc5Q1FVRnZRaXhGUVhwRGJFTXNRVUY1UTFrc1dVRjZRMEVzUTBGaGFVSXNkMEpCUVhkQ0xFTkJRMnBFTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMW9zUlVGQlJTeEJRWGxDU0N4aFFVRmxMRWRCUTFZc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVRkRPMGxCUTNaQ0xFOUJRVThzUlVGQlJTeG5Ra0ZCWjBJc1IwRkpNVUk3U1VFNVExZ3NRVUY1UTFrc1dVRjZRMEVzUTBGaFZpeDVRa0ZCZVVJc1EwRkRka0lzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRXaXhGUVVGRkxFRkJlVUpJTEdGQlFXVXNSMEZEVml4RlFVRkZMRUZCUVVFc2IwSkJRVzlDTEVOQlJYWkNMRUZCUVVFc1RVRkJSeXhCUVVGQkxFZEJNME5rTEVGQmVVTlpMRmxCZWtOQkxFTkJZV2xDTEhkQ1FVRjNRaXhEUVVOcVJDeExRVUZMTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVOYUxFVkJRVVVzUVVGNVFrZ3NZVUZCWlN4SFFVTldMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZGtJc1FVRkJRU3hOUVVGSExFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUjBGRE1VSTdSVUUzUTJJc1FVRjFSRThzV1VGMlJFc3NRMEZ4UkZnc1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEZRVUZGTzBsQlEyWXNUMEZCVHl4RlFVRkRMRWxCUVVrN1NVRkRXaXhUUVVGVExFVkJRVU1zU1VGQlNUdEpRVWxrTzFWQlEwY3NSVUZ6UTBvN1NVRndSMDRzUVVFd1JGTXNXVUV4UkVjc1EwRnhSRmdzUzBGQlN5eEJRVU5JTEVsQlFVMHNRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRVaXhGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVZFlMRU5CUVVNc1EwRkJRenROUVVOR0xFbEJRVWtzUlVGQlF5eFJRVUZSTEVkQlEyUTdTVUZKZFVJc1UwRkJReXhGUVVGa0xFOUJRVThzUlVGQlF5eEpRVUZKTzAxQmFFVTVRaXhCUVhWRVR5eFpRWFpFU3l4RFFYRkVXQ3hMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVWQlFVVTdVVUZWWWl4UFFVRlBMRVZCUVVNc1NVRkJTU3hIUVcxRFpqdFJRWEJIVGl4QlFYVkZWeXhaUVhaRlF5eERRWEZFV0N4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJaVlFzUlVGQlJTeERRVU5HTEdsQ1FVRnBRaXhEUVVGRE8xVkJRMmhDTEZOQlFWTXNSVUZCUXl4TFFVRkxMRWRCUTJoQ08xRkJla1ZhTEVGQk1FVlhMRmxCTVVWRExFTkJjVVJZTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRmxWQ3hGUVVGRkxFTkJTVVlzYjBKQlFXOUNMRU5CUVVNN1ZVRkRia0lzVTBGQlV5eEZRVUZETEVsQlFVa3NSMEZEWmp0UlFUVkZXaXhCUVhORlZ5eFpRWFJGUXl4RFFYRkVXQ3hMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlpWUXNSVUZCUlN4QlFVOUdMRzlDUVVGeFFpeERRVUZETzFWQlEzQkNMRk5CUVZNc1JVRkJReXhQUVVGUExFZEJRMnhDTzFGQkwwVmFMRUZCYzBWWExGbEJkRVZETEVOQmNVUllMRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGbFZDeEZRVUZGTEVGQlZVWXNiVUpCUVc5Q0xFTkJRVU03VlVGRGJrSXNVMEZCVXl4RlFVRkRMRlZCUVZVc1IwRkpja0k3VlU1VVVpeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8xbE5OVVYyUXl4QlFYTkZWeXhaUVhSRlF5eERRWEZFV0N4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJaVlFzUlVGQlJTeEJRVlZHTEcxQ1FVRnZRaXhEUVVGRE8yTkJSMnBDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ08xRkJja1phTEVGQmMwVlhMRmxCZEVWRExFTkJjVVJZTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRmxWQ3hGUVVGRkxFRkJaMEpHTEd0Q1FVRnRRaXhEUVVGRE8xVkJRMnhDTEZOQlFWTXNSVUZCUXl4VFFVRlRMRWRCU1hCQ08xVk9abElzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRaVFRWRmRrTXNRVUZ6UlZjc1dVRjBSVU1zUTBGeFJGZ3NTMEZCU3l4QlFVTklMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVdWVUxFVkJRVVVzUVVGblFrWXNhMEpCUVcxQ0xFTkJRVU03WTBGSGFFSXNUMEZCVHl4RlFVRkZMRWxCUVVrc1IwRkZhRUk3VVVFelJsb3NRVUZ6UlZjc1dVRjBSVU1zUTBGeFJGZ3NTMEZCU3l4QlFVTklMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVdWVUxFVkJRVVVzUVVGelFrWXNhMEpCUVcxQ0xFTkJRVU03VlVGRGJFSXNVMEZCVXl4RlFVRkRMRk5CUVZNc1IwRkpjRUk3VlU1eVFsSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dFpUVFZGZGtNc1FVRnpSVmNzV1VGMFJVTXNRMEZ4UkZnc1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRV1ZVTEVWQlFVVXNRVUZ6UWtZc2EwSkJRVzFDTEVOQlFVTTdZMEZIYUVJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUjBGRmFFSTdSVUYzUW5GQ0xGTkJRVU1zUlVGQlpDeFBRVUZQTEVWQlFVTXNTVUZCU1R0SlFYcElhRU1zUVVGclNXRXNXVUZzU1VRc1EwRnhTRllzVDBGQlR5eERRVU5PTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRlZWQ3hGUVVGRkxFRkJRMFlzWlVGQlowSXNRMEZCUXp0TlFVTm1MRk5CUVZNc1JVRkJReXhOUVVGTkxFZEJRMnBDTzBsQmNrbGtMRUZCYTBsaExGbEJiRWxFTEVOQmNVaFdMRTlCUVU4c1EwRkRUaXhMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlZWUXNSVUZCUlN4QlFVbEdMR2xDUVVGclFpeERRVUZETzAxQlEycENMRk5CUVZNc1JVRkJReXhMUVVGTExFZEJRMmhDTzBsQmVFbGtMRUZCYTBsaExGbEJiRWxFTEVOQmNVaFdMRTlCUVU4c1EwRkRUaXhMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlZWUXNSVUZCUlN4QlFVOUdMRzlDUVVGeFFpeERRVUZETzAxQlEzQkNMRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3U1VFelNXUXNRVUZyU1dFc1dVRnNTVVFzUTBGeFNGWXNUMEZCVHl4RFFVTk9MRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGVlZDeEZRVUZGTEVGQlZVWXNiMEpCUVhGQ0xFTkJRVU03VFVGRGNFSXNVMEZCVXl4RlFVRkRMRTlCUVU4c1IwRkRiRUk3U1VFNVNXUXNRVUZyU1dFc1dVRnNTVVFzUTBGeFNGWXNUMEZCVHl4RFFVTk9MRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGVlZDeEZRVUZGTEVGQllVWXNiVUpCUVc5Q0xFTkJRVU03VFVGRGJrSXNVMEZCVXl4RlFVRkRMRlZCUVZVc1IwRkpja0k3VFU1NFJWWXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dFJUVFZGZGtNc1FVRnJTV0VzV1VGc1NVUXNRMEZ4U0ZZc1QwRkJUeXhEUVVOT0xFdEJRVXNzUVVGRFNDeEpRVUZOTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFJc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZWVkN4RlFVRkZMRUZCWVVZc2JVSkJRVzlDTEVOQlFVTTdWVUZIYWtJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUjBGRmFFSTdTVUZ3U21Rc1FVRnJTV0VzV1VGc1NVUXNRMEZ4U0ZZc1QwRkJUeXhEUVVOT0xFdEJRVXNzUVVGRFNDeEpRVUZOTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFJc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZWVkN4RlFVRkZMRUZCYlVKR0xHdENRVUZ0UWl4RFFVRkRPMDFCUTJ4Q0xGTkJRVk1zUlVGQlF5eFRRVUZUTEVkQlNYQkNPMDFPT1VWV0xFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1VVMDFSWFpETEVGQmEwbGhMRmxCYkVsRUxFTkJjVWhXTEU5QlFVOHNRMEZEVGl4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJWVlFzUlVGQlJTeEJRVzFDUml4clFrRkJiVUlzUTBGQlF6dFZRVWRvUWl4UFFVRlBMRVZCUVVVc1NVRkJTU3hIUVVWb1FqdEpRVEZLWkN4QlFXdEpZU3haUVd4SlJDeERRWEZJVml4UFFVRlBMRU5CUTA0c1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVlZVTEVWQlFVVXNRVUY1UWtZc2EwSkJRVzFDTEVOQlFVTTdUVUZEYkVJc1UwRkJVeXhGUVVGRExGTkJRVk1zUjBGSmNFSTdUVTV3UmxZc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0UlRUVkZka01zUVVGclNXRXNXVUZzU1VRc1EwRnhTRllzVDBGQlR5eERRVU5PTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRlZWQ3hGUVVGRkxFRkJlVUpHTEd0Q1FVRnRRaXhEUVVGRE8xVkJSMmhDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ08wVkJXV3RDTEZOQlFVTXNSVUZCWkN4UFFVRlBMRVZCUVVNc1NVRkJTVHRKVG1oSE0wSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5UVFZGZGtNc1FVRXlTMUVzV1VFelMwa3NRMEYzUzFnc1QwRkJUeXhCUVVGQkxIZENRVUYzUWl4QlFVRkJMSGxDUVVGNVFpeERRVU4yUkN4TFFVRkxMRUZCUTBvc1NVRkJUeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFZEJNMHR5UWl4QlFUSkxVU3haUVROTFNTeERRWGRMSzBNc1QwRkJUeXhCUVVGQkxIZENRVUYzUWl4QlFVRkJMSGRDUVVGM1FpeERRVU5vU0N4TFFVRkxMRUZCUTBvc1NVRkJUeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFVkJRVVU3VVVGTldDeHRRa0ZCYlVJc1JVRkJReXh2UjBGQmIwYzdVVUZEZUVnc2NVSkJRWEZDTEVWQlFVVXNlVUpCUVhsQ0xFZEJSM0pFT3p0QlFVMVFMRUZCUTBVc1QwRkVTeXhEUVVOTUxIRkNRVUZ4UWl4RFFVRkRPMFZCUTNCQ0xFOUJRVThzUlVGQlJTeEpRVUZKTEVkQlYyUTdSVUZpU0N4QlFVZEpMRTlCU0Vjc1EwRkRUQ3h4UWtGQmNVSXNRMEZGYmtJc1VVRkJVU3hEUVVGRE8wbEJRMUFzVFVGQlRTeEZRVUZGTEVOQlFVTTdTVUZEVkN4UFFVRlBMRVZCUVVVc1EwRkJReXhIUVVOWU8wVkJUa3dzUVVGUFNTeFBRVkJITEVOQlEwd3NjVUpCUVhGQ0xFTkJUVzVDTEdsQ1FVRnBRaXhEUVVGRE8wbEJRMmhDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCU1dRN1NVRmFUQ3hCUVZOUkxFOUJWRVFzUTBGRFRDeHhRa0ZCY1VJc1EwRk5ia0lzYVVKQlFXbENMRWRCUldJc1EwRkJReXhEUVVGRE8wMUJRMFlzU1VGQlNTeEZRVUZGTEZGQlFWRXNSMEZEWmpzN1FVRkxVQ3hCUVVOblF5eFpRVVJ3UWl4RFFVRkRMRTlCUVU4c1FVRkJRU3g1UWtGQmVVSXNRVUZCUVN4dlFrRkJiMElzUTBGREwwUXNTMEZCU3l4QlFVRkJMR05CUVdNc1IwRkJSeXhMUVVGTExFZEJRVWNzUlVGQlJTeERRVUZETzBWQlF5OUNMSEZDUVVGeFFpeEZRVUZGTEc5RFFVRnZRenRGUVVNelJDeHRRa0ZCYlVJc1JVRkJSU3cwUkVGQk5FUXNSMEZOYkVZN1JVRlVTQ3hCUVVsSkxGbEJTbEVzUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CUXk5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkhPVUlzUlVGQlJTeEJRVU5CTEZsQlFXTXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JVRkJSVHRKUVVObUxGVkJRVlVzUlVGQlJTeGxRVUZsTEVkQlF6VkNPenRCUVZCUUxFRkJXVThzV1VGYVN5eERRVUZETEU5QlFVOHNRVUZCUVN4NVFrRkJlVUlzUVVGQlFTeHZRa0ZCYjBJc1EwRlZMMFFzUzBGQlN5eEJRVUZCTEdOQlFXTXNSMEZCUnl4TFFVRkxMRUZCUXpGQ0xFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEZRVUZGTzBWQlEyWXNjVUpCUVhGQ0xFVkJRVVVzYjBOQlFXOURPMFZCUXpORUxHMUNRVUZ0UWl4RlFVRkZMRFJFUVVFMFJDeEhRVEJDYkVZN1JVRjZRbmxDTEZOQlFVTXNSVUZCWkN4UFFVRlBMRVZCUVVNc1NVRkJTVHRKUVdZNVFpeEJRV2RDVnl4WlFXaENReXhEUVVGRExFOUJRVThzUVVGQlFTeDVRa0ZCZVVJc1FVRkJRU3h2UWtGQmIwSXNRMEZWTDBRc1MwRkJTeXhCUVVGQkxHTkJRV01zUjBGQlJ5eExRVUZMTEVGQlF6RkNMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVsVUxFVkJRVVVzUTBGQlF6dE5RVU5JT3pzN096czdPenRqUVZGSExFVkJZVW83VFVGMFExWXNRVUZuUWxjc1dVRm9Ra01zUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CVlM5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4QlFVTXhRaXhKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSlZDeEZRVUZGTEVGQlZVWXNiMEpCUVhGQ0xFTkJRVU03VVVGRGNFSXNWVUZCVlN4RlFVRkZMR1ZCUVdVc1IwRkROVUk3VFVFMVFsb3NRVUZuUWxjc1dVRm9Ra01zUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CVlM5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4QlFVTXhRaXhKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSlZDeEZRVUZGTEVGQllVWXNXVUZCWXl4RFFVRkJMRUZCUVVFc1EwRkJReXhGUVVGRk8xRkJRMllzVTBGQlV5eEZRVUZETEhGQ1FVRnhRaXhIUVVOb1F6dE5RUzlDV2l4QlFXZENWeXhaUVdoQ1F5eERRVUZETEU5QlFVOHNRVUZCUVN4NVFrRkJlVUlzUVVGQlFTeHZRa0ZCYjBJc1EwRlZMMFFzUzBGQlN5eEJRVUZCTEdOQlFXTXNSMEZCUnl4TFFVRkxMRUZCUXpGQ0xFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWxVTEVWQlFVVXNRVUZuUWtZc1dVRkJZeXhEUVVGQkxFRkJRVUVzUTBGQlF5eEZRVUZGTzFGQlEyWXNVMEZCVXl4RlFVRkRMRzlDUVVGdlFpeEhRVU12UWp0TlFXeERXaXhCUVdkQ1Z5eFpRV2hDUXl4RFFVRkRMRTlCUVU4c1FVRkJRU3g1UWtGQmVVSXNRVUZCUVN4dlFrRkJiMElzUTBGVkwwUXNTMEZCU3l4QlFVRkJMR05CUVdNc1IwRkJSeXhMUVVGTExFRkJRekZDTEVsQlFVMHNRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRVaXhGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVbFVMRVZCUVVVc1FVRnRRa1lzV1VGQll5eERRVUZCTEVGQlFVRXNRMEZCUXl4RlFVRkZPMUZCUTJZc1UwRkJVeXhGUVVGRExHOUNRVUZ2UWl4SFFVTXZRanM3UVVGWldpeEJRVUZCTEZsQlFWa3NRMEZCUXp0RlFVTmFMRTlCUVU4c1JVRkJReXhMUVVGTExFZEJkMGxpTzBWT2VsUkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTVTFuVEhaRExFRkJSMWNzV1VGSVF5eERRVVZZTEU5QlFVOHNRMEZEVEN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wMTRSMmhRWml4UlFVRlJMRVZCUVVVc2JVSkJRVzFDTzAxQlF6ZENMRWxCUVVrc1JVRkJSU3h4UWtGQmNVSTdUVUZCUlN4alFVRmpPMDFCUXpORExFbEJRVWtzUlVGQlJTeDNRa0ZCZDBJN1RVRkRPVUlzVDBGQlR5eEZRVUZETEZsQlFWazdUVUZEY0VJc1RVRkJUU3hGUVVGRExGbEJRVms3VFVGRGJrSXNUVUZCVFN4RlFVRkZMR05CUVdNN1RVRkRkRUlzUzBGQlN5eEZRVUZGTEdOQlFXTTdUVUZEY2tJc1VVRkJVU3hGUVVGRkxFMUJRVTBzUjNkSE5rOWtPMDE0UnpWUFJpeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU4zUjNGUFdpeFpRVUZaTEVOQlJWZ3NUMEZCVHl4RFFVTk1MRXRCUVVzc1IwRkJSeXhMUVVGTExFTjRSM1pQV2l4RFFVRkRMRVZCUkVnc1FVRkRTU3hKUVVSQkxFRkJRVUVzVFVGQlRTeERkMGR4VDFvc1dVRkJXU3hEUVVWWUxFOUJRVThzUTBGRFRDeExRVUZMTEVkQlFVY3NTMEZCU3l4RGVFZDJUMVlzUzBGQlN5eEZRVVJVTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRU5CUTB3c1MwRkJTeXhIUVVGSExFdEJRVXNzUTNoSGRrOUtMRTFCUVUwc1EwRkJRenRSUVVOaUxFOUJRVThzUlVGQlJTeGxRVUZsTEVkQlEzcENPMFZyUjJ0RVJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMHgyUXl4QlFWVlRMRmxCVmtjc1EwRkZXQ3hQUVVGUExFTkJUVXdzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZGU2l4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRVZCUVVVN1RVRkROMElzWVVGQllTeEZRVUZGTEV0QlFVc3NSMEZEY2tJN1JVRmFVaXhCUVd0Q2EwSXNXVUZzUWs0c1EwRkZXQ3hQUVVGUExFRkJZVXdzZDBKQlFYbENMRUZCUTNaQ0xIbENRVUV3UWl4RFFVTjRRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZGTEVWQlFVVXNSVUZzUW5CQ0xFRkJhMEpuUXl4WlFXeENjRUlzUTBGRldDeFBRVUZQTEVGQllVd3NkMEpCUVhsQ0xFRkJRM1pDTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlExa3NTMEZCU3l4SFFVRkhMRVZCUVVVc1JVRnNRbXhETEVGQmEwSnJRaXhaUVd4Q1RpeERRVVZZTEU5QlFVOHNRVUZoVEN4M1FrRkJlVUlzUVVGRFN5eDNRa0ZCZVVJc1EwRkRia1FzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUlN4RlFVRkZMRVZCYkVKd1FpeEJRV3RDWjBNc1dVRnNRbkJDTEVOQlJWZ3NUMEZCVHl4QlFXRk1MSGRDUVVGNVFpeEJRVU5MTEhkQ1FVRjVRaXhEUVVOdVJDeExRVUZMTEVkQlExa3NTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVONFFpeHRRa0ZCYlVJc1JVRkJSU3h0UzBGQmJVc3NSMEZMZWt3N1NVNTRUVTRzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenROVFdkTWRrTXNRVUZyUW10Q0xGbEJiRUpPTEVOQlJWZ3NUMEZCVHl4QlFXRk1MSGRDUVVGNVFpeEJRVU4yUWl4NVFrRkJNRUlzUTBGRGVFSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSU3hGUVVGRkxFVkJiRUp3UWl4QlFXdENaME1zV1VGc1FuQkNMRU5CUlZnc1QwRkJUeXhCUVdGTUxIZENRVUY1UWl4QlFVTjJRaXg1UWtGQk1FSXNRMEZEZUVJc1MwRkJTeXhIUVVOWkxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVWQmJFSnNReXhCUVd0Q2EwSXNXVUZzUWs0c1EwRkZXQ3hQUVVGUExFRkJZVXdzZDBKQlFYbENMRUZCUTBzc2QwSkJRWGxDTEVOQlEyNUVMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVVVzUlVGQlJTeEZRV3hDY0VJc1FVRnJRbWRETEZsQmJFSndRaXhEUVVWWUxFOUJRVThzUVVGaFRDeDNRa0ZCZVVJc1FVRkRTeXgzUWtGQmVVSXNRMEZEYmtRc1MwRkJTeXhIUVVOWkxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZIZEVJc2JVSkJRVzFDTEVWQlFVVXNhMFJCUVd0RU8xRkJRM1pGTEhGQ1FVRnhRaXhGUVVGRkxIbENRVUY1UWl4SFFVVnVSRHRGUVhoQ1ZpeEJRVFpDYTBJc1dVRTNRazRzUTBGRldDeFBRVUZQTEVGQllVd3NkMEpCUVhsQ0xFRkJXWFpDTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkZMRVZCUVVVc1JVRTNRbkJDTEVGQk5rSm5ReXhaUVRkQ2NFSXNRMEZGV0N4UFFVRlBMRUZCWVV3c2QwSkJRWGxDTEVGQldYWkNMSGxDUVVFd1FpeERRVU40UWl4TFFVRkxMRWRCUTFrc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVFM1FteERMRUZCTmtKclFpeFpRVGRDVGl4RFFVVllMRTlCUVU4c1FVRmhUQ3gzUWtGQmVVSXNRVUZaU3l4M1FrRkJlVUlzUTBGRGJrUXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSU3hGUVVGRkxFVkJOMEp3UWl4QlFUWkNaME1zV1VFM1FuQkNMRU5CUlZnc1QwRkJUeXhCUVdGTUxIZENRVUY1UWl4QlFWbExMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTFrc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVFM1FteERMRUZCTmtKclFpeFpRVGRDVGl4RFFVVllMRTlCUVU4c1FVRmhUQ3gzUWtGQmVVSXNRVUZaWjBNc01rSkJRVFJDTEVOQlEycEdMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVVVzUlVGQlJTeEZRVGRDY0VJc1FVRTJRbWRETEZsQk4wSndRaXhEUVVWWUxFOUJRVThzUVVGaFRDeDNRa0ZCZVVJc1FVRlpaME1zTWtKQlFUUkNMRU5CUTJwR0xFdEJRVXNzUjBGRFdTeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUTNoQ0xHMUNRVUZ0UWl4RlFVRkZMR2xHUVVGcFJpeEhRVXQyUnp0RlFXNURWaXhCUVhkRFN5eFpRWGhEVHl4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUlVGNFExWXNRVUYzUTBzc1dVRjRRMDhzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRMEZEYmtRc1MwRkJTeXhEUVVGRE8wbEJWMG83TzFWQlJVY3NSVUZWU2p0SlFTOUVUaXhCUVhsRGFVSXNXVUY2UTB3c1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1JVRjZRMjVDTEVGQmVVTXJRaXhaUVhwRGJrSXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4RFFVTjRRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEhRVUZITEVWQlFVVXNSVUY2UTJwRExFRkJlVU5wUWl4WlFYcERUQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVGNlEyNUNMRUZCZVVNclFpeFpRWHBEYmtJc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUTBGRGJrUXNTMEZCU3l4SFFVTmhMRXRCUVVzc1IwRkJSeXhGUVVGRkxFTkJRVU03VFVGRGVrSXNUMEZCVHl4RlFVRkRMRWxCUVVrN1RVRkZXaXhSUVVGUkxFVkJRVU1zUTBGQlF5eEhRVTFZTzAxT2JFOUtMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdVVTFuVEhaRExFRkJlVU5wUWl4WlFYcERUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhwRGJrSXNRVUY1UXl0Q0xGbEJla051UWl4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUjBGRFlTeExRVUZMTEVkQlFVY3NSVUZCUlN4RlFYcERha01zUVVGNVEybENMRmxCZWtOTUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVOQlEyNUVMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEZRWHBEYmtJc1FVRjVReXRDTEZsQmVrTnVRaXhEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTJFc1MwRkJTeXhIUVVGSExFVkJRVVVzUTBGQlF6dFZRVXQyUWl4dFFrRkJiVUlzUlVGQlJTd3lRMEZCTWtNN1ZVRkRhRVVzY1VKQlFYRkNMRVZCUVVNc2JVSkJRVzFDTEVkQlJ6VkRPMGxCYkVSU0xFRkJjMFJwUWl4WlFYUkVUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZqUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhSRWJrSXNRVUZ6UkdsQ0xGbEJkRVJNTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRU5CUTI1RUxFdEJRVXNzUjBGalJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMDFCUTFnc2JVSkJRVzFDTEVWQlFVVXNiMGRCUVc5SExFZEJTVEZJTzAxT00wOUtMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdVVTFuVEhaRExFRkJjMFJwUWl4WlFYUkVUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZqUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhSRWJrSXNRVUZ6UkdsQ0xGbEJkRVJNTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRU5CUTI1RUxFdEJRVXNzUjBGalJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMVZCUjFRc2JVSkJRVzFDTEVWQlFVTXNjVVpCUVhGR0xFZEJSVFZITzBsQk0wUlNMRUZCTkVSMVFpeFpRVFZFV0N4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUjBGdlFrUXNTMEZCU3l4QlFVRkJMRTFCUVUwc1IwRkJSeXhGUVVGRkxFVkJOVVI2UWl4QlFUUkVkVUlzV1VFMVJGZ3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1EwRkRia1FzUzBGQlN5eEhRVzlDUkN4TFFVRkxMRUZCUVVFc1RVRkJUU3hIUVVGSExFVkJRVVVzUTBGQlF6dE5RVU5xUWl4UFFVRlBMRVZCUVVVc1MwRkJTeXhIUVVObU8wVkJPVVJTTEVGQmFVVnBSQ3haUVdwRmNrTXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUTI1Q0xHOUNRVUZ2UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXhoUVVGaExFRkJRV3hDTEVkQmFrVjJSQ3hCUVdsRmFVUXNXVUZxUlhKRExFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZEYmtJc2IwSkJRVzlDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZCTEVGQlFVRXNSMEZCUXl4RlFVRkxMR0ZCUVdFc1FVRkJiRUlzUlVGQmIwSTdTVUZEYkVVc1QwRkJUeXhGUVVGRkxFdEJRVXM3U1VGRFpDeFpRVUZaTEVWQlFVVXNTVUZCU1N4SFFVTnVRanRGVG5CUVNpeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMHgyUXl4QlFYTkZiVUlzV1VGMFJWQXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RlFYUkZja0lzUVVGelJUWkRMRmxCZEVWcVF5eERRVVZZTEU5QlFVOHNRVUZ4UTB3c2VVSkJRVEJDTEVGQmVVSjZRaXh2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNSMEYwUlRGRUxFRkJjMFZ0UWl4WlFYUkZVQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEZRWFJGY2tJc1FVRnpSVFpETEZsQmRFVnFReXhEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVWQlFVVTdUVUZGTDBNc2JVSkJRVzFDTEVWQlFVTXNhVVJCUVdsRU8wMUJRM0pGTEhGQ1FVRnhRaXhGUVVGRExESkNRVUV5UWl4SFFYVkNjRVE3VFVGb1IxWXNRVUV3UldVc1dVRXhSVWdzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVWxPTEVWQlFVVXNRVUZEVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVE5GT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpRU3hGUVVGRkxFRkJRMllzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSVGxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCUTFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEV6UlRsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSmNrTXNSVUZCUlN4QlFVTm1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQk0wVTVRaXhCUVRCRlpTeFpRVEZGU0N4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsT0xFVkJRVVVzUVVGRFZDeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVRORk9VSXNRVUV3UlhGQ0xGbEJNVVZVTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1VFc1JVRkJSU3hCUVVObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBVNVFpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNUTkRMRVZCUVVVc1FVRkRWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkZPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZKY2tNc1JVRkJSU3hCUVVObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVZCUVVVN1VVRkRaaXhUUVVGVExFVkJRVU1zUzBGQlN5eEhRVU5vUWp0TlFUZEZhRUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsT0xFVkJRVVVzUVVGSlZDeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVRsRk9VSXNRVUV3UlhGQ0xGbEJNVVZVTEVOQlJWZ3NUMEZCVHl4QlFYRkRUQ3g1UWtGQk1FSXNRVUY1UW5wQ0xHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKUVN4RlFVRkZMRUZCU1dZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEU1UlRsQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEyRXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGQlNTeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVrelF5eEZRVUZGTEVGQlNWUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBFNVJUbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRUZCZVVKNlFpeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5oTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRVWtzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkpja01zUlVGQlJTeEJRVWxtTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJPVVU1UWl4QlFUQkZaU3haUVRGRlNDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbE9MRVZCUVVVc1FVRkpWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUbEZPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVRXNSVUZCUlN4QlFVbG1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQk9VVTVRaXhCUVRCRlpTeFpRVEZGU0N4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTVE5ETEVWQlFVVXNRVUZKVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVGxGT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSmNrTXNSVUZCUlN4QlFVbG1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVWQlFVVTdVVUZEWml4VFFVRlRMRVZCUVVNc1MwRkJTenRSUVVObUxGVkJRVlVzUlVGQlF5eEpRVUZKTEVkQlEyaENPMDFCYWtab1FpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJTVTRzUlVGQlJTeEJRVkZVTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJiRVk1UWl4QlFUQkZjVUlzV1VFeFJWUXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRlJaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFXeEdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTVE5ETEVWQlFVVXNRVUZSVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRV3hHT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEyRXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGQlNTeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVseVF5eEZRVUZGTEVGQlVXWXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGc1JqbENMRUZCTUVWbExGbEJNVVZJTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1U0c1JVRkJSU3hCUVZGVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCYkVZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKUVN4RlFVRkZMRUZCVVdZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEZzUmpsQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSk0wTXNSVUZCUlN4QlFWRlVMRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQmJFWTVRaXhCUVRCRmNVSXNXVUV4UlZRc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWx5UXl4RlFVRkZMRUZCVVdZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSVUZCUlR0UlFVTm1MRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3VFVGd1JtaENMRUZCTUVWbExGbEJNVVZJTEVOQlJWZ3NUMEZCVHl4QlFYRkRUQ3g1UWtGQk1FSXNRVUY1UW5wQ0xHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKVGl4RlFVRkZMRUZCVjFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEZ5UmpsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJTVUVzUlVGQlJTeEJRVmRtTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJja1k1UWl4QlFUQkZaU3haUVRGRlNDeERRVVZZTEU5QlFVOHNRVUZ4UTB3c2VVSkJRVEJDTEVGQmVVSjZRaXh2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZKTTBNc1JVRkJSU3hCUVZkVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCY2tZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRlhaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFYSkdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGSlRpeEZRVUZGTEVGQlYxUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGeVJqbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsQkxFVkJRVVVzUVVGWFppeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVhKR09VSXNRVUV3UldVc1dVRXhSVWdzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkJTU3hGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVa3pReXhGUVVGRkxFRkJWMVFzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRnlSamxDTEVGQk1FVnhRaXhaUVRGRlZDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFlTeExRVUZMTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVGSkxFVkJRVVVzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCU1hKRExFVkJRVVVzUVVGWFppeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhGUVVGRk8xRkJRMllzVTBGQlV5eEZRVUZETEZWQlFWVXNSMEZEY2tJN1RVRjJSbWhDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGSlRpeEZRVUZGTEVGQlkxUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGNFJqbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRUZCZVVKNlFpeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1VFc1JVRkJSU3hCUVdObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCZUVZNVFpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSk0wTXNSVUZCUlN4QlFXTlVMRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQmVFWTVRaXhCUVRCRmNVSXNXVUV4UlZRc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTWEpETEVWQlFVVXNRVUZqWml4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRWGhHT1VJc1FVRXdSV1VzV1VFeFJVZ3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpUaXhGUVVGRkxFRkJZMVFzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRjRSamxDTEVGQk1FVnhRaXhaUVRGRlZDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRmpaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFYaEdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCWTFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEY0UmpsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRmpaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4RlFVRkZPMUZCUTJZc1UwRkJVeXhGUVVGRExGTkJRVk1zUjBGRGNFSTdUVUV4Um1oQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpUaXhGUVVGRkxFRkJhVUpVTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJNMFk1UWl4QlFUQkZjVUlzV1VFeFJWUXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRnBRbVlzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSamxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCYVVKVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRnBRbVlzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSamxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVNHNSVUZCUlN4QlFXbENWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkdPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVRXNSVUZCUlN4QlFXbENaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCYVVKVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkJTU3hGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVbHlReXhGUVVGRkxFRkJhVUptTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFVkJRVVU3VVVGRFppeFRRVUZUTEVWQlFVTXNVMEZCVXl4SFFVTndRanRGUVRkR2FFSXNRVUZyUjJFc1dVRnNSMFFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVzVITlVJc1FVRnJSMkVzV1VGc1IwUXNRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQk5FSkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJRMUlzUlVGQlJTeEJRVU5JTEZsQlFXVXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JVRkJSVHRKUVVObUxGTkJRVk1zUlVGQlF5eEpRVUZKTEVkQlJXWTdSVUYwUjJRc1FVRnBTRk1zV1VGcVNFY3NRMEZGV0N4UFFVRlBMRUZCTkVkTUxIZENRVUY1UWl4RFFVTjJRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZEVml4RlFVRkZMRUZCUTBnc1dVRkJaMElzUlVGc1NIaENMRUZCYVVoaExGbEJha2hFTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlEwNHNSVUZCUlN4QlFVTlFMRmxCUVdkQ0xFVkJiRWg0UWl4QlFXbElVeXhaUVdwSVJ5eERRVVZZTEU5QlFVOHNRVUUwUjB3c2QwSkJRWGxDTEVOQlEzWkNMRXRCUVVzc1IwRkRZU3hMUVVGTExFZEJRVWNzUlVGQlJTeERRVU40UWl4RlFVRkZMRUZCUTBnc1dVRkJaMElzUlVGc1NIaENMRUZCYVVoaExGbEJha2hFTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlEzQkNMRVZCUVVVc1FVRkRVQ3haUVVGblFpeERRVUZETzBsQlExb3NXVUZCV1N4RlFVRkZMRXRCUVVzc1IwRkRjRUk3UlVGd1NGb3NRVUYxU0dsQ0xGbEJka2hNTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVZGRUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEV0N4dFFrRkJiVUlzUlVGQlJTeHZSVUZCYjBVN1NVRkRla1lzWVVGQllTeEZRVUZGTEV0QlFVc3NSMEZUY2tJN1NVRnNTVklzUVVFd1NGY3NXVUV4U0VNc1EwRkZXQ3hQUVVGUExFRkJORWRNTEhkQ1FVRjVRaXhEUVVOMlFpeExRVUZMTEVkQlVVUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkhVaXhGUVVGRkxFRkJRMFlzWlVGQlowSXNRMEZCUXp0TlFVTm1MRlZCUVZVc1JVRkJSU3hOUVVGTkxFZEJRMjVDTzBsT04xTlNMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUVTFuVEhaRExFRkJkVWhwUWl4WlFYWklUQ3hEUVVWWUxFOUJRVThzUVVFMFIwd3NkMEpCUVhsQ0xFTkJRM1pDTEV0QlFVc3NSMEZSUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJVMVFzYlVKQlFXMUNMRVZCUVVVc2NVWkJRWEZHTEVkQlJUZEhPenRCUVZOU0xFRkJSMGtzV1VGSVVTeERRVVZXTEdOQlFXTXNRMEZEV2l4SFFVRkhMRVZCU0ZBc1FVRkhVeXhaUVVoSExFTkJSVllzWTBGQll5eERRVU5RTEV0QlFVc3NSVUZJWkN4QlFVZG5RaXhaUVVoS0xFTkJSVllzWTBGQll5eERRVU5CTEUxQlFVMHNSVUZJZEVJc1FVRkhkMElzV1VGSVdpeERRVVZXTEdOQlFXTXNRMEZEVVN4TFFVRkxMRU5CUVVVN1JVRkRla0lzVlVGQlZTeEZRVUZGTEU5QlFVOHNSMEZEY0VJN08wRk9hRlZFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3UlUweVZIWkRMRUZCUVVFc1dVRkJXU3hEUVVGRE8wbEJVMVE3T3pzMFJVRkhkMFU3U1VGRGVFVXNUMEZCVHl4RlFVRkRMRWxCUVVrN1NVRkRXaXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVU5RTEdOQlFXTXNSVUZCUlN4TlFVRk5MRWRCY1VkNlFqdEpRWEJJUkN4QlFXZENTU3haUVdoQ1VTeERRV2RDVWl4UFFVRlBMRU5CUVVNN1RVRkRUaXhQUVVGUExFVkJRVU1zU1VGQlNUdE5RVU5hTEdOQlFXTXNSVUZCUlN4TlFVRk5PMDFCUTNSQ0xFbEJRVWtzUlVGQlJTeERRVUZETEVkQkswWlNPMDFCYkVoTUxFRkJiMEpSTEZsQmNFSkpMRU5CWjBKU0xFOUJRVThzUjBGSlNDeDFRa0ZCZFVJc1EwRkJRenRSUVVONFFpeFBRVUZQTEVWQlFVVXNTVUZCU1R0UlFVTmlMRWxCUVVrc1JVRkJSU3hSUVVGUkxFZEJSV1k3VFVGNFFsQXNRVUZuUWtrc1dVRm9RbEVzUTBGblFsSXNUMEZCVHl4QlFWTk1MSGxDUVVFd1FpeERRVUZETzFGQlEzcENPMWRCUTBjc1JVRkRTanROUVRWQ1VDeEJRVFpDVVN4WlFUZENTU3hEUVdkQ1VpeFBRVUZQTEVkQllVZ3NkVUpCUVhWQ0xFTkJRVU03VVVGRGVFSXNUMEZCVHl4RlFVRkRMRWxCUVVrN1VVRkRXaXhKUVVGSkxFVkJRVU1zVVVGQlVTeEhRVGhGWkR0UlFUZEhVQ3hCUVdsRFZTeFpRV3BEUlN4RFFXZENVaXhQUVVGUExFZEJZVWdzZFVKQlFYVkNMRWRCU1hKQ0xHOUNRVUZ2UWl4RFFVRkRPMVZCUTNKQ0xFbEJRVWtzUlVGQlF5eFRRVUZUTzFWQlEyUXNUMEZCVHl4RlFVRkRMRWxCUVVrN1ZVRkRXaXhqUVVGakxFVkJRVU1zVFVGQlRUdFZRVU55UWl4WFFVRlhMRVZCUVVNc1EwRkJRenRWUVVOaUxGTkJRVk1zUlVGQlF5eERRVUZETzFWQlExZ3NXVUZCV1N4RlFVRkRMRXRCUVVzc1IwRkpia0k3VlVFelExUXNRVUZwUTFVc1dVRnFRMFVzUTBGblFsSXNUMEZCVHl4SFFXRklMSFZDUVVGMVFpeEhRVWx5UWl4dlFrRkJiMElzUTBGUGNFSXNRVUZCUVN4TlFVRkZMRUZCUVVFc1IwRjRRMW9zUVVGcFExVXNXVUZxUTBVc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVVseVFpeHZRa0ZCYjBJc1EwRlBWQ3hCUVVGQkxGZEJRVVVzUTBGQldTeE5RVUZOTEVGQlFXeENMRVZCUVc5Q08xbEJReTlDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUTJRN1VVRXhRMWdzUVVFMFExVXNXVUUxUTBVc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVdWeVFpeGpRVUZqTEVOQlFVTTdWVUZGWml4SlFVRkpMRVZCUVVNc1VVRkJVVHRWUVVWaUxFOUJRVThzUlVGQlF5eEpRVUZKTzFWQlExb3NZMEZCWXl4RlFVRkRMRTFCUVUwc1IwRXlSSFJDTzFWQk5VZFVMRUZCYTBSWkxGbEJiRVJCTEVOQlowSlNMRTlCUVU4c1IwRmhTQ3gxUWtGQmRVSXNSMEZsY2tJc1kwRkJZeXhIUVUxYUxESkNRVUV5UWl4RFFVRkRPMWxCUXpWQ0xGVkJRVlVzUlVGQlF5eEpRVUZKTzFsQlEyWXNWMEZCVnl4RlFVRkRMRU5CUVVNN1dVRkRZaXhUUVVGVExFVkJRVU1zUTBGQlF6dFpRVU5ZTEdOQlFXTXNSVUZCUXl4SFFVRkhMRWRCWjBKdVFqdFpRWFJGV0N4QlFYVkVZeXhaUVhaRVJpeERRV2RDVWl4UFFVRlBMRWRCWVVnc2RVSkJRWFZDTEVkQlpYSkNMR05CUVdNc1IwRk5XaXd5UWtGQk1rSXNSMEZMZWtJc1RVRkJUU3hEUVVGRE8yTkJRMUFzWTBGQll5eEZRVUZGTEVkQlFVYzdZMEZEYmtJc1UwRkJVeXhGUVVGRExFTkJRVU03WTBGRFdDeFZRVUZWTEVWQlFVTXNRMEZCUXp0alFVTmFMRk5CUVZNc1JVRkJReXhOUVVGTk8yTkJRMmhDTEU5QlFVOHNSVUZCUXl4SlFVRkpPMk5CUTFvc1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGUmNFSTdZMEZ5UldJc1FVRTRSR2RDTEZsQk9VUktMRU5CWjBKU0xFOUJRVThzUjBGaFNDeDFRa0ZCZFVJc1IwRmxja0lzWTBGQll5eEhRVTFhTERKQ1FVRXlRaXhIUVV0NlFpeE5RVUZOTEVkQlQwb3NSVUZCUlN4RFFVRkRPMmRDUVVOSUxHRkJRV0VzUlVGQlF5eERRVUZETzJkQ1FVTm1MRmxCUVZrc1JVRkJSU3hKUVVGSkxFZEJTVzVDTzJkQ1FYQkZaaXhCUVdsRlowSXNXVUZxUlVvc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVdWeVFpeGpRVUZqTEVkQlRWb3NNa0pCUVRKQ0xFZEJTM3BDTEUxQlFVMHNSMEZQU2l4RlFVRkZMRU5CUjBZc1NVRkJTU3hEUVVGRE8ydENRVU5JTEV0QlFVc3NSVUZCUXl4TFFVRkxMRWRCUTFvN1ZVRnVSV3BDTEVGQmRVVlpMRmxCZGtWQkxFTkJaMEpTTEU5QlFVOHNSMEZoU0N4MVFrRkJkVUlzUjBGbGNrSXNZMEZCWXl4SFFUSkNXaXh6UWtGQmMwSXNRMEZCUXp0WlFVTjJRaXhWUVVGVkxFVkJRVU1zUTBGQlF6dFpRVU5hTEZOQlFWTXNSVUZCUXl4RFFVRkRPMWxCUTFnc1RVRkJUU3hGUVVGRExFbEJRVWs3V1VGRFdDeFhRVUZYTEVWQlFVTXNRMEZCUXp0WlFVTmlMRTlCUVU4c1JVRkJReXhKUVVGSk8xbEJRMW9zVjBGQlZ5eEZRVUZETEU5QlFVODdXVUZEYmtJc1pVRkJaU3hGUVVGRExFMUJRVTA3V1VGRGRFSXNZMEZCWXl4RlFVRkRMRTFCUVUwN1dVRkRja0lzVDBGQlR5eEZRVUZETEdWQlFXVXNSMEV5UW5oQ08xbEJNMGRZTEVGQmFVWmpMRmxCYWtaR0xFTkJaMEpTTEU5QlFVOHNSMEZoU0N4MVFrRkJkVUlzUjBGbGNrSXNZMEZCWXl4SFFUSkNXaXh6UWtGQmMwSXNSMEZWY0VJc1IwRkJSeXhEUVVGRE8yTkJRMG9zVlVGQlZTeEZRVUZETEVOQlFVTTdZMEZEV2l4VFFVRlRMRVZCUVVNc1EwRkJRenRqUVVOWUxGVkJRVlVzUlVGQlF5eEpRVUZKTzJOQlJXWXNUVUZCVFN4RlFVRkRMRWxCUVVrN1kwRkRXQ3hYUVVGWExFVkJRVU1zVDBGQlR6dGpRVU51UWl4bFFVRmxMRVZCUVVNc1RVRkJUVHRqUVVOMFFpeGpRVUZqTEVWQlFVTXNUVUZCVFR0alFVTnlRaXhYUVVGWExFVkJRVU1zUTBGQlF6dGpRVU5pTEU5QlFVOHNSVUZCUXl4SlFVRkpPMk5CUTFvc1UwRkJVeXhGUVVGRExFbEJRVWtzUjBGalpqdGpRVEZIWWl4QlFUWkdaMElzV1VFM1Jrb3NRMEZuUWxJc1QwRkJUeXhIUVdGSUxIVkNRVUYxUWl4SFFXVnlRaXhqUVVGakxFZEJNa0phTEhOQ1FVRnpRaXhIUVZWd1FpeEhRVUZITEVkQldVUXNTMEZCU3l4RFFVRkRPMmRDUVVOT0xGVkJRVlVzUlVGQlF5eERRVUZETzJkQ1FVTmFMRk5CUVZNc1JVRkJReXhEUVVGRE8yZENRVU5ZTEZWQlFWVXNSVUZCUXl4SlFVRkpPMmRDUVVWbUxFMUJRVTBzUlVGQlF5eEpRVUZKTzJkQ1FVTllMRmRCUVZjc1JVRkJReXhQUVVGUE8yZENRVU51UWl4bFFVRmxMRVZCUVVNc1RVRkJUVHRuUWtGRGRFSXNZMEZCWXl4RlFVRkRMRTFCUVUwN1owSkJRM0pDTEZkQlFWY3NSVUZCUXl4RFFVRkRPMmRDUVVOaUxFOUJRVThzUlVGQlF5eEpRVUZKTzJkQ1FVTmFMRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3VFVGNlIyWXNRVUU0UjFFc1dVRTVSMGtzUTBGblFsSXNUMEZCVHl4SFFUaEdTQ3h0UWtGQmJVSXNRMEZCUXp0UlFVTndRaXhKUVVGSkxFVkJRVU1zVVVGQlVUdFJRVU5pTEZWQlFWVXNSVUZCUlN4TFFVRkxMRWRCUTJ4Q096dEJRVXRRTEVGQlFUWkdMRmxCUVdwR0xFTkJRVU1zVDBGQlR5eEJRVUZCTERKQ1FVRXlRaXhIUVVGSExIVkNRVUYxUWl4SFFVRkhMR05CUVdNc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXp0RlFVTnNTQ3haUVVGWkxFVkJRVVVzUzBGQlN5eEhRVWx3UWp0RlRuUmlSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMGxOYVdKMlF5eEJRVUUyUml4WlFVRnFSaXhEUVVGRExFOUJRVThzUVVGQlFTd3lRa0ZCTWtJc1IwRkJSeXgxUWtGQmRVSXNSMEZCUnl4alFVRmpMRWRCUVVjc2MwSkJRWE5DTEVOQlFVTTdUVUZIYUVnc1lVRkJZU3hGUVVGRkxFdEJRVXNzUjBGRmRrSTdPMEZPZEdKSExFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMTNZblpETEVGQlFUWkRMRmxCUVdwRExFTkJRVU1zVDBGQlR5eEhRVUZITEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVVV6UXl4WlFVRlpMRVZCUVVVc1MwRkJTeXhIUVV0MFFqdEpRVkJFTEVGQlFUWkRMRmxCUVdwRExFTkJRVU1zVDBGQlR5eEhRVUZITEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUVVGSE1VTXNWMEZCV1N4RFFVRkRPMDFCUTFnc1dVRkJXU3hGUVVGRkxFTkJRVU1zUjBGRGFFSTdPMEZCU1V3c1FVRkRSU3haUVVSVkxFTkJRMVlzUzBGQlN5eERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRWxCUVVrN1JVRkRaaXhQUVVGUExFVkJRVU1zUzBGQlN6dEZRVU5pTEdWQlFXVXNSVUZCUXl4UlFVRlJPMFZCUTNoQ0xGZEJRVmNzUlVGQlF5eERRVUZETzBWQlEySXNVMEZCVXl4RlFVRkRMRU5CUVVNc1IwRTJRMW83UlVGdVJFZ3NRVUZEUlN4WlFVUlZMRU5CUTFZc1MwRkJTeXhCUVUxSUxIZENRVUY1UWl4RFFVRkRPMGxCUTNoQ0xHRkJRV0VzUlVGQlF5eEpRVUZKTEVkQlEyNUNPMFZCVkV3c1FVRkRSU3haUVVSVkxFTkJRMVlzUzBGQlN5eERRVk5JTEVGQlFVRXNUVUZCUlN4QlFVRkJMRVZCUVZFN1NVRkRVaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVU5pTzBWQldrd3NRVUZoVFN4WlFXSk5MRU5CUTFZc1MwRkJTeXhIUVZsRUxFVkJRVVVzUTBGQlF6dEpRVU5JTEU5QlFVOHNSVUZCUXl4TFFVRkxPMGxCUTJJc1MwRkJTeXhGUVVGRExFbEJRVWs3U1VGRlZpeFBRVUZQTEVWQlFVTXNTVUZCU1R0SlFVTmFMRk5CUVZNc1JVRkJReXhKUVVGSk8wbEJRMlE3VTBGRFJ5eEZRVGhDU2p0SlFXeEVUQ3hCUVhOQ1VTeFpRWFJDU1N4RFFVTldMRXRCUVVzc1IwRlpSQ3hGUVVGRkxFZEJVMEVzUlVGQlJTeERRVUZETzAxQlEwZ3NTVUZCU1N4RlFVRkRMRkZCUVZFc1IwRXdRbVE3VFVGcVJGQXNRVUZ6UWxFc1dVRjBRa2tzUTBGRFZpeExRVUZMTEVkQldVUXNSVUZCUlN4SFFWTkJMRVZCUVVVc1FVRk5SaXhsUVVGblFpeERRVUZETzFGQlEyWXNVMEZCVXl4RlFVRkRMRTFCUVUwc1IwRkRha0k3VFVFNVFsUXNRVUZ6UWxFc1dVRjBRa2tzUTBGRFZpeExRVUZMTEVkQldVUXNSVUZCUlN4SFFWTkJMRVZCUVVVc1FVRlRSaXhwUWtGQmEwSXNRMEZCUXp0UlFVTnFRaXhUUVVGVExFVkJRVU1zUzBGQlN5eEhRVU5vUWp0TlFXcERWQ3hCUVhOQ1VTeFpRWFJDU1N4RFFVTldMRXRCUVVzc1IwRlpSQ3hGUVVGRkxFZEJVMEVzUlVGQlJTeEJRVmxHTEc5Q1FVRnhRaXhEUVVGRE8xRkJRM0JDTEZOQlFWTXNSVUZCUXl4SlFVRkpMRWRCUTJZN1RVRndRMVFzUVVGelFsRXNXVUYwUWtrc1EwRkRWaXhMUVVGTExFZEJXVVFzUlVGQlJTeEhRVk5CTEVWQlFVVXNRVUZsUml4dFFrRkJiMElzUTBGQlF6dFJRVU51UWl4VFFVRlRMRVZCUVVNc1NVRkJTU3hIUVVObU8wMUJka05VTEVGQmMwSlJMRmxCZEVKSkxFTkJRMVlzUzBGQlN5eEhRVmxFTEVWQlFVVXNSMEZUUVN4RlFVRkZMRUZCYTBKR0xITkNRVUYxUWl4RFFVRkRPMUZCUTNSQ0xGTkJRVk1zUlVGQlF5eFZRVUZWTEVkQlEzSkNPMDFCTVVOVUxFRkJjMEpSTEZsQmRFSkpMRU5CUTFZc1MwRkJTeXhIUVZsRUxFVkJRVVVzUjBGVFFTeEZRVUZGTEVGQmNVSkdMSEZDUVVGelFpeERRVUZETzFGQlEzSkNMRk5CUVZNc1JVRkJReXhUUVVGVExFZEJRM0JDTzAxQk4wTlVMRUZCYzBKUkxGbEJkRUpKTEVOQlExWXNTMEZCU3l4SFFWbEVMRVZCUVVVc1IwRlRRU3hGUVVGRkxFRkJkMEpHTEhGQ1FVRnpRaXhEUVVGRE8xRkJRM0pDTEZOQlFWTXNSVUZCUXl4VFFVRlRMRWRCUTNCQ096dEJRV2hFVkN4QlFXOUVSU3haUVhCRVZTeERRVzlFVml4TFFVRkxMRUZCUTBnc1RVRkJUeXhEUVVGRE8wVkJRMDRzVDBGQlR5eEZRVUZGTEVsQlFVazdSVUZEWWl4bFFVRmxMRVZCUVVVc1RVRkJUVHRGUVVOMlFpeFhRVUZYTEVWQlFVVXNUVUZCVFN4SFFWTndRanRGUVdwRlRDeEJRWGxFVVN4WlFYcEVTU3hEUVc5RVZpeExRVUZMTEVGQlEwZ3NUVUZCVHl4SFFVbElMRVZCUVVVc1EwRkJRenRKUVVOSUxGVkJRVlVzUlVGQlF5eE5RVUZOTzBsQlEycENMRTlCUVU4c1JVRkJReXhMUVVGTExFZEJTMlE3U1VGb1JWQXNRVUUwUkZFc1dVRTFSRWtzUTBGdlJGWXNTMEZCU3l4QlFVTklMRTFCUVU4c1IwRkpTQ3hGUVVGRkxFTkJSMFlzUlVGQlJTeERRVUZETzAxQlEwUXNUVUZCVFN4RlFVRkRMRTFCUVUwN1RVRkRZaXhQUVVGUExFVkJRVU1zV1VGQldTeEhRVU55UWpzN1FVRXZSRlFzUVVGdFJVVXNXVUZ1UlZVc1EwRnRSVllzUzBGQlN5eERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRU5CUVVNN1JVRkRXaXhWUVVGVkxFVkJRVU1zVFVGQlRUdEZRVU5xUWl4UFFVRlBMRVZCUVVNc1MwRkJTenRGUVVOaUxGTkJRVk1zUlVGQlF5eFBRVUZQTzBWQlEycENMRlZCUVZVc1JVRkJReXhKUVVGSk8wVkJRMllzVjBGQlZ5eEZRVUZETEU5QlFVODdSVUZEYmtJc1kwRkJZeXhGUVVGRExFZEJRVWM3UlVGRGJFSXNaVUZCWlN4RlFVRkRMRTFCUVUwN1JVRkRkRUlzVjBGQlZ5eEZRVUZETEVOQlFVTTdSVUZEWWl4VFFVRlRMRVZCUVVNc1EwRkJRenRGUVVOWUxGTkJRVk1zUlVGQlF5eEpRVUZKTzBWQlEyUXNNRUpCUVRCQ0xFVkJRVVVzUzBGQlN5eEhRVU5zUXpzN1FVRkhTQ3hCUVVORkxFOUJSRXNzUVVGQlFTeDNRa0ZCZDBJc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeDNRa0ZCZDBJc1JVRkRNVVFzYVVKQlFXbENMRVZCUkc1Q0xFRkJRM0ZDTEU5QlJHUXNRVUZCUVN4M1FrRkJkMElzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4M1FrRkJkMElzUlVGRGRrTXNhVUpCUVdsQ0xFTkJRVU03UlVGRGJrTXNXVUZCV1N4RlFVRkZMRWxCUVVrc1IwRkRia0k3TzBGT2RtaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOTUdoQ2RrTXNRVUZIU1N4cFEwRklOa0lzUTBGSE4wSXNTVUZCU1N4RFFVRkRPMGxCUTBnc1QwRkJUeXhGUVVGRExGbEJRVmtzUjBGRGNrSTdSVUZNVEN4QlFVMU5MR2xEUVU0eVFpeEhRVTB6UWl4SFFVRkhMRU5CUVVNN1NVRkRTaXhQUVVGUExFVkJRVU1zV1VGQldUdEpRVU53UWl4WFFVRlhMRVZCUVVNc1NVRkJTU3hIUVVOcVFqczdRVUZKVEN4QlFVTkZMRzlDUVVSclFpeERRVU5zUWl4TlFVRk5MRU5CUVVNN1JVRkRUQ3hoUVVGaExFVkJRVVVzU1VGQlNTeEhRVU53UWpzN1FVNHhhVUpETEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3UlUxMWFVSjJReXhCUVVGQkxHOUNRVUZ2UWl4RFFVRkRPMGxCUzJwQ0xGZEJRVmNzUlVGQlJTeEpRVUZKTzBsQlEycENMRmxCUVZrc1JVRkJSU3hKUVVGSkxFZEJWWEpDTzBsQmFFSkVMRUZCVDBrc2IwSkJVR2RDTEVOQlQyaENMRXRCUVVzc1EwRkJRenROUVVOS0xGbEJRVmtzUlVGQlJTeExRVUZMTEVkQlEzQkNPMGxCVkV3c1FVRlZTU3h2UWtGV1owSXNRMEZWYUVJc1RVRkJUU3hEUVVGRE8wMUJRMHdzV1VGQldTeEZRVUZGTEVsQlFVazdUVUZEYkVJc1lVRkJZU3hGUVVGRkxFTkJRVU1zUjBGRGFrSTdPMEZPY0dwQ1JDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wVk5lV3BDZGtNc1FVRkJRU3h2UWtGQmIwSXNRMEZCUXp0SlFVVnFRaXhQUVVGUExFVkJRVVVzU1VGQlNUdEpRVU5pTEdWQlFXVXNSVUZCUlN4UlFVRlJPMGxCUTNwQ0xGTkJRVk1zUlVGQlJTeEpRVUZKTzBsQlEyWXNZMEZCWXl4RlFVRkZMRXRCUVVzc1IwRXdRbmhDTzBsQkwwSkVMRUZCVFUwc2IwSkJUbU1zUjBGTlpDeERRVUZETEVGQlEwUXNXVUZCWVN4RFFVRkRPMDFCUTFvc1dVRkJXU3hGUVVGRExFbEJRVWtzUjBGRGJFSTdTVUZVVUN4QlFWZEpMRzlDUVZoblFpeERRVmRvUWl4dlFrRkJiMElzUTBGQlF6dE5RVU51UWl4WlFVRlpMRVZCUVVNc1NVRkJTU3hIUVdsQ2JFSTdTVTUwYkVKRUxFMUJRVTBzUTBGQlF5eE5RVUUyUWl4TlFVRnFRaXhUUVVGVExFVkJRVVVzUzBGQlN5eFBRVUZvUWl4VFFVRlRMRVZCUVVVc1MwRkJTenROVFhscVFuWkRMRUZCWlZFc2IwSkJabGtzUTBGWGFFSXNiMEpCUVc5Q0xFTkJTV2hDTEVsQlFVa3NRMEZCUXp0UlFVTklMRTlCUVU4c1JVRkJReXhKUVVGSkxFZEJRMkk3VFVGRFJDeEJRVU5GTEU5QlJFc3NRMEZzUW1Zc2IwSkJRVzlDTEVOQlYyaENMRzlDUVVGdlFpeERRVkZrTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXhoUVVGaExFRkJRV3hDTEVWQlFXOUNPMUZCUTNoQ0xGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyUXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkRha0lzVjBGQlZ5eEZRVUZGTEVkQlFVY3NSMEZEYWtJN08wRk9hR3hDVUN4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzAxTmJXeENha01zUVVGbVJpeHZRa0ZsYzBJc1EwRXhRakZDTEc5Q1FVRnZRaXhEUVZkb1FpeHZRa0ZCYjBJc1EwRmxTenRSUVVOeVFpeFpRVUZaTEVWQlFVTXNRMEZCUXl4SFFVTm1PenRCUVZkUUxFRkJRMFVzVDBGRVN5eEJRVU5NTEhsQ1FVRXdRaXhEUVVGRE8wVkJhVVI2UWp0UFFVTkhMRVZCWTBvN1JVNXFjVUpETEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3U1UxbmJVSjJReXhCUVVkTkxFOUJTRU1zUVVGRFRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRVU5hTEVkQlFVY3NRMEZCUXp0TlFVZEJMRlZCUVZVc1JVRkJReXhKUVVGSkxFZEJSV3hDTzBWQlVsQXNRVUZsVVN4UFFXWkVMRUZCUTB3c2VVSkJRVEJDTEVOQlEzaENMR05CUVdNc1EwRlpXaXhMUVVGTExFTkJRMGdzUlVGQlJTeEJRVU5CTEZsQlFXRXNRMEZCUXp0SlFVTmFMRmxCUVZrc1JVRkJReXhMUVVGTExFZEJRMjVDTzBWQmJFSllMRUZCWlZFc1QwRm1SQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJXVm9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZKUVN4WFFVRlpMRU5CUVVNN1NVRkRXQ3hoUVVGaExFVkJRVU1zUzBGQlN5eEhRVU53UWp0RlFYSkNXQ3hCUVhsQ1VTeFBRWHBDUkN4QlFVTk1MSGxDUVVFd1FpeERRVU40UWl4alFVRmpMRU5CYzBKYUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTkVMRVZCUVVVc1FVRkRRU3haUVVGaExFTkJRVU03U1VGRFdpeFpRVUZaTEVWQlFVTXNTMEZCU3l4SFFVTnVRanRGUVRWQ1dDeEJRWGxDVVN4UFFYcENSQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJjMEphTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVORUxFVkJRVVVzUVVGSlFTeFhRVUZaTEVOQlFVTTdTVUZEV0N4aFFVRmhMRVZCUVVNc1MwRkJTeXhIUVVOd1FqdEZRUzlDV0N4QlFXMURVU3hQUVc1RFJDeEJRVU5NTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlowTmFMRVZCUVVVc1EwRkRRU3hGUVVGRkxFVkJia05XTEVGQmJVTlhMRTlCYmtOS0xFRkJRMHdzZVVKQlFUQkNMRU5CUTNoQ0xHTkJRV01zUTBGblExb3NSVUZCUlN4RFFVTkhMRVZCUVVVc1EwRkJRenRKUVVOS0xGVkJRVlVzUlVGQlF5eE5RVUZOTEVkQlZXeENPMGxPT1c5Q1RDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMU5aMjFDZGtNc1FVRnRRMUVzVDBGdVEwUXNRVUZEVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFXZERXaXhGUVVGRkxFTkJRMEVzUlVGQlJTeEZRVzVEVml4QlFXMURWeXhQUVc1RFNpeEJRVU5NTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlowTmFMRVZCUVVVc1EwRkRSeXhGUVVGRkxFTkJRVU03VVVGSFJpeFZRVUZWTEVWQlFVTXNTMEZCU3l4SFFWRnVRanRSUVRsRFZDeEJRVzFEVVN4UFFXNURSQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJaME5hTEVWQlFVVXNRMEZEUVN4RlFVRkZMRUZCU1VNc2FVSkJRVzFDTEVWQmRrTTVRaXhCUVcxRFZ5eFBRVzVEU2l4QlFVTk1MSGxDUVVFd1FpeERRVU40UWl4alFVRmpMRU5CWjBOYUxFVkJRVVVzUTBGRFJ5eEZRVUZGTEVGQlNVWXNhVUpCUVcxQ0xFTkJRVU03VlVGRGFrSXNWVUZCVlN4RlFVRkZMRWxCUVVrc1IwRkRha0k3U1VGNlEySXNRVUZ0UTFFc1QwRnVRMFFzUVVGRFRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV2REV2l4RlFVRkZMRU5CUTBFc1JVRkJSU3hCUVZGRUxHbENRVUZ0UWl4RlFUTkROVUlzUVVGdFExY3NUMEZ1UTBvc1FVRkRUQ3g1UWtGQk1FSXNRMEZEZUVJc1kwRkJZeXhEUVdkRFdpeEZRVUZGTEVOQlEwY3NSVUZCUlN4QlFWRktMR2xDUVVGdFFpeERRVUZETzAxQlEycENMRlZCUVZVc1JVRkJReXhKUVVGSkxFZEJRMmhDTzBWQk4wTllMRUZCZFVSUkxFOUJka1JFTEVGQlEwd3NlVUpCUVRCQ0xFRkJiMFI0UWl3MlFrRkJPRUlzUTBGRE5VSXNZMEZCWXl4RFFVTmFMRWRCUVVjc1EwRkJRenRKUVVOR0xGVkJRVlVzUlVGQlF5eEpRVUZKTEVkQlEyaENPMFZCZWtSVUxFRkJNa1JWTEU5Qk0wUklMRUZCUTB3c2VVSkJRVEJDTEVGQmIwUjRRaXcyUWtGQk9FSXNRMEZETlVJc1kwRkJZeXhEUVVsYUxFVkJRVVVzUVVGQlFTeE5RVUZOTEVOQlEwNHNSMEZCUnl4RFFVRkRPMGxCUTBZc1ZVRkJWU3hGUVVGRExFbEJRVWtzUjBGRGFFSTdPMEZCTjBSWUxFRkJjVVZOTEU5QmNrVkRMRUZCYlVWTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJRMW9zUzBGQlN5eEZRWEpGV0N4QlFYRkZUU3hQUVhKRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkRXaXhMUVVGTExFVkJja1ZZTEVGQmNVVk5MRTlCY2tWRExFRkJiVVZyUkN3eVFrRkJORUlzUTBGRGFrWXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkJRenRGUVVWS0xFOUJRVThzUlVGQlF5eGxRVUZsTEVkQlEzaENPenRCUVhoRlVDeEJRWGxGVFN4UFFYcEZReXhCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRVXRhTEVWQlFVVXNRVUZEUml4SlFVRlJMRU5CUVVFc1FVRkJRU3hwUWtGQmFVSXNRMEZCUXl4SlFVRkxMRU5CUVVFc1FVRkJRU3hsUVVGbExFZEJNVVZ3UkN4QlFYbEZUU3hQUVhwRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkxXaXhGUVVGRkxFRkJRMFlzU1VGQlVTeERRVUZCTEVGQlFVRXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlN5eERRVUZCTEVGQlFVRXNaVUZCWlN4SFFURkZjRVFzUVVGNVJVMHNUMEY2UlVNc1FVRnRSV3RFTERKQ1FVRTBRaXhEUVVOcVJpeGpRVUZqTEVOQlMxb3NSVUZCUlN4QlFVTkdMRWxCUVZFc1EwRkJRU3hCUVVGQkxHbENRVUZwUWl4RFFVRkRMRWxCUVVzc1EwRkJRU3hCUVVGQkxHVkJRV1VzUlVGQlJUdEZRVVUxUXl4UFFVRlBMRVZCUVVNc1NVRkJTU3hIUVVOaU96dEJRVGRGVkN4QlFYbEZUU3hQUVhwRlF5eEJRVzFGVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFVdGFMRVZCUVVVc1EwRkxSaXhCUVVGQkxFOUJRVWtzUVVGQlFTeEhRVGxGVml4QlFYbEZUU3hQUVhwRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkxXaXhGUVVGRkxFTkJTMFlzUVVGQlFTeFBRVUZKTEVGQlFVRXNSMEU1UlZZc1FVRjVSVTBzVDBGNlJVTXNRVUZ0Uld0RUxESkNRVUUwUWl4RFFVTnFSaXhqUVVGakxFTkJTMW9zUlVGQlJTeERRVXRHTEVGQlFVRXNUMEZCU1N4QlFVRkJMRVZCUVZNN1JVRkRWQ3hQUVVGUExFVkJRVU1zUzBGQlN5eEhRVU5rT3p0QlFXaEdWQ3hCUVd0R1RTeFBRV3hHUXl4QlFXMUZUQ3g1UWtGQk1FSXNRMEZEZUVJc1kwRkJZeXhEUVdOYUxFdEJRVXNzUlVGc1JsZ3NRVUZyUmswc1QwRnNSa01zUVVGdFJYVkNMSGRDUVVGNVFpeERRVU51UkN4alFVRmpMRU5CWTFvc1MwRkJTeXhGUVd4R1dDeEJRV3RHVFN4UFFXeEdReXhCUVcxRmEwUXNNa0pCUVRSQ0xFTkJRMnBHTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CUVVNN1JVRkpTaXhUUVVGVExFVkJRVVVzU1VGQlNUdEZRVU5tTEdWQlFXVXNSVUZCUlN4TlFVRk5MRWRCYTBKNFFqdEZUbnB6UWtnc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SlRXZHRRblpETEVGQmEwWk5MRTlCYkVaRExFRkJiVVZNTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlkxb3NTMEZCU3l4RlFXeEdXQ3hCUVd0R1RTeFBRV3hHUXl4QlFXMUZkVUlzZDBKQlFYbENMRU5CUTI1RUxHTkJRV01zUTBGaldpeExRVUZMTEVWQmJFWllMRUZCYTBaTkxFOUJiRVpETEVGQmJVVnJSQ3d5UWtGQk5FSXNRMEZEYWtZc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGQlF6dE5RVVZHTEU5QlFVOHNSVUZCUlN4bFFVRmxMRWRCY1VJelFqdEZRWHBIVUN4QlFYZEdVU3hQUVhoR1JDeEJRVzFGVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFXTmFMRXRCUVVzc1EwRk5TQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNSMEY0Umxnc1FVRjNSbEVzVDBGNFJrUXNRVUZ0UlhWQ0xIZENRVUY1UWl4RFFVTnVSQ3hqUVVGakxFTkJZMW9zUzBGQlN5eERRVTFJTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hIUVhoR1dDeEJRWGRHVVN4UFFYaEdSQ3hCUVcxRmEwUXNNa0pCUVRSQ0xFTkJRMnBHTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CVFVnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVWQlFWVTdTVUZQV0N4TlFVRk5MRVZCUVVNc1pVRkJaVHRKUVVOMFFpeFZRVUZWTEVWQlFVTXNTVUZCU1R0SlFVTm1MRXRCUVVzc1JVRkJReXhKUVVGSkxFZEJTVmc3U1U1eWMwSk1MRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUVTFuYlVKMlF5eEJRWGRHVVN4UFFYaEdSQ3hCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV05hTEV0QlFVc3NRMEZOU0N4RlFVRkZMRU5CUVVFc1FVRkJRU3hSUVVGRExFRkJRVUVzUjBGNFJsZ3NRVUYzUmxFc1QwRjRSa1FzUVVGdFJYVkNMSGRDUVVGNVFpeERRVU51UkN4alFVRmpMRU5CWTFvc1MwRkJTeXhEUVUxSUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZGQlFVTXNRVUZCUVN4SFFYaEdXQ3hCUVhkR1VTeFBRWGhHUkN4QlFXMUZhMFFzTWtKQlFUUkNMRU5CUTJwR0xHTkJRV01zUTBGaldpeExRVUZMTEVOQlRVZ3NSVUZCUlN4RFFVRkJMRUZCUVVFc1VVRkJReXhCUVVGQkxFVkJRVlU3VVVGRlZDeFBRVUZQTEVWQlFVTXNXVUZCV1N4SFFWZDJRanRKUVhKSFZDeEJRVFJHVlN4UFFUVkdTQ3hCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV05hTEV0QlFVc3NRMEZOU0N4RlFVRkZMRU5CUVVFc1FVRkJRU3hSUVVGRExFRkJRVUVzUlVGSlJDeEZRVUZGTEVWQk5VWmFMRUZCTkVaVkxFOUJOVVpJTEVGQmJVVjFRaXgzUWtGQmVVSXNRMEZEYmtRc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGTlNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1JVRkpSQ3hGUVVGRkxFVkJOVVphTEVGQk5FWlZMRTlCTlVaSUxFRkJiVVZyUkN3eVFrRkJORUlzUTBGRGFrWXNZMEZCWXl4RFFXTmFMRXRCUVVzc1EwRk5TQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNSVUZKUkN4RlFVRkZMRU5CUVVNN1RVRkRSQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEhRVU5tTzBsT09YSkNVQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFOWjIxQ2RrTXNRVUYzUmxFc1QwRjRSa1FzUVVGdFJVd3NlVUpCUVRCQ0xFTkJRM2hDTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CVFVnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVkQmVFWllMRUZCZDBaUkxFOUJlRVpFTEVGQmJVVjFRaXgzUWtGQmVVSXNRMEZEYmtRc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGTlNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1IwRjRSbGdzUVVGM1JsRXNUMEY0UmtRc1FVRnRSV3RFTERKQ1FVRTBRaXhEUVVOcVJpeGpRVUZqTEVOQlkxb3NTMEZCU3l4RFFVMUlMRVZCUVVVc1EwRkJRU3hCUVVGQkxGRkJRVU1zUVVGQlFTeEZRVUZWTzFGQlYxUXNWVUZCVlN4RlFVRkRMRWxCUVVrc1IwRkZiRUk3UlVGeVIxUXNRVUZ6UjFFc1QwRjBSMFFzUVVGdFJVd3NlVUpCUVRCQ0xFTkJRM2hDTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CYjBKSUxHOUNRVUZ2UWl4RlFYUkhOVUlzUVVGelIxRXNUMEYwUjBRc1FVRnRSWFZDTEhkQ1FVRjVRaXhEUVVOdVJDeGpRVUZqTEVOQlkxb3NTMEZCU3l4RFFXOUNTQ3h2UWtGQmIwSXNSVUYwUnpWQ0xFRkJjMGRSTEU5QmRFZEVMRUZCYlVWclJDd3lRa0ZCTkVJc1EwRkRha1lzWTBGQll5eERRV05hTEV0QlFVc3NRMEZ2UWtnc2IwSkJRVzlDTEVOQlFVTTdTVUZEYmtJc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqczdRVTU0YzBKTUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMW5iVUoyUXl4QlFUaEhiVUlzVDBFNVIxb3NRVUUyUjB3c2VVSkJRVEJDTEVOQlEzaENMR05CUVdNc1EwRkJReXhMUVVGTExFTkJRVU03U1VGRmFrSXNUMEZCVHl4RlFVRkZMRWxCUVVrc1IwRkZhRUk3TzBGT2JIUkNSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOWjIxQ2RrTXNRVUYzU0ZFc1QwRjRTRVFzUVVGeFNFd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVkQmVFaFlMRUZCZDBoUkxFOUJlRWhFTEVGQmNVaHpRaXd5UWtGQk5FSXNRMEZEY2tRc1kwRkJZeXhEUVVOYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1JVRkJWVHRKUVVkVUxHRkJRV0VzUlVGQlJTeERRVUZETEVkQlZXNUNPenRCVG5KMVFrd3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJkMGhSTEU5QmVFaEVMRUZCY1VoTUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVU5JTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hIUVhoSVdDeEJRWGRJVVN4UFFYaElSQ3hCUVhGSWMwSXNNa0pCUVRSQ0xFTkJRM0pFTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVWQlFWVTdTVUZOVkN4VlFVRlZMRVZCUVVNc1NVRkJTU3hIUVU5c1FqczdRVTV5ZFVKTUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMW5iVUoyUXl4QlFXZEpXU3hQUVdoSlRDeEJRWEZJVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkRTQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNTVUZSUXl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRWRCYUVsMlF5eEJRV2RKV1N4UFFXaEpUQ3hCUVhGSWMwSXNNa0pCUVRSQ0xFTkJRM0pFTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVsQlVVTXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxHOUNRVUZ2UWl4RlFVRkZPMGxCUlROQ0xHRkJRV0VzUlVGQlJTeERRVUZETEVkQlJXNUNPenRCVG5CMVFsQXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJaMHBSTEU5QmFFcEVMRUZCTUVsTUxESkNRVUUwUWl4RFFVTXhRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVWxJTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hGUVVGVk8wbEJUVlFzVTBGQlV5eEZRVUZETEVkQlFVYzdTVUZEWWl4TlFVRk5MRVZCUVVVc1EwRkJRenRKUVVOVUxFOUJRVThzUlVGQlJTeFJRVUZSTEVkQlQzQkNPenRCVGk5MlFrd3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJiMHRGTEU5QmNFdExMRU5CYjB0TUxHRkJRV0VzUTBGQlF6dEpRVVZXTEZWQlFWVXNSVUZCUXl4RFFVRkRPMGxCUTFvc1UwRkJVeXhGUVVGRExFTkJRVU1zUjBGRlpEczdRVUY2UzBnc1FVRTBTMGtzVDBFMVMwY3NRVUV5UzB3c2VVSkJRVEJDTEVOQlEzaENMRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRlZCUVZVc1JVRkJSU3hMUVVGTExFZEJRMnhDT3p0QlRqbDNRa1FzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRGVFdkdFFuWkRMRUZCYVV4RkxFOUJha3hMTEVOQmFVeE1MRzlDUVVGdlFpeERRVUZETzBsQlJXcENMRlZCUVZVc1JVRkJSU3hEUVVGRE8wbEJRMklzUzBGQlN5eEZRVUZGTEVsQlFVazdTVUZEV0N4UFFVRlBMRVZCUVVVc1MwRkJTenRKUVV0a0xFOUJRVThzUlVGQlJTeEpRVUZKTzBsQlEySXNTMEZCU3l4RlFVRkRMRVZCUVVVN1NVRkRVaXhMUVVGTExFVkJRVVVzU1VGQlNUdEpRVTFZTzFOQlEwY3NSVUZGVGp0SlFYSk5TQ3hCUVdsTVJTeFBRV3BNU3l4RFFXbE1UQ3h2UWtGQmIwSXNRMEZMYUVJc1FVRkJRU3hOUVVGRkxFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUXl4bFFVRmxMRWRCUTNoQ08wbEJlRXhRTEVGQk9FeE5MRTlCT1V4RExFTkJhVXhNTEc5Q1FVRnZRaXhEUVdGb1FpeDNRa0ZCZDBJc1EwRkJRenROUVVOMlFpeExRVUZMTEVWQlFVTXNTVUZCU1N4SFFVTllPenRCUVdoTlVDeEJRWFZOUlN4UFFYWk5TeXhEUVhWTlRDeHBRa0ZCYVVJc1EwRkJRenRGUVVWb1FpeFZRVUZWTEVWQlFVVXNUVUZCVFN4SFFVVnVRanM3UVVFelRVZ3NRVUU0VFVrc1QwRTVUVWNzUVVFMlRVd3NkMEpCUVhsQ0xFTkJRM1pDTEdsQ1FVRnBRaXhGUVRsTmNrSXNRVUU0VFVrc1QwRTVUVWNzUVVFMlRYTkNMREpDUVVFMFFpeERRVU55UkN4cFFrRkJhVUlzUTBGQlF6dEZRVU5vUWl4TlFVRk5MRVZCUVVVc1RVRkJUVHRGUVVOa0xFOUJRVThzUlVGQlJTeFpRVUZaTEVkQlEzUkNPenRCVG1wNlFrUXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJkVTVSTEU5QmRrNUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZEUVN4WlFVRmhMRU5CUVVNN1NVRkZWaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVVZtT3p0QlRqVjZRbEFzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRGVFdkdFFuWkRMRUZCZFU1UkxFOUJkazVFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CUTFvc1MwRkJTeXhEUVVOSUxFVkJRVVVzUVVGTlFTeFpRVUZqTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVZCUVVVN1NVRkZZaXhWUVVGVkxFVkJRVU1zU1VGQlNUdEpRVU5tTEZsQlFWa3NSVUZCUXl4TFFVRkxMRWRCUlhKQ096dEJRV3hQV0N4QlFYVk9VU3hQUVhaT1JDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkRTQ3hGUVVGRkxFRkJXVUVzVjBGQldTeERRVUZETzBWQlExZ3NZVUZCWVN4RlFVRkRMRXRCUVVzc1IwRkRjRUk3TzBGQmNrOVlMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVWQk1VOVdMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVWQk1VOWlMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTlFMRVZCUVVVc1JVRXhUMVlzUVVFd1QxY3NUMEV4VDBvc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMG9zUlVGQlJTeERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRXRCUVVzc1IwRnBRbXBDTzBWQk5WQlVMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVGQlJVZ3NhVUpCUVhGQ0xFVkJOVTgxUWl4QlFUQlBVU3hQUVRGUFJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNXaXhMUVVGTExFTkJRMGdzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVGQlJVNHNhVUpCUVhGQ0xFVkJOVTgxUWl4QlFUQlBWeXhQUVRGUFNpeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNXaXhMUVVGTExFTkJRMEVzUlVGQlJTeEJRVVZqTEdsQ1FVRnhRaXhGUVRWUGFFUXNRVUV3VDFFc1QwRXhUMFFzUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEZ2UWs0c1JVRkJSU3hEUVVGQkxFRkJRVUVzVjBGQlF5eEJRVUZCTEVWQlExQXNSVUZCUlN4QlFVVklMR2xDUVVGeFFpeEZRVFZQTlVJc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWcFFpeHBRa0ZCY1VJc1JVRTFUMmhFTEVGQk1FOVhMRTlCTVU5S0xFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQmIwSk9MRVZCUVVVc1EwRkJRU3hCUVVGQkxGZEJRVU1zUVVGQlFTeEZRVU5LTEVWQlFVVXNRVUZGVGl4cFFrRkJjVUlzUlVFMVR6VkNMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZZeXhwUWtGQmNVSXNRMEZCUXp0SlFVTnlReXhWUVVGVkxFVkJRVU1zU1VGQlNTeEhRVTlvUWp0SlFVNTNRaXhUUVVGRExFVkJRV1FzVDBGQlR5eEZRVUZETEVsQlFVazdUVUU1VDJ4RExFRkJNRTlSTEU5Qk1VOUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEU0N4RlFVRkZMRUZCUlVnc2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFVTeFBRVEZQUkN4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwZ3NSVUZCUlN4QlFVVnBRaXhwUWtGQmNVSXNSVUUxVDJoRUxFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEUVN4RlFVRkZMRUZCUlU0c2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwRXNSVUZCUlN4QlFVVmpMR2xDUVVGeFFpeEZRVFZQYUVRc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWSUxHbENRVUZ4UWl4RlFUVlBOVUlzUVVFd1QxRXNUMEV4VDBRc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMUFzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZUaXhwUWtGQmNVSXNSVUUxVHpWQ0xFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEpPTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVOS0xFVkJRVVVzUVVGRll5eHBRa0ZCY1VJc1EwRkJRenRSUVVkdVF5eFBRVUZQTEVWQlFVVXNTMEZCU3l4SFFVdHFRanRKVG5BeFFsQXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5UV2R0UW5aRExFRkJNRTlSTEU5Qk1VOUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEU0N4RlFVRkZMRUZCUlVnc2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFVTeFBRVEZQUkN4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwZ3NSVUZCUlN4QlFVVnBRaXhwUWtGQmNVSXNSVUUxVDJoRUxFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEUVN4RlFVRkZMRUZCUlU0c2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwRXNSVUZCUlN4QlFVVmpMR2xDUVVGeFFpeEZRVFZQYUVRc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWSUxHbENRVUZ4UWl4RlFUVlBOVUlzUVVFd1QxRXNUMEV4VDBRc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMUFzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZUaXhwUWtGQmNVSXNSVUUxVHpWQ0xFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEpPTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVOS0xFVkJRVVVzUVVGRll5eHBRa0ZCY1VJc1EwRkJRenRSUVUxdVF5eFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFVVm1PMFZPY0RGQ1VDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMjFDZGtNc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRbG9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZYU0N4dlFrRkJkMElzUlVGeVVDOUNMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVGQlYwNHNiMEpCUVhkQ0xFVkJjbEF2UWl4QlFUQlBVU3hQUVRGUFJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNUaXhGUVVGRkxFTkJRVUVzUVVGQlFTeFhRVUZETEVGQlFVRXNSVUZEVUN4RlFVRkZMRUZCVjBnc2IwSkJRWGRDTEVWQmNsQXZRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1RpeEZRVUZGTEVOQlFVRXNRVUZCUVN4WFFVRkRMRUZCUVVFc1JVRkRTaXhGUVVGRkxFRkJWMDRzYjBKQlFYZENMRU5CUVVNN1RVRkZiRUlzVlVGQlZTeEZRVUZETEUxQlFVMDdUVUZEYWtJc1YwRkJWeXhGUVVGRExFdEJRVXM3VFVGRGFrSXNZMEZCWXl4RlFVRkRMRXRCUVVzc1IwRkZka0k3TzBGT016RkNVQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOWjIxQ2RrTXNRVUVyVUUwc1QwRXZVRU1zUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEV3UTFvc1MwRkJTeXhEUVVGRE8wbEJSVVlzVjBGQlZ5eEZRVUZETEVOQlFVTXNSMEZ4UW1oQ096dEJRWFJTVUN4QlFXOVJWU3hQUVhCUlNDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFUQkRXaXhMUVVGTExFTkJTVWdzYVVKQlFXbENMRU5CUTJZc1IwRkJSeXhGUVhCUllpeEJRVzlSWXl4UFFYQlJVQ3hCUVc5T1RDeDNRa0ZCZVVJc1EwRkRka0lzWTBGQll5eERRVEJEV2l4TFFVRkxMRU5CU1Vnc2FVSkJRV2xDTEVOQlExZ3NTMEZCU3l4RlFYQlJia0lzUVVGdlVXOUNMRTlCY0ZGaUxFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQk1FTmFMRXRCUVVzc1EwRkpTQ3hwUWtGQmFVSXNRMEZEVEN4TFFVRkxMRU5CUVVNN1JVRkRaQ3hUUVVGVExFVkJRVU1zU1VGQlNUdEZRVU5rTEZWQlFWVXNSVUZCUXl4SlFVRkpMRWRCUTJoQ096dEJRWFpSV0N4QlFYbFJVU3hQUVhwUlJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFUQkRXaXhMUVVGTExFTkJWVWdzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUVdFN1JVRkRaQ3hYUVVGWExFVkJRVU1zUTBGQlF6dEZRVU5pTEdOQlFXTXNSVUZCUXl4RFFVRkRMRWRCVldwQ08wVkJjbEpVTEVGQk5sRlpMRTlCTjFGTUxFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQk1FTmFMRXRCUVVzc1EwRlZTQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFhRVUZETEVGQlFVRXNTVUZKUXl4RlFVRkZMRUZCUTBZc1dVRkJZeXhEUVVGQkxFRkJRVUVzUTBGQlF5eEZRVUZGTzBsQlEyWXNXVUZCV1N4RlFVRkRMRXRCUVVzc1IwRkRia0k3UlVGb1VtSXNRVUUyVVZrc1QwRTNVVXdzUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEV3UTFvc1MwRkJTeXhEUVZWSUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4SlFVbERMRVZCUVVVc1FVRkpSaXhYUVVGWkxFTkJRVU03U1VGRFdDeGhRVUZoTEVWQlFVTXNTMEZCU3l4SFFVTndRanM3UVU1dU0wSlVMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdSVTB5TTBKMlF5eEJRVU5GTEU5QlJFc3NRMEZEVEN4cFFrRkJhVUlzUTBGQlF6dEpRVVZrTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ096dEJRVXhJTEVGQlQwa3NUMEZRUnl4RFFVMU1MRk5CUVZNc1EwRkRVQ3hSUVVGUkxFTkJRVU03UlVGRFVDeE5RVUZOTEVWQlFVTXNRMEZCUXp0RlFVTlNMRTlCUVU4c1JVRkJReXhEUVVGRExFZEJTVlk3UlVGaVRDeEJRVlZOTEU5QlZrTXNRMEZOVEN4VFFVRlRMRU5CUTFBc1VVRkJVU3hEUVVkT0xFdEJRVXNzUTBGQlF6dEpRVU5LTEdGQlFXRXNSVUZCUXl4RFFVRkRMRWRCUTJoQ096dEJRVnBRTEVGQlpVVXNUMEZtU3l4RFFXVk1MRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRk5CUVZNc1JVRkJSU3hWUVVGVkxFZEJRM1JDT3p0QlFXcENTQ3hCUVd0Q1JTeFBRV3hDU3l4RFFXdENUQ3hwUWtGQmFVSXNRMEZCUXp0RlFVTm9RaXhQUVVGUExFVkJRVVVzU1VGQlNUdEZRVU5pTEZkQlFWY3NSVUZCUlN4TlFVRk5MRWRCUTNCQ096dEJUbWcxUWtNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0RlRUSXpRblpETEVGQmRVSkpMRTlCZGtKSExFTkJjMEpNTERKQ1FVRXlRaXhEUVVONlFpeERRVUZETEVWQmRrSk1MRUZCZFVKUExFOUJka0pCTEVOQmMwSk1MREpDUVVFeVFpeERRVU4wUWl4UlFVRlJMRU5CUVVNN1NVRkZVaXhWUVVGVkxFVkJRVVVzUjBGQlJ6dEpRVU5tTEZWQlFWVXNSVUZCUlN4SlFVRkpPMGxCUTJoQ0xFOUJRVThzUlVGQlJTeExRVUZMTzBsQlEyUXNTMEZCU3l4RlFVRkZMRWxCUVVrc1IwRkZaRHM3UVVFNVFrd3NRVUZwUTBrc1QwRnFRMGNzUTBGblEwd3NaMEpCUVdkQ0xFTkJRMlFzVVVGQlVTeERRVUZETzBWQlExQXNUVUZCVFN4RlFVRkZMRWxCUVVrc1IwRkRZanM3UVVGdVEwd3NRVUZ6UTBVc1QwRjBRMHNzUTBGelEwd3NTMEZCU3l4RFFVRkJMRUZCUVVFc1IwRkJReXhEUVVGSkxHZERRVUZuUXl4QlFVRndReXhGUVVGelF6dEZRVU14UXl4UlFVRlJMRVZCUVVNc1VVRkJVVHRGUVVOcVFpeEhRVUZITEVWQlFVTXNTMEZCU3p0RlFVTlVMRXRCUVVzc1JVRkJReXhIUVVGSExFZEJRMVk3TzBGQk1VTklMRUZCY1VSSkxFOUJja1JITEVOQk5FTk1MRzFDUVVGdFFpeERRVk5xUWl4VFFVRlRMRU5CUVVNN1JVRkRVaXhWUVVGVkxFVkJRVVVzUjBGQlJ6dEZRVU5tTEZOQlFWTXNSVUZCUlN4SlFVRkpMRWRCZDBKb1FqdEZRUzlGVEN4QlFYZEVUU3hQUVhoRVF5eERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVZFFMRXRCUVVzc1EwRkJRU3hCUVVGQkxFZEJRVU1zUTBGQlNTdzJRa0ZCTmtJc1FVRkJha01zUlVGQmJVTTdTVUZEZGtNc2MwSkJRWE5DTEVWQlFVVXNSMEZCUnp0SlFVTXpRaXg1UWtGQmVVSXNSVUZCUlN4SFFVRkhMRWRCUXk5Q08wVkJNMFJRTEVGQk5FUk5MRTlCTlVSRExFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQxQXNUVUZCVFN4RlFUVkVXaXhCUVRSRVl5eFBRVFZFVUN4RFFUUkRUQ3h0UWtGQmJVSXNRMEZUYWtJc1UwRkJVeXhEUVU5RExFOUJRVThzUTBGQlF6dEpRVU5rTEdGQlFXRXNSVUZCUlN4RFFVRkRMRWRCVTJwQ08wbEJkRVZRTEVGQk5FUk5MRTlCTlVSRExFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQxQXNUVUZCVFN4QlFVVk1MRmxCUVdNc1JVRTVSSEpDTEVGQk5FUmpMRTlCTlVSUUxFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQwTXNUMEZCVHl4QlFVVmtMRmxCUVdNc1EwRkJRenROUVVOYUxITkNRVUZ6UWl4RlFVRkZMRWRCUVVjN1RVRkRNMElzZVVKQlFYbENMRVZCUVVVc1IwRkJSeXhIUVVNdlFqdEpRV3BGVkN4QlFUUkVUU3hQUVRWRVF5eERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVOVFMRTFCUVUwc1FVRk5UQ3hYUVVGaExFVkJiRVZ3UWl4QlFUUkVZeXhQUVRWRVVDeERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVOURMRTlCUVU4c1FVRk5aQ3hYUVVGaExFTkJRVU03VFVGRFdDeDFRa0ZCZFVJc1JVRkJSU3hIUVVGSE8wMUJRelZDTERCQ1FVRXdRaXhGUVVGRkxFZEJRVWNzUjBGRGFFTTdSVUZ5UlZRc1FVRjNSVlVzVDBGNFJVZ3NRMEUwUTB3c2JVSkJRVzFDTEVOQlUycENMRk5CUVZNc1FVRnJRbEFzVTBGQlZTeEhRVU5PTEVOQlFVTXNRMEZCUXp0SlFVTkdMRmxCUVZrc1JVRkJSU3hEUVVGRExFZEJRMmhDTzBWQk1VVlVMRUZCTkVWTkxFOUJOVVZETEVOQk5FTk1MRzFDUVVGdFFpeERRVk5xUWl4VFFVRlRMRU5CZFVKUUxFMUJRVTBzUTBGQlF6dEpRVU5NTEZOQlFWTXNSVUZCUlN4SlFVRkpMRWRCUTJoQ096dEJRVGxGVUN4QlFXZEdTU3hQUVdoR1J5eERRVFJEVEN4dFFrRkJiVUlzUTBGdlEycENMRlZCUVZVc1FVRkJRU3hUUVVGVExFTkJRVU03UlVGRGJFSXNaVUZCWlN4RlFVRkZMRmxCUVZrN1JVRkROMElzWVVGQllTeEZRVUZGTEVsQlFVa3NSMEZSY0VJN1JVRXhSa3dzUVVGdFJsRXNUMEZ1UmtRc1EwRTBRMHdzYlVKQlFXMUNMRU5CYjBOcVFpeFZRVUZWTEVGQlFVRXNVMEZCVXl4SFFVZG1MRU5CUVVNc1EwRkJRenRKUVVOR0xGbEJRVmtzUlVGQlF5eEpRVUZKTzBsQlEycENMR0ZCUVdFc1JVRkJReXhKUVVGSkxFZEJRMjVDTzBWQmRFWlFMRUZCZFVaTkxFOUJka1pETEVOQk5FTk1MRzFDUVVGdFFpeERRVzlEYWtJc1ZVRkJWU3hCUVVGQkxGTkJRVk1zUTBGUGFrSXNUMEZCVHl4RFFVRkRPMGxCUTA0c1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGRGNFSTdPMEZCZWtaUUxFRkJOa1p6UXl4UFFUZEdMMElzUTBFMlJrd3NZMEZCWXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETERCQ1FVRXdRaXhEUVVGRE8wVkJRemRFTEZWQlFWVXNSVUZCUlN4SlFVRkpMRWRCSzBKcVFqdEZRVGRJU0N4QlFTdEdTU3hQUVM5R1J5eERRVFpHVEN4alFVRmpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNNRUpCUVRCQ0xFTkJSVFZFTEV0QlFVc3NRMEZCUXp0SlFVTktMR0ZCUVdFc1JVRkJReXhEUVVGRExFZEJRMmhDTzBWQmFrZE1MRUZCYTBkSkxFOUJiRWRITEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUTBGTE5VUXNTMEZCU3l4RFFVRkJMRUZCUVVFc1IwRkJReXhEUVVGSkxESkNRVUV5UWl4QlFVRXZRaXhGUVVGcFF6dEpRVU55UXl4WFFVRlhMRVZCUVVVc1EwRkJReXhIUVVObU8wVkJjRWRNTEVGQmNVZEpMRTlCY2tkSExFTkJOa1pNTEdOQlFXTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5d3dRa0ZCTUVJc1EwRlJOVVFzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRkZCUVZFc1FVRkJZaXhGUVVGbE8wbEJRMjVDTEV0QlFVc3NSVUZCUXl4SFFVRkhMRWRCUTFZN1JVRjJSMHdzUVVGM1Iwa3NUMEY0UjBjc1EwRTJSa3dzWTBGQll5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExEQkNRVUV3UWl4RFFWYzFSQ3hMUVVGTExFTkJRVUVzUVVGQlFTeEZRVUZETEVWQlFVa3NiMEpCUVc5Q0xFRkJRWGhDTEVWQlFUQkNPMGxCUXpsQ0xFdEJRVXNzUlVGQlF5eEhRVUZITEVkQlExWTdSVTV5SzBKRUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1NVMHlNMEoyUXl4QlFUSkhTU3hQUVROSFJ5eERRVFpHVEN4alFVRmpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNNRUpCUVRCQ0xFTkJZelZFTEU5QlFVOHNRMEZCUXp0TlFVVktMRTlCUVU4c1JVRkJSU3hKUVVGSkxFZEJSV2hDTzBWT01TdENSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMGxOTWpOQ2RrTXNRVUZuU0Uwc1QwRm9TRU1zUTBFMlJrd3NZMEZCWXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETERCQ1FVRXdRaXhIUVcxQ01VUXNSMEZCUnl4RlFXaElWQ3hCUVdkSWRVSXNUMEZvU0doQ0xFTkJOa1pNTEdOQlFXTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5d3dRa0ZCTUVJc1IwRnRRbTVFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNN1RVRkZia0lzVDBGQlR5eEZRVUZGTEVsQlFVazdUVUZEWWl4VFFVRlRMRVZCUVVVc1NVRkJTVHROUVVObUxHVkJRV1VzUlVGQlJTeGhRVUZoTEVkQlVXcERPMDFCTlVoTUxFRkJjVWhWTEU5QmNraElMRU5CTmtaTUxHTkJRV01zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXd3UWtGQk1FSXNSMEZ0UWpGRUxFZEJRVWNzUjBGTFF5eERRVUZETEVWQmNraFlMRUZCY1VoVkxFOUJja2hJTEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUjBGdFFtNUVMRTlCUVU4c1IwRkJSeXhIUVVGSExFZEJTMmhDTEVOQlFVTXNRMEZCUXp0UlFVTkdMRmxCUVZrc1JVRkJReXhMUVVGTExFZEJRMjVDTzAxQmRraFVMRUZCWjBoTkxFOUJhRWhETEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUjBGdFFqRkVMRWRCUVVjc1FVRlJSaXhYUVVGaExFVkJlRWh3UWl4QlFXZElkVUlzVDBGb1NHaENMRU5CTmtaTUxHTkJRV01zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXd3UWtGQk1FSXNSMEZ0UW01RUxFOUJRVThzUjBGQlJ5eEhRVUZITEVGQlVXNUNMRmRCUVdFc1EwRkJRenRSUVVOWUxGbEJRVmtzUlVGQlF5eERRVUZETEVkQlEyWTdPMEZCTVVoVUxFRkJPRWhGTEU5Qk9VaExMRVZCT0VoTUxFRkJRVUVzVFVGQlF5eEJRVUZCTEVWQlFWRTdSVUZEVUN4UFFVRlBMRVZCUVVVc1pVRkJaU3hIUVVONlFqczdRVUZvU1Vnc1FVRnBTVVVzVDBGcVNVc3NRMEZwU1V3c09FSkJRVGhDTEVOQlFVTTdSVUZETjBJc1QwRkJUeXhGUVVGRExFbEJRVWs3UlVGRFdpeGxRVUZsTEVWQlFVVXNUVUZCVFR0RlFVTjJRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRVU53UWpzN1FVRnlTVWdzUVVGelNVVXNUMEYwU1Vzc1EwRnpTVXdzWjBKQlFXZENMRU5CUVVNN1JVRkRaaXhoUVVGaExFVkJRVU1zU1VGQlNTeEhRVWx1UWp0RlFUTkpTQ3hCUVhkSlNTeFBRWGhKUnl4RFFYTkpUQ3huUWtGQlowSXNRMEZGWkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVWQlFXRTdTVUZEYWtJc1UwRkJVeXhGUVVGRExFTkJRVU1zUjBGRFdqczdRVUV4U1V3c1FVRTJTVVVzVDBFM1NVc3NRMEUyU1V3c1MwRkJTeXhEUVVGQkxFRkJRVUVzUjBGQlF5eERRVUZKTERKQ1FVRXlRaXhCUVVFdlFpeEZRVUZwUXp0RlFVTnlReXhQUVVGUExFVkJRVVVzU1VGQlNUdEZRVU5pTEdWQlFXVXNSVUZCUlN4TlFVRk5PMFZCUTNaQ0xGZEJRVmNzUlVGQlJTeE5RVUZOTEVkQlEzQkNPenRCUVdwS1NDeEJRVzFLUlN4UFFXNUtTeXhEUVcxS1RDeExRVUZMTEVOQlFVRXNRVUZCUVN4SFFVRkRMRU5CUVVrc2IwTkJRVzlETEVGQlFYaERMRVZCUVRCRE8wVkJRemxETEZkQlFWY3NSVUZCUlN4RFFVRkRMRWRCUTJZN08wRkJja3BJTEVGQmQwcE5MRTlCZUVwRExFTkJkVXBNTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1EwRkJTU3h4UWtGQmNVSXNRVUZCZWtJc1NVRkRSaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCUVdNN1JVRkRjRUlzVTBGQlV5eEZRVUZETEVsQlFVa3NSMEZEWmpzN1FVRXhTa3dzUVVFMlNqUkNMRTlCTjBweVFpeERRVFpLVEN4MVFrRkJkVUlzUjBGQlJ5eExRVUZMTEVOQlFVTTdSVUZET1VJc1QwRkJUeXhGUVVGRExFdEJRVXM3UlVGRFlpeE5RVUZOTEVWQlFVTXNTVUZCU1N4SFFVTmFPenRCZUVkMFowTklMRUZCUVVFc1ZVRkJWU3hEUVVGRE8wVkJRMVFzUzBGQlN5eEZRVUZETEhGQ1FVRTBRaXhIUVVOdVF6czdRVUZQUkN4QlFVTkZMRXRCUkVjc1FVRkJRU3hKUVVGTExFVkJRVUVzUVVGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4VlFVRlZMRUZCUVdZc1JVRkJhVUlzU1VGQlN5eEZRVUZCTEVGQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFVkJRMmhETEUxQlFVOHNRMEZCUXp0RlFVTk9MRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEhOQ1FVRnpRaXhIUVVNeFF6czdRVUZIU0N4QlFVTkZMRVZCUkVFc1EwRkJRU3hCUVVGQkxGRkJRVU1zUVVGQlFTeERRVU5JTEUxQlFWTXNSVUZFU3l4QlFVTmFMRVZCUkdNc1FVRkJRU3h2UWtGQmIwSXNRVUZEY0VNc1RVRkJVeXhIUVVRMlFpeEJRVUZCTEVGQlEzQkRMRWxCUkhGRExFTkJRVXNzVTBGQlV5eEJRVUZrTEVOQlEzWkRMRTFCUVZNc1EwRkJRenRGUVVOT0xFOUJRVThzUlVGQlJTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMSE5DUVVGelFpeEhRVU14UXpzN1FVRkhTQ3hCUVVORkxFOUJSRXNzUVVGRFRDeE5RVUZQTEVOQlFVTTdSVUZEVGl4UFFVRlBMRVZCUVVVc1NVRkJTVHRGUVVOaUxGZEJRVmNzUlVGQlJTeEpRVUZKTzBWQlEycENMRXRCUVVzc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VJN08wRjNSMmxxUWtnc1FYaEhPV2xDUVN4UGQwYzRhVUpQTEVOQmRVMU1MR2xDUVVGcFFpeEZlRWMxZEVKdVFpeEJRWHBDUVN4VFFYbENVeXhGUVhGS1ZDeEJRVGxMUVN4UFFUaExUeXhEUVc5VFRDeHRRa0ZCYlVJc1EwRnNaRmc3UlVGRFVpeFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFYTkNZanRGZDBkMWFFSkVMRUY0UnpscFFrRXNUM2RIT0dsQ1R5eERlRWN6YVVKTUxGVkJRVmNzUVhkSGEzWkNXQ3hwUWtGQmFVSXNSWGhIYkhaQ2FrSXNRVUZJUml4VlFVZGhMRUZCYzBKaUxGTkJRVk1zUlVGeFNsUXNRVUU1UzBFc1QwRTRTMDhzUTBFelMwd3NWVUZCVnl4QlFTdGpXQ3h0UWtGQmJVSXNRMEV2WTFBN1NVRkRWaXhUUVVGVExFVkJRVU1zU1VGQlNTeEhRVXRtTzBsM1IzRnBRa2dzUVhoSGVtbENUU3hQZDBkNWFVSkRMRU40UnpOcFFrd3NWVUZCVnl4QmQwZHJka0pZTEdsQ1FVRnBRaXhIZUVkb2RrSmlMRU5CUVVNc1JVRkdUQ3hCUVVWSkxGVkJSazhzUVVGelFtSXNVMEZCVXl4SFFYQkNTQ3hEUVVGRExFVkJlVXRRTEVGQmVrdE5MRTlCZVV0RExFTkJNMHRNTEZWQlFWY3NRVUVyWTFnc2JVSkJRVzFDTEVkQk4yTm1MRU5CUVVNc1EwRkJRenROUVVOR0xGbEJRVmtzUlVGQlJTeEpRVUZKTzAxQlEyeENMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFZEJRM0JDTzBWM1IzTnBRa3dzUVhoSE9XbENRU3hQZDBjNGFVSlBMRU40UjNCcFFrd3NVMEZCVlN4QmQwY3lkVUpXTEdsQ1FVRnBRaXhGZUVjemRVSnFRaXhCUVZaR0xGTkJWVmtzUVVGbFdpeFRRVUZUTEVWQmNVcFVMRUZCT1V0QkxFOUJPRXRQTEVOQmNFdE1MRk5CUVZVc1FVRjNZMVlzYlVKQlFXMUNMRU5CZUdOU08wbEJRMVFzWlVGQlpTeEZRVUZGTEUxQlFVMHNSMEZEZUVJN1JYZEhhMmxDU0N4QmVFZG9hVUpKTEU5M1IyZHBRa2NzUTBGMVRVd3NhVUpCUVdsQ0xFZDRSM1oxUW1Zc1EwRkJReXhGUVZkTUxFRkJXRWtzVTBGWFN5eEhRVmhNTEVOQlFVTXNSVUZuUzB3c1FVRm9TMGtzVDBGblMwY3NRMEZ2VTB3c2JVSkJRVzFDTEVkQmNHTnFRaXhEUVVGRExFTkJRVU03U1VGRFJpeFpRVUZaTEVWQlFVTXNTMEZCU3l4SFFVOXVRanRKZDBkM2FFSklMRUY0UjJocFFra3NUM2RIWjJsQ1J5eERRWFZOVEN4cFFrRkJhVUlzUjNoSGRuVkNaaXhEUVVGRExFRkJSVVFzVTBGQlZTeEZRVk5rTEVGQldFa3NVMEZYU3l4SFFWaE1MRU5CUVVNc1FVRkZSQ3hUUVVGVkxFVkJPRXBrTEVGQmFFdEpMRTlCWjB0SExFTkJiMU5NTEcxQ1FVRnRRaXhIUVhCamFrSXNRMEZCUXl4QlFVVkVMRk5CUVZVc1EwRkJRenROUVVOVUxGTkJRVk1zUlVGQlJTeERRVUZETEVkQlEySTdTWGRITkdoQ1RDeEJlRWRvYVVKSkxFOTNSMmRwUWtjc1EwRjFUVXdzYVVKQlFXbENMRWQ0UjNaMVFtWXNRMEZCUXl4QlFVdEVMRmRCUVZrc1JVRk5hRUlzUVVGWVNTeFRRVmRMTEVkQldFd3NRMEZCUXl4QlFVdEVMRmRCUVZrc1JVRXlTbWhDTEVGQmFFdEpMRTlCWjB0SExFTkJiMU5NTEcxQ1FVRnRRaXhIUVhCamFrSXNRMEZCUXl4QlFVdEVMRmRCUVZrc1EwRkJRenROUVVOWUxGbEJRVmtzUlVGQlF5eERRVUZETEVkQlEyWTdPME5CVFVnc1FVRkJRU3hCUVVGblFpeEpRVUZtTEVOQlFVc3NVVUZCVVN4QlFVRmlMRVZCUmtnc1UwRkJVeXhEUVVWWE8wVkJRMmhDTEZWQlFWVXNSVUZCUlN4TFFVRkxMRWRCUTJ4Q096dEJRV2xLU0N4QlFUbEpRU3hQUVRoSlR5eERRVzlUVEN4dFFrRkJiVUlzUlVGd1UzSkNMRUZCT1VsQkxFOUJPRWxQTEVOQksyWk1MR1ZCUVdVc1EwRTNiMEpRTzBWQlExSXNWVUZCVlN4RlFVRkRMRTFCUVUwc1IwRkRiRUk3TzBGQlJVUXNRVUZCUVN4RFFVRkRMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzWTBGQll5eEJRVUZ1UWl4RlFVRnhRanRGUVVOeVFpeExRVUZMTEVWQlFVTXNkVUpCUVhWQ08wVkJRemRDTEdWQlFXVXNSVUZCUXl4bFFVRmxMRWRCUTJoRE96dEJRVTFFTEZWQlFWVXNRMEZCVml4UFFVRlZPMFZCUTFJc1FVRkJRU3hGUVVGRk8wbEJRVVVzVTBGQlV5eEZRVUZGTEdOQlFXTTdPMEZCUnk5Q0xFRkJRVUVzYjBKQlFXOUNMRU5CUVVNN1JVRkRia0lzVTBGQlV5eEZRVUZGTERCQ1FVRXdRaXhIUVVOMFF6czdRVUZGUkN4QlFVVkpMR05CUmxVc1EwRkJReXhGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNRMEZEYUVJc01rSkJRVFJDTEVOQlF6RkNMRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRmRCUVZjc1JVRkJReXhKUVVGSkxFZEJRMnBDT3p0QlFVcE1MRUZCVVZFc1kwRlNUU3hEUVVGRExFVkJRVVVzUTBGQlFTeEJRVUZCTEZGQlFVTXNRVUZCUVN4RFFVMW9RaXhQUVVGUkxFTkJRMDRzYVVKQlFXbENMRWRCUTJJc1EwRkJReXhEUVVGRE8wVkJRMFlzVDBGQlR5eEZRVUZETEdsQ1FVRnBRaXhIUVVNeFFqczdRVUZXVUN4QlFWbEpMR05CV2xVc1EwRkJReXhGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNRMEZOYUVJc1QwRkJVU3hEUVUxT0xHOUNRVUZ2UWl4RFFVRkRPMFZCUTI1Q0xGZEJRVmNzUlVGQlF5eEpRVUZKTEVkQlEycENPenRCUVdsQ1RDeHhRa0ZCY1VJN1FVRkRja0k3T3pzN096czdSMEZQUnp0QlFVTklMRzFDUVVGdFFqdEJRV2xHYmtJc1FVRXpSVUVzVDBFeVJVOHNRMEUyV0V3c1kwRkJZeXhGUVRkWWFFSXNRVUV6UlVFc1QwRXlSVThzUTBFeVprd3NRMEZCUXl4RFFVRkJMRUZCUVVFc1MwRkJReXhGUVVGUExFOUJRVThzUVVGQlpDeEhRVE5tU2l4QlFUTkZRU3hQUVRKRlR5eERRVzFvUWt3c2IwSkJRVzlDTEVWQmJtaENkRUlzUVVFelJVRXNUMEV5UlU4c1EwRnRha0pNTEdkQ1FVRm5RaXhGUVc1cVFteENMRUZCTTBWQkxFOUJNa1ZQTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRVZCTUVSNFFpeEJRWEl4UWtFc1dVRnhNVUpaTEVOQmMwTldMRFpDUVVFMlFpeEhRVUZITEVOQlFVTXNSVUZvZWtKdVF5eEJRVE5GUVN4UFFUSkZUeXhEUVRKVlRDeDNRa0ZCZDBJc1EwRjBXbWhDTzBWQlExSXNUVUZCVFN4RlFVRkRMSGRDUVVGM1FpeERRVUZETERCQ1FVRXdRaXhEUVVGRExHdERRVUVyUXl4SFFVTXpSenM3UVVGNVJVUXNRVUYyUlVFc1QwRjFSVThzUTBFMldFd3NZMEZCWXl4RlFUZFlhRUlzUVVGMlJVRXNUMEYxUlU4c1EwRXlaa3dzUTBGQlF5eERRVUZCTEVGQlFVRXNTMEZCUXl4RlFVRlBMRTlCUVU4c1FVRkJaQ3hIUVRObVNpeEJRWFpGUVN4UFFYVkZUeXhEUVcxb1Frd3NiMEpCUVc5Q0xFVkJibWhDZEVJc1FVRjJSVUVzVDBGMVJVOHNRMEZ0YWtKTUxHZENRVUZuUWl4RlFXNXFRbXhDTEVGQmRrVkJMRTlCZFVWUExFTkJhWE5DVEN4alFVRmpMRU5CWlZvc2IwSkJRVzlDTEVWQk1FUjRRaXhCUVdveFFrRXNXVUZwTVVKWkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUlVGb2VrSnVReXhCUVhaRlFTeFBRWFZGVHl4RFFXbFhUQ3hqUVVGakxFTkJaMEphTEVWQlFVVXNRVUZCUVN4WlFVRlpMRU5CZUdKV08wVkJRMDRzVDBGQlR5eEZRVUZETEVsQlFVa3NSMEZMWWp0RmEwY3ZTa2NzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVkblQzWkRMRUZCZGtWQkxFOUJkVVZQTEVOQk5saE1MR05CUVdNc1JVRTNXR2hDTEVGQmRrVkJMRTlCZFVWUExFTkJNbVpNTEVOQlFVTXNRMEZCUVN4QlFVRkJMRXRCUVVNc1JVRkJUeXhQUVVGUExFRkJRV1FzUjBFelprb3NRVUYyUlVFc1QwRjFSVThzUTBGdGFFSk1MRzlDUVVGdlFpeEZRVzVvUW5SQ0xFRkJka1ZCTEU5QmRVVlBMRU5CYldwQ1RDeG5Ra0ZCWjBJc1JVRnVha0pzUWl4QlFYWkZRU3hQUVhWRlR5eERRV2x6UWt3c1kwRkJZeXhEUVdWYUxHOUNRVUZ2UWl4RlFUQkVlRUlzUVVGcU1VSkJMRmxCYVRGQ1dTeERRWE5EVml3MlFrRkJOa0lzUjBGQlJ5eERRVUZETEVWQmFIcENia01zUVVGMlJVRXNUMEYxUlU4c1EwRnBWMHdzWTBGQll5eERRV2RDV2l4RlFVRkZMRUZCUVVFc1dVRkJXU3hEUVhoaVZqdE5RVWxLTEU5QlFVOHNSVUZCUXl4TFFVRkxMRWRCUldoQ096dEJRV2xGUkN4QlFYSkVRU3hQUVhGRVR5eERRVFpZVEN4alFVRmpMRVZCTjFob1FpeEJRWEpFUVN4UFFYRkVUeXhEUVRKbVRDeERRVUZETEVOQlFVRXNRVUZCUVN4TFFVRkRMRVZCUVU4c1QwRkJUeXhCUVVGa0xFZEJNMlpLTEVGQmNrUkJMRTlCY1VSUExFTkJiV2hDVEN4dlFrRkJiMElzUlVGdWFFSjBRaXhCUVhKRVFTeFBRWEZFVHl4RFFXMXFRa3dzWjBKQlFXZENMRVZCYm1wQ2JFSXNRVUZ5UkVFc1QwRnhSRThzUTBGcGMwSk1MR05CUVdNc1EwRmxXaXh2UWtGQmIwSXNRMEZ5ZDBKcVFqdEZRVkJNTEdGQlFXRXNSVUZCUXl4UFFVRlBPMFZCUjI1Q0xGVkJRVlVzUlVGQlF5eHpRa0ZCYzBJc1IwRk5jRU03TzBGQk5ucENSQ3hCUVRONlFrRXNXVUV5ZWtKWkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUTBGcU1rSnlRanRGUVZoYUxHRkJRV0VzUlVGQlF5eFBRVUZQTzBWQllYSkNMRmxCUVZrc1JVRkJSU3hMUVVGTE8wVkJRMjVDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMFZCUlhCQ0xGVkJRVlVzUlVGQlJTeDFRMEZCZFVNN1JVRkRia1FzUzBGQlN5eEZRVUZGTEd0RFFVRnJRenRGUVVONlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXh2UlVGQmFVWXNSMEZyUTNCSE8wVkJhM2hDUkN4QlFXeDZRa1VzV1VGcmVrSlZMRU5CYzBOV0xEWkNRVUUyUWl4SFFVRkhMRU5CUVVNc1EwRjRNVUpxUXl4RFFVRkRMRU5CUVVNN1NVRkRRU3hMUVVGTExFVkJRVVVzV1VGQldTeEhRVU53UWp0RmEwY3hURU1zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVjd0swSjJReXhCUVRkNVFra3NXVUUyZVVKUkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUTBGdU1VSXZRaXhGUVVGRkxFTkJRVU03VFVGRFJDeFBRVUZQTEVWQlFVVXNTVUZCU1N4SFFVTmtPMFZCTW5sQ1RDeEJRWGg1UWtVc1dVRjNlVUpWTEVOQmMwTldMRFpDUVVFMlFpeEhRVUZITEVOQlFVTXNRMEU1TUVKcVF5eE5RVUZOTEVOQlFVTTdTVUZEVEN4UlFVRlJMRVZCUVVVc1VVRkJVVHRKUVVOc1FpeEhRVUZITEVWQlFVVXNUVUZCVFR0SlFVTllMRXRCUVVzc1JVRkJSU3hOUVVGTk8wbEJRMklzUzBGQlN5eEZRVUZGTEZsQlFWazdTVUZEYmtJc1ZVRkJWU3hGUVVGRkxHZENRVUZuUWp0SlFVTTFRaXhWUVVGVkxFVkJRVVVzU1VGQlNTeEhRVk5xUWp0SlFYbDRRa2dzUVVGNGVVSkZMRmxCZDNsQ1ZTeERRWE5EVml3MlFrRkJOa0lzUjBGQlJ5eERRVUZETEVOQk9UQkNha01zVFVGQlRTeEJRVTlLTEUxQlFVOHNSVUZwZVVKWUxFRkJlSGxDUlN4WlFYZDVRbFVzUTBGelExWXNOa0pCUVRaQ0xFZEJRVWNzUTBGQlF5eERRVGt3UW1wRExFMUJRVTBzUVVGUFN5eE5RVUZQTEVOQlFVTTdUVUZEWml4TFFVRkxMRVZCUVVVc2QwTkJRWEZFTEVOQlFVTXNWVUZCVlR0TlFVTjJSU3hOUVVGTkxFVkJRVVVzU1VGQlNUdE5RVU5hTEZWQlFWVXNSVUZCUlN4SlFVRkpMRWRCU1dwQ08wMUJNSGhDVEN4QlFUZDRRazBzV1VFMmVFSk5MRU5CYzBOV0xEWkNRVUUyUWl4SFFVRkhMRU5CUVVNc1EwRTVNRUpxUXl4TlFVRk5MRUZCVDBvc1RVRkJUeXhEUVVsTUxFZEJRVWNzUlVFMmVFSlVMRUZCTjNoQ1RTeFpRVFo0UWswc1EwRnpRMVlzTmtKQlFUWkNMRWRCUVVjc1EwRkJReXhEUVRrd1FtcERMRTFCUVUwc1FVRlBTeXhOUVVGUExFTkJTV1FzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeEhRVU01UWp0RlFUSjRRbEFzUVVFemVrSkJMRmxCTW5wQ1dTeERRWE5EVml3MlFrRkJOa0lzUjBFNWVrSTNRaXhyUWtGQmJVSXNRMEZCUXp0SlFVTnNRaXg1UWtGQmVVSXNSVUZCUlN4UFFVRlBPMGxCUTJ4RExHOUNRVUZ2UWl4RlFVRkZMRTlCUVU4N1NVRkROMElzTWtKQlFUSkNMRVZCUVVVc1QwRkJUenRKUVVOd1F5d3dRa0ZCTUVJc1JVRkJSU3hQUVVGUExFZEJRM0JET3p0QlFWTklMRUZCUVVFc1QwRkJUeXhEUVVGRE8wVkJaMDVPTEc5RFFVRnZRenRGUVVsd1F5d3JRa0ZCSzBJN1JVRm5SQzlDT3pzN096czdTMEZOUnp0RlFVVklPenM3T3pzN096czdPMHRCVlVjN1JVRXlRMGc3T3pzN096czdPMHRCVVVjN1JVRnJZa2c3T3pzN096czdTMEZQUnl4RlFVVktPMFZCY0hkQ1JDeEJRVU5GTEU5QlJFc3NRMEZEVEN3MlFrRkJOa0lzUTBGQlF6dEpRVXMxUWl4VlFVRlZMRVZCUVVVc2RVTkJRWFZETzBsQlVXNUVMRTlCUVU4c1JVRkJSU3hEUVVGRE8wbEJRMVlzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZ0UWs0c1ZVRkJWU3hGUVVGRkxFMUJRVTBzUjBGVGJrSTdTVUV6UTBnc1FVRkZUU3hQUVVaRExFTkJRMHdzTmtKQlFUWkNMRWRCUTNwQ0xFTkJRVU1zUTBGQlF6dE5RVU5HTEZGQlFWRXNSVUZCUlN4UlFVRlJMRWRCUTI1Q08wbHJSM0JQUkN4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzAxc1IyZFBka01zUVVGRFJTeFBRVVJMTEVOQlEwd3NOa0pCUVRaQ0xFTkJRVU03VVVGVE1VSXNWVUZCVlN4RlFVRkZMR3RDUVVGclFqdFJRVU01UWl4SlFVRkpMRVZCUVVNc1EwRkJRenRSUVVOT0xFdEJRVXNzUlVGQlF5eERRVUZETEVkQkswSldPMGxCTTBOSUxFRkJRMFVzVDBGRVN5eERRVU5NTERaQ1FVRTJRaXhEUVdVelFpeEJRVUZCTEZkQlFVVXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRVzlDTzAxQlJYQkNMRTlCUVU4c1JVRkJSU3hEUVVGRE8wMUJRMVlzUjBGQlJ5eEZRVUZGTEVsQlFVazdUVUZEVkN4UFFVRlBMRVZCUVVVc1MwRkJTenROUVVOa0xGVkJRVlVzUlVGQlJTd3JRMEZCSzBNc1IwRk5OVVE3U1d0SE0xQkVMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUV3hIWjA5MlF5eEJRVU5GTEU5QlJFc3NRMEZEVEN3MlFrRkJOa0lzUTBGQlF6dFJRVFJDTVVJc1VVRkJVU3hGUVVGRkxGRkJRVkU3VVVGRGJFSXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRVQ3hMUVVGTExFVkJRVVVzUTBGQlF6dFJRVU5TTEVkQlFVY3NSVUZCUlN4TlFVRk5MRWRCVjJRN1NVRXpRMGdzUVVGeFEwa3NUMEZ5UTBjc1EwRkRUQ3cyUWtGQk5rSXNRMEZ2UXpOQ0xFTkJRVU1zUTBGQlF6dE5RVU5CTEUxQlFVMHNSVUZCUlN4RFFVRkRMRWRCUTFZN1NVRjJRMHdzUVVGM1Ewa3NUMEY0UTBjc1EwRkRUQ3cyUWtGQk5rSXNRMEYxUXpOQ0xFdEJRVXNzUTBGQlF6dE5RVU5LTEZOQlFWTXNSVUZCUlN4dFFrRkJhMElzUjBGRE9VSTdSVUV4UTB3c1FVRTJRekJETEU5Qk4wTnVReXhEUVRSRFRDeHZRa0ZCYjBJc1EwRkRiRUlzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RlFVRk5MR0ZCUVdFc1FVRkJia0lzUTBGQmIwSXNVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJRenRKUVVNeFF5eE5RVUZOTEVWQlFVVXNUMEZCVHp0SlFVTm1MRkZCUVZFc1JVRkJReXhSUVVGUk8wbEJRMnBDTEZsQlFWa3NSVUZCUlN4TFFVRkxMRWRCYVVKd1FqdEpRV3BGVEN4QlFXbEVUU3hQUVdwRVF5eERRVFJEVEN4dlFrRkJiMElzUTBGRGJFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhGUVVGTkxHRkJRV0VzUVVGQmJrSXNRMEZCYjBJc1UwRkJVeXhIUVVGSExFdEJRVXNzUTBGSmVrTXNVVUZCVVN4RFFVRkRPMDFCUTFBc1VVRkJVU3hGUVVGRExGRkJRVkU3VFVGRGFrSXNSMEZCUnl4RlFVRkRMRU5CUVVNN1RVRkRUQ3hKUVVGSkxFVkJRVU1zVFVGQlRUdE5RVU5ZTEUxQlFVMHNSVUZCUXl4RFFVRkRPMDFCUTFJc1QwRkJUeXhGUVVGRExFbEJRVWs3VFVGRFdpeGxRVUZsTEVWQlFVVXNUVUZCVFR0TlFVTjJRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRVU53UWp0SlFYcEVVQ3hCUVRaRE1FTXNUMEUzUTI1RExFTkJORU5NTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRVZCUVUwc1lVRkJZU3hCUVVGdVFpeERRVUZ2UWl4VFFVRlRMRWRCUVVjc1MwRkJTeXhCUVdGNlF5eE5RVUZQTEVOQlFVTTdUVUZEVGl4VlFVRlZMRVZCUVVVc2RVSkJRWFZDTzAxQlEyNURMRXRCUVVzc1JVRkJSU3cwUWtGQk5FSXNSMEZKY0VNN1RVRm9SVkFzUVVFMlJGRXNUMEUzUkVRc1EwRTBRMHdzYjBKQlFXOUNMRU5CUTJ4Q0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNSVUZCVFN4aFFVRmhMRUZCUVc1Q0xFTkJRVzlDTEZOQlFWTXNSMEZCUnl4TFFVRkxMRUZCWVhwRExFMUJRVThzUTBGSFRDeEhRVUZITEVOQlFVTTdVVUZEUml4SlFVRkpMRVZCUVVVc1dVRkJXU3hIUVVOdVFqdEZRUzlFVkN4QlFXMUZSU3hQUVc1RlN5eERRVzFGVEN4RFFVRkRMRU5CUVVNN1NVRkRRU3hMUVVGTExFVkJRVU1zTUVKQlFUQkNMRWRCUTJwRE8wVkJja1ZJTEVGQmRVVkZMRTlCZGtWTExFTkJkVVZNTEVWQlFVVXNSVUYyUlVvc1FVRjFSVXNzVDBGMlJVVXNRMEYxUlVZc1JVRkJSU3hGUVhaRlVDeEJRWFZGVVN4UFFYWkZSQ3hEUVhWRlF5eEZRVUZGTEVWQmRrVldMRUZCZFVWWExFOUJka1ZLTEVOQmRVVkpMRVZCUVVVc1JVRjJSV0lzUVVGMVJXTXNUMEYyUlZBc1EwRjFSVThzUlVGQlJTeEZRWFpGYUVJc1FVRjFSV2xDTEU5QmRrVldMRU5CZFVWVkxFVkJRVVVzUTBGQlF6dEpRVU5vUWl4WFFVRlhMRVZCUVVVc1RVRkJUU3hIUVVOd1FqdEZRWHBGU0N4QlFUSkZSU3hQUVRORlN5eERRVEpGVEN4RlFVRkZMRVZCTTBWS0xFRkJNa1ZMTEU5Qk0wVkZMRU5CTWtWR0xFVkJRVVVzUlVFelJWQXNRVUV5UlZFc1QwRXpSVVFzUTBFeVJVTXNSVUZCUlN4RlFUTkZWaXhCUVRKRlZ5eFBRVE5GU2l4RFFUSkZTU3hGUVVGRkxFVkJNMFZpTEVGQk1rVmpMRTlCTTBWUUxFTkJNa1ZQTEVWQlFVVXNSVUV6UldoQ0xFRkJNa1ZwUWl4UFFUTkZWaXhEUVRKRlZTeEZRVUZGTEVWQk0wVnVRaXhCUVRKRmNVSXNUMEV6UldRc1EwRXlSV01zUzBGQlN5eERRVUZETzBsQlEzWkNMRXRCUVVzc1JVRkJReXh6UWtGQmNVTXNSMEZETlVNN1JVRTNSVWdzUVVGdFJrVXNUMEZ1Umtzc1EwRnRSa3dzVFVGQlRTeERRVUZETzBsQk5WUlFMRlZCUVZVc1JVRkJReXgxUWtGQmRVSTdTVUZEYkVNc1ZVRkJWU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXcwUWtGQk5FSTdTVUZEYkVRc1MwRkJTeXhGUVVGRExEUkNRVUUwUWp0SlFVTnNReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEpRVU5VTEdGQlFXRXNSVUZCUlN4SFFVRkhPMGxCUTJ4Q0xFOUJRVThzUlVGQlF5eFRRVUZUTzBsQk9GUm1MR0ZCUVdFc1JVRkJSU3hMUVVGTE8wbEJRM0JDTEZWQlFWVXNSVUZCUlN4SlFVRkpPMGxCUTJoQ0xHZENRVUZuUWl4RlFVTmtMR3RsUVVGclpUdEpRVWx3WlN4bFFVRmxMRVZCUVVVc1QwRkJUenRKUVVONFFpeHBRa0ZCYVVJc1JVRkJSU3hUUVVGVE8wbEJRelZDTEdkQ1FVRm5RaXhGUVVGRkxFOUJRVTg3U1VGRGVrSXNiVUpCUVcxQ0xFVkJRVVVzVlVGQlZUdEpRVU12UWpzN096czdPenM3TzA5QlUwY3NSVUZGU2p0SmEwZG9Wa01zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenROYkVkblQzWkRMRUZCYlVaRkxFOUJia1pMTEVOQmJVWk1MRTFCUVUwc1EwRkJRenRSUVVWSUxFdEJRVXNzUlVGQlJTeEpRVUZKTzFGQlExZ3NWVUZCVlN4RlFVRkZMRWxCUVVrc1IwRXdRbTVDTzBsQmFFaElMRUZCYlVaRkxFOUJia1pMTEVOQmJVWk1MRTFCUVUwc1FVRjBWRm9zVFVGQllTeERRVUZETzAxQlEwNHNUMEZCVHl4RlFVRkZMRWxCUVVrN1RVRkRZaXhqUVVGakxFVkJRVVVzYzBKQlFYTkNPMDFCUTNSRExIRkNRVUZ4UWl4RlFVRkZMSE5DUVVGelFpeEhRVU01UXpzN1FVRTJWRU1zWTBGQll5eERRVUZrTEZsQlFXTTdSVUU1Um14Q0xFRkJiVVpGTEU5QmJrWkxMRU5CYlVaTUxFMUJRVTBzUTBGQlRqdEpRVmxKTEdkQ1FVRm5RaXhGUVVGRkxEaENRVUU0UWl4SFFXbENia1E3UlVGb1NFZ3NRVUZ6U1VVc1QwRjBTVXNzUTBGelNVd3NUVUZCVFN4RFFVRkJMRUZCUVVFc1JVRkJReXhGUVVGSkxEWkNRVUUyUWl4QlFVRnFReXhGUVVGdFF6dEpRVU40UXl4aFFVRmhMRVZCUVVNc1NVRkJTVHRKUVVOc1FpeFZRVUZWTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETERSQ1FVRTBRaXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRFJDUVVGNVF6dEpRVU40UnpzN1QwRkZSeXhGUVZkS08wbEJkRXBJTEVGQmMwbEZMRTlCZEVsTExFTkJjMGxNTEUxQlFVMHNRMEZCUVN4QlFVRkJMRVZCUVVNc1JVRkJTU3cyUWtGQk5rSXNRVUZCYWtNc1EwRk5UQ3hOUVVGUExFTkJRVU03VFVGRFRpeGpRVUZqTEVWQlFVVXNjMEpCUVhOQ0xFZEJRM1pETzBsclJ6bFhSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ6U1VVc1QwRjBTVXNzUTBGelNVd3NUVUZCVFN4RFFVRkJMRUZCUVVFc1JVRkJReXhGUVVGSkxEWkNRVUUyUWl4QlFVRnFReXhGUVVGdFF6dFJRVlYwUXl4TFFVRkxMRVZCUVVVc1NVRkJTVHRSUVVOWUxGVkJRVlVzUlVGQlJTeFBRVUZQTEVkQlMzUkNPMGxyUjNSWVF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMXNSMmRQZGtNc1FVRnpTVVVzVDBGMFNVc3NRMEZ6U1V3c1RVRkJUU3hEUVVGQkxFRkJRVUVzUlVGQlF5eEZRVUZKTERaQ1FVRTJRaXhCUVVGcVF5eEZRVUZ0UXp0UlFXTjBReXhoUVVGaExFVkJRVU1zUTBGQlF5eEhRVVZzUWp0RlFYUktTQ3hCUVhsTFJTeFBRWHBMU3l4RFFYbExUQ3hEUVVGRExFRkJRVUVzVTBGQlV5eERRVUZETzBsQlExUXNUVUZCVFN4RlFVRkRMRmRCUVZjc1IwRkRia0k3UlVFeWJFSklMRUZCZW14Q1JTeFBRWGxzUWtzc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4dFFrRkJiVUlzUVVGQlFTeEpRVUZMTEVWQlFVRXNRVUZCUVN4QlFVRkJMRmRCUVVNc1EwRkJXU3hOUVVGTkxFRkJRV3hDTEV0QlFYVkNMRU5CUVVNc1FVRkJRU3hYUVVGWExFTkJlbXhDZGtVN1NVRndRbVFzWjBKQlFXZENMRVZCUVVVc1QwRkJUenRKUVVONlFpeG5Ra0ZCWjBJc1JVRkJSU3hwUTBGQmFVTTdTVUZEYmtRc1ZVRkJWU3hGUVVGRkxFbEJRVWs3U1VGRGFFSXNTMEZCU3l4RlFVRkZMRXRCUVVzc1IwRnRRbUk3U1VGMWJFSklMRUZCZW14Q1JTeFBRWGxzUWtzc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4dFFrRkJiVUlzUVVGQlFTeEpRVUZMTEVWQlFVRXNRVUZCUVN4QlFVRkJMRmRCUVVNc1EwRkJXU3hOUVVGTkxFRkJRV3hDTEV0QmVtMUNjRVFzVFVGQlV5eEJRWGx0UW0xRkxGZEJRVmNzUlVGQmVrWXNRVUY2YkVKRkxFOUJlV3hDU3l4RFFVRkRMRzlDUVVGdlFpeERRVUZETEcxQ1FVRnRRaXhCUVVGQkxFbEJRVXNzUlVGQlFTeEJRVUZCTEVGQlFVRXNWMEZCUXl4RFFVRlpMRTFCUVUwc1FVRkJiRUlzUzBGNmJVSXpReXhOUVVGVExFRkJlVzFDTUVRc1YwRkJWeXhEUVhwdFFuQkZPMDFCUTJZc1kwRkJZeXhGUVVGRkxFOUJRVTg3VFVGRGRrSXNaMEpCUVdkQ0xFVkJRVVVzVDBGQlR6dE5RVU42UWl4blFrRkJaMElzUlVGQlJTeHBRMEZCYVVNN1RVRkRia1FzUzBGQlN5eEZRVUZGTEV0QlFVczdUVUZEV2l4VlFVRlZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRFJDUVVFMFFpeEhRVU51UkR0SlFXMXRRa3dzUVVGNmJFSkZMRTlCZVd4Q1N5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHMUNRVUZ0UWl4QlFVRkJMRWxCUVVzc1JVRkJRU3hCUVVGQkxFRkJRVUVzVjBGQlF5eERRVUZaTEUxQlFVMHNRVUZCYkVJc1MwRnNiVUp3UkN4VFFVRlpMRUZCYTIxQ1owVXNWMEZCVnl4RFFXeHRRakZGTzAxQlExUXNUVUZCVFN4RlFVRkZMR1ZCUVdVc1IwRkRlRUk3UlVGMFMwd3NRVUZwVEVVc1QwRnFURXNzUTBGcFRFd3NRMEZCUXl4QlFVRkJMRTlCUVU4c1EwRkJRenRKUVVOUUxHVkJRV1VzUlVGQlF5eEpRVUZKTEVkQlJYSkNPMFZCY0V4SUxFRkJkMHhGTEU5QmVFeExMRU5CZDB4TUxFMUJRVTBzUlVGNFRGSXNRVUYzVEZVc1QwRjRURWdzUTBGM1RFY3NUMEZCVHl4RFFVRkRPMGxCYW1Gb1FpeFZRVUZWTEVWQlFVTXNkVUpCUVhWQ08wbEJRMnhETEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNORUpCUVRSQ08wbEJRMnhFTEV0QlFVc3NSVUZCUXl3MFFrRkJORUk3U1VGRGJFTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1NVRkRWQ3hoUVVGaExFVkJRVVVzUjBGQlJ6dEpRVU5zUWl4UFFVRlBMRVZCUVVNc1UwRkJVeXhIUVRCaGFFSTdTVUYwVFVnc1FVRjNURVVzVDBGNFRFc3NRMEYzVEV3c1RVRkJUU3hCUVROYVdpeE5RVUZoTEVWQmJVOVVMRUZCZDB4VkxFOUJlRXhJTEVOQmQweEhMRTlCUVU4c1FVRXpXbkpDTEUxQlFXRXNRMEZCUXp0TlFVTk9MRTlCUVU4c1JVRkJSU3hKUVVGSk8wMUJRMklzWTBGQll5eEZRVUZGTEhOQ1FVRnpRanROUVVOMFF5eHhRa0ZCY1VJc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VNN1NVRXJUa2dzUVVGM1RFVXNUMEY0VEVzc1EwRjNURXdzVFVGQlRTeEJRWEphVkN4TlFVRlpMRVZCTms1WUxFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGeVdteENMRTFCUVZrc1EwRkJRenROUVVOT0xGVkJRVlVzUlVGMlExSXNUMEZCVHp0TlFYZERWQ3hMUVVGTExFVkJRVVVzUzBGQlN6dE5RVU5hTEdOQlFXTXNSVUZCUlN3MlFrRkJNRU03VFVGRE1VUXNjVUpCUVhGQ0xFVkJRVVVzTmtKQlFUQkRMRWRCU1d4Rk8wMUJjVTVNTEVGQmVFNU5MRTlCZDA1RExFTkJkMHhNTEUxQlFVMHNRVUZ5V2s0c1RVRkJVeXhEUVV0TUxFZEJRVWNzUlVGM1RsUXNRVUY0VGswc1QwRjNUa01zUTBGM1RFY3NUMEZCVHl4QlFYSmFaaXhOUVVGVExFTkJTMHdzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMRXRCUVVzc1IwRkRXanRKUVhOT1VDeEJRWGRNUlN4UFFYaE1TeXhEUVhkTVRDeE5RVUZOTEVGQlIwd3NaMEpCUVd0Q0xFVkJNMHh5UWl4QlFYZE1WU3hQUVhoTVNDeERRWGRNUnl4UFFVRlBMRUZCUjJRc1owSkJRV3RDTEVOQlFVTTdUVUZzUTJ4Q0xHZENRVUZuUWl4RlFVRkZMRTlCUVU4N1RVRkRla0lzWjBKQlFXZENMRVZCUVVVc2FVTkJRV2xETzAxQlEyNUVMRlZCUVZVc1JVRkJSU3hKUVVGSk8wMUJRMmhDTEV0QlFVc3NSVUZCUlN4TFFVRkxMRWRCYVVOWU8wMUJOMHhNTEVGQmQweEZMRTlCZUV4TExFTkJkMHhNTEUxQlFVMHNRVUZIVEN4blFrRkJhMElzUVVFNVFtNUNMRTFCUVZNc1JVRTNTbGdzUVVGM1RFVXNUMEY0VEVzc1EwRjNURXdzVFVGQlRTeEJRVWRNTEdkQ1FVRnJRaXhCUVRsQ1ZpeE5RVUZUTEVWQk4wcHdRaXhCUVhkTVZTeFBRWGhNU0N4RFFYZE1SeXhQUVVGUExFRkJSMlFzWjBKQlFXdENMRUZCT1VKdVFpeE5RVUZUTEVWQk4wcFlMRUZCZDB4VkxFOUJlRXhJTEVOQmQweEhMRTlCUVU4c1FVRkhaQ3huUWtGQmEwSXNRVUU1UWxZc1RVRkJVeXhEUVVGRE8xRkJRMllzWTBGQll5eEZRVUZGTEU5QlFVODdVVUZEZGtJc1owSkJRV2RDTEVWQlFVVXNUMEZCVHp0UlFVTjZRaXhuUWtGQlowSXNSVUZCUlN4cFEwRkJhVU03VVVGRGJrUXNTMEZCU3l4RlFVRkZMRXRCUVVzN1VVRkRXaXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExEUkNRVUUwUWl4SFFVTnVSRHROUVc1TFRDeEJRWGRNUlN4UFFYaE1TeXhEUVhkTVRDeE5RVUZOTEVGQlIwd3NaMEpCUVd0Q0xFRkJka0p1UWl4VFFVRlpMRVZCY0V0a0xFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGSFpDeG5Ra0ZCYTBJc1FVRjJRbTVDTEZOQlFWa3NRMEZCUXp0UlFVTlVMRTFCUVUwc1JVRkJSU3hsUVVGbExFZEJRM2hDTzBsQmRFdE1MRUZCZDB4RkxFOUJlRXhMTEVOQmQweE1MRTFCUVUwc1FVRk5UQ3hWUVVGWkxFRkJRMVlzVFVGQlVTeEZRUzlNWWl4QlFYZE1SU3hQUVhoTVN5eERRWGRNVEN4TlFVRk5MRUZCVFV3c1ZVRkJXU3hCUVVORUxFOUJRVk1zUlVFdlRIWkNMRUZCZDB4RkxFOUJlRXhMTEVOQmQweE1MRTFCUVUwc1FVRk5UQ3hWUVVGWkxFRkJRMU1zVFVGQlVTeEZRUzlNYUVNc1FVRjNURVVzVDBGNFRFc3NRMEYzVEV3c1RVRkJUU3hCUVUxTUxGVkJRVmtzUVVGRGEwSXNUMEZCVXl4RlFTOU1NVU1zUVVGM1RGVXNUMEY0VEVnc1EwRjNURWNzVDBGQlR5eEJRVTFrTEZWQlFWa3NRVUZEVml4TlFVRlJMRVZCTDB4aUxFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGTlpDeFZRVUZaTEVGQlEwUXNUMEZCVXl4RlFTOU1ka0lzUVVGM1RGVXNUMEY0VEVnc1EwRjNURWNzVDBGQlR5eEJRVTFrTEZWQlFWa3NRVUZEVXl4TlFVRlJMRVZCTDB4b1F5eEJRWGRNVlN4UFFYaE1TQ3hEUVhkTVJ5eFBRVUZQTEVGQlRXUXNWVUZCV1N4QlFVTnJRaXhQUVVGVExFTkJRVU03VFVGRGJrTXNZMEZCWXl4RlFVRkZMSE5EUVVGeFJEdE5RVU55UlN4blFrRkJaMElzUlVGcVkySXNSMEZCUnp0TlFXdGpUaXhMUVVGTExFVkJRVU1zUzBGQlN6dE5RVU5ZTEdkQ1FVRm5RaXhGUVVGRkxEWkNRVUZ0UkN4SFFVTjBSVHRGUVhCTlVDeEJRWGxOU1N4UFFYcE5SeXhGUVhkTlRDeEJRVUZCTEZkQlFVTXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRME1zVFVGQlRTeEJRVU5NTEdkQ1FVRnJRaXhGUVRGTmRrSXNRVUY1VFZrc1QwRjZUVXdzUlVGM1RVd3NRVUZCUVN4WFFVRkRMRU5CUVZrc1RVRkJUU3hCUVVGc1FpeEZRVU5UTEU5QlFVOHNRVUZEWkN4blFrRkJhMElzUTBGQlF6dEpRVzVpZEVJc1ZVRkJWU3hGUVVGRExIVkNRVUYxUWp0SlFVTnNReXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExEUkNRVUUwUWp0SlFVTnNSQ3hMUVVGTExFVkJRVU1zTkVKQlFUUkNPMGxCUTJ4RExFMUJRVTBzUlVGQlJTeERRVUZETzBsQlExUXNZVUZCWVN4RlFVRkZMRWRCUVVjN1NVRkRiRUlzVDBGQlR5eEZRVUZETEZOQlFWTXNSMEZuWWxvN1NVRTFUVkFzUVVGNVRVa3NUMEY2VFVjc1JVRjNUVXdzUVVGQlFTeFhRVUZETEVOQlFWa3NUVUZCVFN4QlFVRnNRaXhGUVVORExFMUJRVTBzUVVGRFRDeG5Ra0ZCYTBJc1FVRTNZVE5DTEUxQlFXRXNSVUZ0VDFRc1FVRjVUVmtzVDBGNlRVd3NSVUYzVFV3c1FVRkJRU3hYUVVGRExFTkJRVmtzVFVGQlRTeEJRVUZzUWl4RlFVTlRMRTlCUVU4c1FVRkRaQ3huUWtGQmEwSXNRVUUzWVROQ0xFMUJRV0VzUTBGQlF6dE5RVU5PTEU5QlFVOHNSVUZCUlN4SlFVRkpPMDFCUTJJc1kwRkJZeXhGUVVGRkxITkNRVUZ6UWp0TlFVTjBReXh4UWtGQmNVSXNSVUZCUlN4elFrRkJjMElzUjBGRE9VTTdTVUVyVGtnc1FVRjVUVWtzVDBGNlRVY3NSVUYzVFV3c1FVRkJRU3hYUVVGRExFTkJRVmtzVFVGQlRTeEJRVUZzUWl4RlFVTkRMRTFCUVUwc1FVRkRUQ3huUWtGQmEwSXNRVUYyWVhoQ0xFMUJRVmtzUlVFMlRsZ3NRVUY1VFZrc1QwRjZUVXdzUlVGM1RVd3NRVUZCUVN4WFFVRkRMRU5CUVZrc1RVRkJUU3hCUVVGc1FpeEZRVU5UTEU5QlFVOHNRVUZEWkN4blFrRkJhMElzUVVGMllYaENMRTFCUVZrc1EwRkJRenROUVVOT0xGVkJRVlVzUlVGMlExSXNUMEZCVHp0TlFYZERWQ3hMUVVGTExFVkJRVVVzUzBGQlN6dE5RVU5hTEdOQlFXTXNSVUZCUlN3MlFrRkJNRU03VFVGRE1VUXNjVUpCUVhGQ0xFVkJRVVVzTmtKQlFUQkRMRWRCU1d4Rk8wMUJjVTVNTEVGQmVFNU5MRTlCZDA1RExFVkJkMDFNTEVGQlFVRXNWMEZCUXl4RFFVRlpMRTFCUVUwc1FVRkJiRUlzUlVGRFF5eE5RVUZOTEVGQlEwd3NaMEpCUVd0Q0xFRkJkbUYyUWl4TlFVRlhMRU5CUzB3c1IwRkJSeXhGUVhkT1ZDeEJRWGhPVFN4UFFYZE9ReXhGUVhkTlRDeEJRVUZCTEZkQlFVTXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRMU1zVDBGQlR5eEJRVU5rTEdkQ1FVRnJRaXhCUVhaaGRrSXNUVUZCVnl4RFFVdE1MRWRCUVVjc1EwRkJRenRSUVVOR0xFbEJRVWtzUlVGQlJTeExRVUZMTEVkQlExbzdSVUZ6VGxBc1FVRjVUa1VzVDBGNlRrc3NRMEY1VGt3c1MwRkJTeXhEUVVGQkxFRkJRVUVzU1VGQlF5eERRVUZMTEUxQlFVMHNRVUZCV0N4RlFVRmhPMGxCUTJwQ0xGbEJRVmtzUlVGQlF5eE5RVUZOTzBsQlEyNUNMR0ZCUVdFc1JVRkJReXhOUVVGTkxFZEJRM0pDTzBWQk5VNUlMRUZCT0U1RkxFOUJPVTVMTEVOQk9FNU1MRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eE5RVUZOTEVGQlFWZ3NSVUZCWVR0SlFVTnFRaXhaUVVGWkxFVkJRVU1zZDBKQlFYZENPMGxCUTNKRExGbEJRVmtzUlVGQlF5d3dRa0ZCTUVJN1NVRkRka01zV1VGQldTeEZRVUZETERSQ1FVRTBRaXhIUVVNeFF6dEZRV3hQU0N4QlFXOVBSU3hQUVhCUFN5eERRVzlQVEN4UlFVRlJMRU5CUVVNN1NVRkRVQ3hOUVVGTkxFVkJRVU1zU1VGQlNTeEhRVTlhTzBsclJ6VmpReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ2VDBVc1QwRndUMHNzUTBGdlQwd3NVVUZCVVN4RFFVRkRPMUZCUjB3c1dVRkJXU3hGUVVGRExIZENRVUYzUWp0UlFVTnlReXhaUVVGWkxFVkJRVU1zTUVKQlFUQkNPMUZCUTNaRExGbEJRVmtzUlVGQlF5dzBRa0ZCTkVJN1VVRkRla01zWVVGQllTeEZRVUZETERSQ1FVRXlRaXhIUVVVMVF6dEZRVFZQU0N4QlFUaFBSU3hQUVRsUFN5eERRVGhQVEN4UFFVRlBMRU5CUVVNN1NVRkRUaXhYUVVGWExFVkJRVVVzU1VGQlNTeEhRVU5zUWp0RlFXaFFTQ3hCUVd0UVZTeFBRV3hRU0N4RFFXdFFUQ3hQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlEyUXNXVUZCV1N4RlFVRkRMRWxCUVVrc1IwRkRiRUk3UlVGd1VFZ3NRVUZ6VUVVc1QwRjBVRXNzUTBGelVFd3NTVUZCU1N4RFFVRkRPMGxCUTBnc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqdEZRWGhRU0N4QlFUQlFSU3hQUVRGUVN5eERRVEJRVEN4SFFVRkhMRU5CUVVNN1NVRkRSaXhUUVVGVExFVkJRVU1zU1VGQlNTeEhRVU5tTzBWQk5WQklMRUZCZDFKRkxFOUJlRkpMTEVOQmQxSk1MRmRCUVZjc1EwRkJRenRKUVVOV0xHZENRVUZuUWl4RlFVRkZMSGRDUVVGM1FqdEpRVU14UXl4WlFVRlpMRVZCUVVVc05FSkJRVFJDTzBsQlF6RkRMRXRCUVVzc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VJN1JVRTFVa2dzUVVFNFVrVXNUMEU1VWtzc1EwRTRVa3dzWTBGQll5eERRVUZETzBsQlEySXNaMEpCUVdkQ0xFVkJRVVVzVDBGQlR6dEpRVU42UWl4WlFVRlpMRVZCUVVVc1QwRkJUenRKUVVOeVFpeExRVUZMTEVWQlFVVXNUMEZCVHl4SFFVTm1PMFZyUjJ4blFrTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEpiRWRuVDNaRExFRkJkMU5STEU5QmVGTkVMRU5CYjFOTUxHMUNRVUZ0UWl4SFFVbGlMRU5CUVVNc1EwRkJRenROUVVOR0xGbEJRVmtzUlVGQlJTeERRVUZETEVkQlEyaENPMFZCTVZOUUxFRkJhVlJGTEU5QmFsUkxMRU5CYVZSTUxHRkJRV0VzUTBGQlF6dEpRVU5hTEdGQlFXRXNSVUZCUXl4SlFVRkpPMGxCUTJ4Q0xGZEJRVmNzUlVGQlJTdzBRa0ZCTkVJc1IwRlJNVU03U1d0SE0yaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZwVkVVc1QwRnFWRXNzUTBGcFZFd3NZVUZCWVN4RFFVRkRPMUZCU1ZZc1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGTmRFSTdTVUZLUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTA3VFVGMlZETkNMRUZCYVZSRkxFOUJhbFJMTEVOQmFWUk1MR0ZCUVdFc1EwRkJRenRSUVU5V0xGTkJRVk1zUlVGQlF5eExRVUZMTzFGQlEyWXNWMEZCVnl4RlFVRkZMRzFEUVVGdFF5eEhRVVZ1UkR0RlFUTlVTQ3hCUVRKVlJTeFBRVE5WU3l4RFFUSlZUQ3gzUWtGQmQwSXNRMEZCUXp0SlFVVjJRaXhsUVVGbExFVkJRVU1zV1VGQldUdEpRVU0xUWl4VlFVRlZMRVZCUVVNc2VVSkJRV3RETzBsQlF6ZERMRmRCUVZjc1JVRkJReXhEUVVGRE8wbEJRMklzV1VGQldTeEZRVUZETEVOQlFVTTdTVUZEWkN4UFFVRlBMRVZCUVVNc1QwRkJUeXhIUVVsb1FqdEpRWEpXU0N4QlFXdFdUU3hQUVd4V1F5eERRVEpWVEN4M1FrRkJkMElzUjBGUGNFSXNRMEZCUXl4QlFVRkJMRTlCUVU4c1JVRnNWbVFzUVVGclZtZENMRTlCYkZaVUxFTkJNbFZNTEhkQ1FVRjNRaXhEUVU5V0xFMUJRVTBzUTBGQlF6dE5RVU5xUWl4VFFVRlRMRVZCUVVNc1VVRkJVU3hIUVVOdVFqdEZRWEJXVEN4QlFYZFdTU3hQUVhoV1J5eEJRWFZXVEN4M1FrRkJlVUlzUTBGRGRrSXNkMEpCUVhkQ0xFTkJRVU03U1VGRGRrSXNWMEZCVnl4RlFVRkRMRTFCUVUwN1NVRkRiRUlzWTBGQll5eEZRVUZETEUxQlFVMHNSMEZKZEVJN1NVRTVWa3dzUVVFeVZsRXNUMEV6VmtRc1FVRjFWa3dzZDBKQlFYbENMRU5CUTNaQ0xIZENRVUYzUWl4SFFVZHdRaXhEUVVGRExFRkJRVUVzVDBGQlR5eEZRVE5XYUVJc1FVRXlWbXRDTEU5Qk0xWllMRUZCZFZaTUxIZENRVUY1UWl4RFFVTjJRaXgzUWtGQmQwSXNRMEZIVml4TlFVRk5MRU5CUVVNN1RVRkRha0lzVTBGQlV5eEZRVUZETEV0QlFVc3NSMEZEYUVJN1JVRTNWbEFzUVVGcFYwVXNUMEZxVjBzc1EwRnBWMHdzWTBGQll5eERRVUZETzBsQlEySXNVMEZCVXl4RlFVRkRMRWxCUVVrc1IwRnhRbVk3U1VGMldFZ3NRVUZ0VjBrc1QwRnVWMGNzUTBGcFYwd3NZMEZCWXl4RFFVVmFMRVZCUVVVc1EwRkJRU3hCUVVGQkxGZEJRVU1zUVVGQlFTeEZRVUZoTzAxQlEyUXNZMEZCWXl4RlFVRkRMRXRCUVVzN1RVRkRjRUk3TzFOQlJVY3NSVUZUU2p0TmEwZG9iRUpFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3VVd4SFowOTJReXhCUVcxWFNTeFBRVzVYUnl4RFFXbFhUQ3hqUVVGakxFTkJSVm9zUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUVdFN1ZVRk5XaXhYUVVGWExFVkJRVU1zUzBGQlN5eEhRVTl3UWp0TlFXaFlUQ3hCUVcxWFNTeFBRVzVYUnl4RFFXbFhUQ3hqUVVGakxFTkJSVm9zUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRU5CVVVRc01rSkJRVFJDTEVGQlF6RkNMRmRCUVZrc1EwRkJRenRSUVVOWUxHTkJRV01zUlVGQlF5eERRVUZETEVkQlEycENPMGxCT1ZkVUxFRkJiVmhOTEU5QmJsaERMRU5CYVZkTUxHTkJRV01zUTBGblFsb3NSVUZCUlN4QlFVRkJMRmxCUVZrc1EwRkZXaXhEUVVGRExFTkJRVUVzUVVGQlFTeExRVUZETEVWQlFVOHNUMEZCVHl4QlFVRmtMRVZCUVdkQ08wMUJRMmhDTEUxQlFVMHNSVUZCUXl4RFFVRkRMRWRCUTFRN1JVRnlXRkFzUVVGNVdFVXNUMEY2V0Vzc1EwRjVXRXdzYVVKQlFXbENMRU5CUVVNN1NVRkRhRUlzVlVGQlZTeEZRVUZGTEhsRFFVRjVReXhIUVVOMFJEdEZRVE5ZU0N4QlFUWllSU3hQUVRkWVN5eERRVFpZVEN4alFVRmpMRU5CUVVNN1NVRkZZaXhQUVVGUExFVkJRVU1zUTBGQlF6dEpRVU5VTEdGQlFXRXNSVUZCUXl4TFFVRkxMRWRCVTNCQ08wbHJSM3B0UWtNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0TmJFZG5UM1pETEVGQk5saEZMRTlCTjFoTExFTkJObGhNTEdOQlFXTXNRMEZCUXp0UlFVdFlMR0ZCUVdFc1JVRkJReXhEUVVGRExFZEJUMnhDTzBsQmVsbElMRUZCYjFsSkxFOUJjRmxITEVOQk5saE1MR05CUVdNc1EwRlBXaXhGUVVGRkxFRkJRMFlzV1VGQlpTeEZRWEpaYmtJc1FVRnZXVThzVDBGd1dVRXNRMEUyV0V3c1kwRkJZeXhEUVU5VUxFVkJRVVVzUVVGRFRDeFpRVUZsTEVWQmNsbHVRaXhCUVc5WlZTeFBRWEJaU0N4RFFUWllUQ3hqUVVGakxFTkJUMDRzUlVGQlJTeEJRVU5TTEZsQlFXVXNRMEZCUXp0TlFVTmFMRlZCUVZVc1JVRkJReXhEUVVGRExFZEJRMkk3UlVGMldWQXNRVUV5V1VVc1QwRXpXVXNzUTBFeVdVd3NNa0pCUVRKQ0xFTkJRVU03U1VGRk1VSXNUMEZCVHl4RlFVRkRMRXRCUVVzc1IwRTJRbVE3U1d0SE1XOUNReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUV5V1VVc1QwRXpXVXNzUTBFeVdVd3NNa0pCUVRKQ0xFTkJRVU03VVVGSmVFSXNZMEZCWXl4RlFVRkZMRU5CUVVNc1IwRXlRbkJDTzBsQk1XRklMRUZCYVZwSkxFOUJhbHBITEVOQk1sbE1MREpDUVVFeVFpeERRVTE2UWl4dFFrRkJiVUlzUTBGQlF6dE5RVU5zUWl4WFFVRlhMRVZCUVVNc1EwRkJRenROUVdGaUxGTkJRVk1zUlVGQlF5eEpRVUZKTzAxQlEyUXNUMEZCVHl4RlFVRkRMRWxCUVVrN1RVRkRXaXhoUVVGaExFVkJRVU1zU1VGQlNTeEhRVkZ1UWp0TmEwZDZiMEpFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3VVd4SFowOTJReXhCUVdsYVNTeFBRV3BhUnl4RFFUSlpUQ3d5UWtGQk1rSXNRMEZOZWtJc2JVSkJRVzFDTEVOQlFVTTdWVUZKYUVJc1UwRkJVeXhGUVVGRExFMUJRVTA3VlVGRGFFSXNTVUZCU1N4RlFVRkRMRkZCUVZFN1ZVRkZZaXhUUVVGVExFVkJRVVVzU1VGQlNTeEhRV2xDYkVJN1RVRjZZVXdzUVVFeVdrMHNUMEV6V2tNc1EwRXlXVXdzTWtKQlFUSkNMRU5CVFhwQ0xHMUNRVUZ0UWl4RFFWVnFRaXhMUVVGTExFTkJRVU03VVVGRFNpeExRVUZMTEVWQlFVTXNjMEpCUVhGQ0xFZEJSVFZDTzAxclJ6bHVRa2dzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRSYkVkblQzWkRMRUZCYVZwSkxFOUJhbHBITEVOQk1sbE1MREpDUVVFeVFpeERRVTE2UWl4dFFrRkJiVUlzUTBGQlF6dFZRV3RDYUVJc1lVRkJZU3hGUVVGRExFTkJRVU1zUjBGTmJFSTdUVUY2WVV3c1FVRnhZVTBzVDBGeVlVTXNRMEV5V1V3c01rSkJRVEpDTEVOQlRYcENMRzFDUVVGdFFpeERRVzlDYWtJc1MwRkJTeXhEUVVGRE8xRkJRMG9zU1VGQlNTeEZRVUZETEZGQlFWRTdVVUZEWWl4VFFVRlRMRVZCUVVNc1QwRkJUeXhIUVVOc1FqdEZRWGhoVUN4QlFUUmhSU3hQUVRWaFN5eERRVFJoVEN4cFEwRkJhVU1zUTBGQlF6dEpRVVZvUXl4aFFVRmhMRVZCUVVNc1NVRkJTU3hIUVhGQ2JrSTdTV3RIYm5GQ1F5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMXNSMmRQZGtNc1FVRTBZVVVzVDBFMVlVc3NRMEUwWVV3c2FVTkJRV2xETEVOQlFVTTdVVUZKT1VJc1dVRkJXU3hGUVVGRExFbEJRVWs3VVVGRGFrSXNZVUZCWVN4RlFVRkZMRTFCUVUwc1IwRnJRbmhDTzBsQmJtTklMRUZCYldKSkxFOUJibUpITEVOQk5HRk1MR2xEUVVGcFF5eERRVTh2UWl4TlFVRk5MRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVVVGQlVTeEJRVUZpTEVWQlFXVTdUVUZEY0VJc1YwRkJWeXhGUVVGRExFbEJRVWtzUjBGRGFrSTdTVUZ5WWt3c1FVRnpZa2tzVDBGMFlrY3NRMEUwWVV3c2FVTkJRV2xETEVOQlZTOUNMRWxCUVVrc1EwRkJRenROUVVOSUxGRkJRVkVzUlVGQlJTeFJRVUZSTzAxQlEyeENPenM3T3pzN096czdVMEZUUnl4RlFVTktPMFZCYkdOTUxFRkJjV05GTEU5QmNtTkxMRU5CY1dOTUxHbENRVUZwUWl4RFFVRkRPMGxCVDJoQ0xFMUJRVTBzUlVGQlF5eFhRVUZYTEVkQlVXNUNPMGxCY0dSSUxFRkJjMk5OTEU5QmRHTkRMRU5CY1dOTUxHbENRVUZwUWl4SFFVTmlMRU5CUVVNc1EwRkJRenROUVVOR0xFMUJRVTBzUlVGQlF5eFhRVUZYTEVkQlNXNUNPMDFCTTJOTUxFRkJjMk5OTEU5QmRHTkRMRU5CY1dOTUxHbENRVUZwUWl4SFFVTmlMRU5CUVVNc1FVRkZSQ3hYUVVGWkxFTkJRVU03VVVGRFdDeFpRVUZaTEVWQlFVTXNRMEZCUXl4SFFVTm1PMGxyUnpGeFFrZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5iRWRuVDNaRExFRkJjV05GTEU5QmNtTkxMRU5CY1dOTUxHbENRVUZwUWl4RFFVRkRPMUZCVTJRc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUjBGTmJrSTdTVUZ3WkVnc1FVRm5aRWtzVDBGb1pFY3NRMEZ4WTB3c2FVSkJRV2xDTEVOQlYyWXNUVUZCVFN4RlFXaGtWaXhCUVdka1dTeFBRV2hrVEN4RFFYRmpUQ3hwUWtGQmFVSXNRMEZYVUN4UFFVRlBMRU5CUVVNN1RVRkRaQ3hUUVVGVExFVkJRVU1zU1VGQlNUdE5RVU5rTEVsQlFVa3NSVUZCUXl4UlFVRlJMRWRCUTJRN1JVRnVaRXdzUVVGelpFVXNUMEYwWkVzc1EwRnpaRXdzT0VKQlFUaENMRU5CUVVNN1NVRkROMElzWVVGQllTeEZRVUZETEVsQlFVa3NSMEZUYmtJN1NVRm9aVWdzUVVFeVpFa3NUMEV6WkVjc1EwRnpaRXdzT0VKQlFUaENMRU5CU3pWQ0xFVkJRVVVzUVVGRFJDeFpRVUZqTEVWQk5XUnVRaXhCUVRKa1R5eFBRVE5rUVN4RFFYTmtUQ3c0UWtGQk9FSXNRMEZMZWtJc1JVRkJSU3hCUVVOS0xGbEJRV01zUTBGQlF6dE5RVU5hTEZWQlFWVXNSVUZCUXl4RFFVRkRMRWRCUTJJN1JXdEhPWEpDU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzBsc1IyZFBka01zUVVGclpVVXNUMEZzWlVzc1EwRnJaVXdzYjBKQlFXOUNMRU5CUVVNN1RVRkZha0lzWVVGQllTeEZRVUZGTEVsQlFVa3NSMEZSZEVJN1JXdEhOWE5DUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzBsc1IyZFBka01zUVVGelpVa3NUMEYwWlVjc1EwRnJaVXdzYjBKQlFXOUNMRU5CU1d4Q0xFdEJRVXNzUTBGQlF6dE5RVVZHTEU5QlFVOHNSVUZCUlN4TFFVRkxMRWRCUjJwQ08wVkJNMlZNTEVGQloyWk5MRTlCYUdaRExFRkJPR1ZNTEVsQlFVMHNRMEZCUVN4QlFVRkJMRzlDUVVGdlFpeEZRVU40UWl4dlFrRkJiMElzUTBGRGJFSXNTMEZCU3l4RFFVRkRPMGxCZW5SQ1ZpeFZRVUZWTEVWQlFVTXNkVUpCUVhWQ08wbEJRMnhETEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNORUpCUVRSQ08wbEJRMnhFTEV0QlFVc3NSVUZCUXl3MFFrRkJORUk3U1VGRGJFTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1NVRkRWQ3hoUVVGaExFVkJRVVVzUjBGQlJ6dEpRVU5zUWl4UFFVRlBMRVZCUVVNc1UwRkJVenRKUVhOMFFsZ3NVMEZCVXl4RlFVRkZMRkZCUVZFN1NVRkRia0lzVlVGQlZTeEZRVUZGTEUxQlFVMHNSMEZEYmtJN1NVRndabEFzUVVGblprMHNUMEZvWmtNc1FVRTRaVXdzU1VGQlRTeERRVUZCTEVGQlFVRXNiMEpCUVc5Q0xFVkJRM2hDTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVGQmJuUkNaaXhOUVVGaExFTkJRVU03VFVGRFRpeFBRVUZQTEVWQlFVVXNTVUZCU1R0TlFVTmlMR05CUVdNc1JVRkJSU3h6UWtGQmMwSTdUVUZEZEVNc2NVSkJRWEZDTEVWQlFVVXNjMEpCUVhOQ0xFZEJRemxETzBsQkswNUlMRUZCWjJaTkxFOUJhR1pETEVGQk9HVk1MRWxCUVUwc1EwRkJRU3hCUVVGQkxHOUNRVUZ2UWl4RlFVTjRRaXh2UWtGQmIwSXNRMEZEYkVJc1MwRkJTeXhCUVRkelFsb3NUVUZCV1N4RFFVRkRPMDFCUTA0c1ZVRkJWU3hGUVhaRFVpeFBRVUZQTzAxQmQwTlVMRXRCUVVzc1JVRkJSU3hMUVVGTE8wMUJRMW9zWTBGQll5eEZRVUZGTERaQ1FVRXdRenROUVVNeFJDeHhRa0ZCY1VJc1JVRkJSU3cyUWtGQk1FTXNSMEZKYkVVN1RVRnhUa3dzUVVGNFRrMHNUMEYzVGtNc1FVRTRaVXdzU1VGQlRTeERRVUZCTEVGQlFVRXNiMEpCUVc5Q0xFVkJRM2hDTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVGQk4zTkNXaXhOUVVGWkxFTkJTMHdzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMRXRCUVVzc1IwRkRXanRGUVhOT1VDeEJRVzFuUWtVc1QwRnVaMEpMTEVOQmJXZENUQ3h0UWtGQmJVSXNRMEZCUXp0SlFVTnNRaXhsUVVGbExFVkJRVU1zVVVGQlVUdEpRVU40UWpzN1QwRkZSeXhGUVZWS08wbEJhbWhDU0N4QlFXMW5Ra1VzVDBGdVowSkxMRU5CYldkQ1RDeHRRa0ZCYlVJc1EwRkxha0lzUVVGQlFTeFhRVUZGTEVOQlFWa3NUVUZCVFN4QlFVRnNRaXhGUVVGdlFqdE5RVU53UWl4TlFVRk5MRVZCUVVVc1pVRkJaU3hIUVVONFFqdEpRVEZuUWt3c1FVRXlaMEpKTEU5Qk0yZENSeXhEUVcxblFrd3NiVUpCUVcxQ0xFTkJVV3BDTEUxQlFVMHNRMEZCUXp0TlFVTk1MRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJTV1k3VFd0SGFIWkNSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMUZzUjJkUGRrTXNRVUV5WjBKSkxFOUJNMmRDUnl4RFFXMW5Ra3dzYlVKQlFXMUNMRU5CVVdwQ0xFMUJRVTBzUTBGQlF6dFZRVWRJTEZOQlFWTXNSVUZCUXl4TFFVRkxMRWRCUld4Q08wVkJhR2hDVEN4QlFXMW9Ra1VzVDBGdWFFSkxMRU5CYldoQ1RDeHZRa0ZCYjBJc1EwRkJRenRKUVVWdVFpeGhRVUZoTEVWQlFVTXNTMEZCU3l4SFFUUkNjRUk3U1d0SGFuaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ0YUVKRkxFOUJibWhDU3l4RFFXMW9Ra3dzYjBKQlFXOUNMRU5CUVVNN1VVRkpha0lzWVVGQllTeEZRVUZETEVOQlFVTXNSMEV3UW14Q08wbEJhbXBDU0N4QlFYbG9Ra2tzVDBGNmFFSkhMRU5CYldoQ1RDeHZRa0ZCYjBJc1EwRk5iRUlzUjBGQlJ5eERRVUZETzAxQlEwWXNTMEZCU3l4RlFVRkRMSE5DUVVGeFFpeEhRVU0xUWp0SlFUTm9Ra3dzUVVFNGFFSlJMRTlCT1doQ1JDeERRVzFvUWt3c2IwSkJRVzlDTEVOQlUyeENMRTlCUVU4c1IwRkRTQ3hQUVVGUExFTkJRMUFzUjBGQlJ5eERRVUZETzAxQlEwWXNVMEZCVXl4RlFVRkRMR2xDUVVGcFFqdE5RVU16UWl4WlFVRlpMRVZCUVVNc1RVRkJUU3hIUVVOd1FqdEpRV3BwUWxRc1FVRnJhVUpWTEU5QmJHbENTQ3hEUVcxb1Frd3NiMEpCUVc5Q0xFTkJVMnhDTEU5QlFVOHNSMEZEU0N4UFFVRlBMRWRCUzB3c2FVSkJRV2xDTEVOQlFVTTdUVUZEYkVJc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqdEpRWEJwUWxRc1FVRjNhVUpaTEU5QmVHbENUQ3hEUVcxb1Frd3NiMEpCUVc5Q0xFTkJVMnhDTEU5QlFVOHNRMEZWVEN4QlFVRkJMRWxCUVVVc1FVRkJRU3hKUVVORkxFOUJRVThzUjBGRFRDeHBRa0ZCYVVJc1EwRkJRenROUVVOc1FpeFBRVUZQTEVWQlFVTXNXVUZCV1N4SFFVTnlRanRKUVRGcFFsZ3NRVUV5YVVKWkxFOUJNMmxDVEN4RFFXMW9Ra3dzYjBKQlFXOUNMRU5CVTJ4Q0xFOUJRVThzUTBGVlRDeEJRVUZCTEVsQlFVVXNRVUZCUVN4SlFVTkZMRTlCUVU4c1IwRkpUQ3haUVVGWkxFTkJRVU03VFVGRFlpeFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFVTmlPMFZCTjJsQ1dDeEJRVzFxUWtVc1QwRnVha0pMTEVOQmJXcENUQ3huUWtGQlowSXNRMEZCUXp0SlFVVm1MRTlCUVU4c1JVRkJSU3hMUVVGTE8wbEJRMlFzWVVGQllTeEZRVUZETEV0QlFVczdTVUZEYmtJc1ZVRkJWU3hGUVVGRExFdEJRVXNzUjBGblFtcENPMGxyUjNaNVFrTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5iRWRuVDNaRExFRkJiV3BDUlN4UFFXNXFRa3NzUTBGdGFrSk1MR2RDUVVGblFpeERRVUZETzFGQlRXSXNZVUZCWVN4RlFVRkRMRU5CUVVNc1IwRmpiRUk3U1VGMmEwSklMRUZCTW1wQ1NTeFBRVE5xUWtjc1EwRnRha0pNTEdkQ1FVRm5RaXhEUVZGa0xFOUJRVThzUTBGQlF6dE5RVU5PTEZOQlFWTXNSVUZCUlN4VlFVRlZMRWRCUTNSQ08wbEJOMnBDVEN4QlFTdHFRbEVzVDBFdmFrSkVMRU5CYldwQ1RDeG5Ra0ZCWjBJc1EwRlhaQ3hQUVVGUExFZEJRMGdzUjBGQlJ5eERRVUZETzAxQlEwb3NWMEZCVnl4RlFVRkRMRWxCUVVrc1IwRkRha0k3U1VGcWEwSlFMRUZCYld0Q1NTeFBRVzVyUWtjc1EwRnRha0pNTEdkQ1FVRm5RaXhEUVdkQ1pDeDNRa0ZCZDBJc1EwRkJRenROUVVOMlFpeFZRVUZWTEVWQlFVTXNTVUZCU1R0TlFVTm1MRTFCUVUwc1JVRkJReXhKUVVGSkxFZEJRMW83UlVGMGEwSk1MRUZCZVd0Q1JTeFBRWHByUWtzc1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVVGRE8wbEJRM1JDTEV0QlFVc3NSVUZCUXl4elFrRkJjVUlzUjBGblJEVkNPMGxCTVc1Q1NDeEJRVEpyUWtrc1QwRXphMEpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZGY2tJc1VVRkJVU3hEUVVGRE8wMUJRMUFzVFVGQlRTeEZRVUZETEVOQlFVTTdUVUZEVWl4UFFVRlBMRVZCUVVNc1RVRkJUU3hIUVVsbU8wMXJSMnA2UWtRc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0UmJFZG5UM1pETEVGQk1tdENTU3hQUVROclFrY3NRMEY1YTBKTUxIVkNRVUYxUWl4RFFVVnlRaXhSUVVGUkxFTkJRVU03VlVGSlRDeFBRVUZQTEVWQlFVTXNRMEZCUXl4SFFVVmFPMGxCYW14Q1RDeEJRWEZzUWtrc1QwRnliRUpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZaY2tJc2QwSkJRWGRDTEVOQlFVTTdUVUZEZGtJc1QwRkJUeXhGUVVGRExFbEJRVWs3VFVGRFdpeGxRVUZsTEVWQlFVVXNXVUZCV1N4SFFXdERPVUk3VFVGNmJrSk1MRUZCZVd4Q1VTeFBRWHBzUWtRc1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZseVFpeDNRa0ZCZDBJc1IwRkpjRUlzUjBGQlJ5eERRVUZETzFGQlEwb3NUMEZCVHl4RlFVRkZMRWxCUVVrN1VVRkRZaXhYUVVGWExFVkJRVVVzVFVGQlRUdFJRVU51UWl4bFFVRmxMRVZCUVVVc1RVRkJUU3hIUVVONFFqdE5RVGRzUWxBc1FVRXJiRUpOTEU5QkwyeENReXhEUVhsclFrd3NkVUpCUVhWQ0xFTkJXWEpDTEhkQ1FVRjNRaXhEUVZWMFFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFZEJMMnhDV2l4QlFTdHNRakpDTEU5QkwyeENjRUlzUTBGNWEwSk1MSFZDUVVGMVFpeERRVmx5UWl4M1FrRkJkMElzUTBGVlJDeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJRV2xDTzFGQlJURkRPenM3T3pzN1YwRk5SeXhGUVZWS08xRkJhbTVDVUN4QlFUSnRRbU1zVDBFemJVSlFMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CVlhSQ0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4UFFVRlBMRUZCUVZvc1EwRlRUQ3hSUVVGVkxFZEJSVXdzUzBGQlN5eERRVU5JTEVkQlFVY3NRMEZCUVN4QlFVRkJMRXRCUVVNc1JVRkJUeXhOUVVGTkxFRkJRV0lzUjBFemJVSnNRaXhCUVRKdFFtTXNUMEV6YlVKUUxFTkJlV3RDVEN4MVFrRkJkVUlzUTBGWmNrSXNkMEpCUVhkQ0xFTkJWVVFzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRlZCUVZVc1FVRkJaaXhEUVZNeFFpeFJRVUZWTEVkQlJVd3NTMEZCU3l4RFFVTklMRWRCUVVjc1EwRkJRU3hCUVVGQkxFdEJRVU1zUlVGQlR5eE5RVUZOTEVGQlFXSXNSVUZCWlR0VlFVTnFRaXhKUVVGSkxFVkJRVU1zYzBKQlFYTkNMRWRCUXpWQ08wMUJOMjFDWml4QlFXdHVRazBzVDBGc2JrSkRMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CTmtKMFFpeExRVUZMTEVOQlFVTTdVVUZGU2l4VFFVRlRMRVZCUVVNc1RVRkJUVHRSUVVOb1FpeFBRVUZQTEVWQlFVVXNTVUZCU1R0UlFVTmlMRmRCUVZjc1JVRkJSU3hOUVVGTk8xRkJRMjVDTEdWQlFXVXNSVUZCUlN4TlFVRk5MRWRCUTNoQ08wVkJlRzVDVUN4QlFUUnVRa1VzVDBFMWJrSkxMRU5CTkc1Q1RDeEhRVUZITEVOQlEwUXNRVUZCUVN4TFFVRkZMRVZCUVU4c1RVRkJUU3hCUVVGaUxFVkJRV1U3U1VGRFppeFJRVUZSTEVWQlFVTXNVVUZCVVR0SlFVTnFRaXhMUVVGTExFVkJRVU1zUjBGQlJ6dEpRVU5VTEUxQlFVMHNSVUZCUXl4SFFVRkhPMGxCUTFZc1NVRkJTU3hGUVVGRExGbEJRVmtzUjBGRGJFSTdSV3RIYkRKQ1JDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbHNSMmRQZGtNc1FVRnhiMEpGTEU5QmNtOUNTeXhEUVhGdlFrd3NNa0pCUVRKQ0xFTkJRVU03VFVGRmVFSXNUMEZCVHl4RlFVRkRMRWxCUVVrc1IwRkZaanRGYTBkNk1rSkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTV3hIWjA5MlF5eEJRVEp2UWtVc1QwRXpiMEpMTEVOQk1tOUNUQ3d5UWtGQk1rSXNRMEZCUXp0TlFVVjRRaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVVZtTzBWQkwyOUNTQ3hCUVdsd1FrVXNUMEZxY0VKTExFTkJhWEJDVEN4clFrRkJhMElzUTBGQlF6dEpRVU5xUWl4SlFVRkpMRVZCUVVNc1VVRkJVVHRKUVVOaUxFOUJRVThzUlVGQlF5eEpRVUZKTzBsQlExb3NUVUZCVFN4RlFVRkRMRTlCUVU4c1IwRkRaanRGUVhKd1FrZ3NRVUYxY0VKRkxFOUJkbkJDU3l4RFFYVndRa3dzZFVKQlFYVkNMRU5CUVVNN1NVRkRkRUlzUzBGQlN5eEZRVUZETEVsQlFVazdTVUZGVml4UFFVRlBMRVZCUVVNc1MwRkJTenRKUVVWaUxGbEJRVmtzUlVGQlJTeEhRVUZITzBsQlEycENMRmxCUVZrc1JVRkJSU3d5UWtGQmQwTTdTVUZEZEVRc1dVRkJXU3hGUVVGRkxFMUJRVTA3U1VGRGNFSXNZVUZCWVN4RlFVRkZMRWRCUVVjN1NVRkRiRUlzWjBKQlFXZENMRVZCUVVNc1YwRkJWenRKUVVNMVFpeFZRVUZWTEVWQlFVTXNNRVJCUVRCRU8wbEJSM0pGTEdWQlFXVXNSVUZCUlN4TlFVRk5PMGxCUTNaQ0xGZEJRVmNzUlVGQlJTeE5RVUZOTzBsQlJXNUNMRTlCUVU4c1JVRkJReXhKUVVGSkxFZEJkMEppTzBsclJ5ODFRa01zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VlFVRlZMRVZCUVVVc1MwRkJTenROYkVkblQzaERMRUZCZFhCQ1JTeFBRWFp3UWtzc1EwRjFjRUpNTEhWQ1FVRjFRaXhEUVVGRE8xRkJiMEp3UWl4UFFVRlBMRVZCUVVVc1NVRkJTU3hIUVc5Q2FFSTdTVUV2Y2tKSUxFRkJPSEZDU1N4UFFUbHhRa2NzUTBGMWNFSk1MSFZDUVVGMVFpeERRWFZDY2tJc1IwRkJSeXhEUVVGRE8wMUJRMFlzVTBGQlV5eEZRVUZETEVkQlFVYzdUVUZEWWl4SlFVRkpMRVZCUVVNc01rSkJRWGRETzAxQlF6ZERMRlZCUVZVc1JVRkJReXg1UTBGQmVVTTdUVUZEY0VRc1QwRkJUeXhGUVVGRExIRkRRVUZ4UXp0TlFVTTNReXhWUVVGVkxFVkJRVU1zU1VGQlNTeEhRVU5vUWp0SlFYQnlRa3dzUVVGMWNFSkZMRTlCZG5CQ1N5eERRWFZ3UWt3c2RVSkJRWFZDTEVGQkswSnlRaXc0UWtGQkswSXNRMEZCUXp0TlFVTTVRaXhuUWtGQlowSXNSVUZCUXl4UFFVRnhRanROUVVOMFF5eFpRVUZaTEVWQlFVVXNjMEpCUVhOQ08wMUJRM0JETEZWQlFWVXNSVUZCUXl3MFJFRkJORVFzUjBGTGVFVTdUVUU1Y2tKTUxFRkJNSEpDVFN4UFFURnlRa01zUTBGMWNFSk1MSFZDUVVGMVFpeEJRU3RDY2tJc09FSkJRU3RDTEVOQlNUZENMRWRCUVVjc1EwRkJRenRSUVVOR0xFbEJRVWtzUlVGQlF5eHpRa0ZCYzBJN1VVRkRNMElzVDBGQlR5eEZRVUZETEVOQlFVTXNSMEZEVmp0RlFUZHlRbEFzUVVGcGMwSkZMRTlCYW5OQ1N5eERRV2x6UWt3c1kwRkJZeXhEUVVGRE8wbEJSMklzVDBGQlR5eEZRVUZGTEUxQlFXRTdTVUZGZEVJc1QwRkJUeXhGUVVGRExFbEJRVWs3U1VGRFdpeGxRVUZsTEVWQlFVTXNUVUZCVFR0SlFVTjBRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRV2xFY0VJN1NVRjZka0pJTEVGQk1ITkNTU3hQUVRGelFrY3NRMEZwYzBKTUxHTkJRV01zUTBGVFdpeHZRa0ZCYjBJc1EwRkJRenROUVVWdVFpeFZRVUZWTEVWQlFVTXNiVUpCUVdkQ08wMUJRek5DTEU5QlFVOHNSVUZCUXl4RFFVRkRMRWRCUTFZN1NVRTVjMEpNTEVGQlozUkNTU3hQUVdoMFFrY3NRMEZwYzBKTUxHTkJRV01zUTBGbFdpeHZRa0ZCYjBJc1EwRkJRenROUVVkdVFpeFRRVUZUTEVWQlFVTXNTVUZCU1R0TlFVVmtMRk5CUVZNc1JVRkJReXhKUVVGSk8wMUJRMlFzVlVGQlZTeEZRVUZETEVsQlFVazdUVUZEWml4UlFVRlJMRVZCUVVNc1VVRkJVVHROUVVOcVFpeFBRVUZQTEVWMVJ6a3JRa29zUzBGQlN5eEhka2QzWjBOVU8wMUJiSFpDVEN4QlFYbDBRazBzVDBGNmRFSkRMRU5CYVhOQ1RDeGpRVUZqTEVOQlpWb3NiMEpCUVc5Q0xFTkJVMnhDTEVWQlFVVXNRVUZEUml4WlFVRmxMRVZCTVhSQ2NrSXNRVUY1ZEVKVExFOUJlblJDUml4RFFXbHpRa3dzWTBGQll5eERRV1ZhTEc5Q1FVRnZRaXhEUVZObUxFVkJRVVVzUVVGRFRDeFpRVUZsTEVWQk1YUkNja0lzUVVGNWRFSlpMRTlCZW5SQ1RDeERRV2x6UWt3c1kwRkJZeXhEUVdWYUxHOUNRVUZ2UWl4RFFWTmFMRVZCUVVVc1FVRkRVaXhaUVVGbExFTkJRVU03VVVGRFdpeFZRVUZWTEVWQlFVTXNRMEZCUXl4SFFVTmlPMDFCTlhSQ1ZDeEJRVGgwUW1Nc1QwRTVkRUpRTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRU5CWTJ4Q0xFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEV2l4UFFVRlBMRVZCUVVNc1MwRkJTenRSUVVOaUxHRkJRV0VzUlVGQlF5eExRVUZMTEVkQlNYQkNPMUZCY0hWQ1VDeEJRVGgwUW1Nc1QwRTVkRUpRTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRU5CWTJ4Q0xFOUJRVThzUTBGQlF5eExRVUZMTEVOQlIxZ3NRVUZCUVN4SFFVRkZMRU5CUVVrc01FSkJRVEJDTEVGQlFUbENMRVZCUVdkRE8xVkJRMmhETEdGQlFXRXNSVUZCUlN4RFFVRkRMRWRCUTJwQ08wMUJiblZDVkN4QlFYRjFRazBzVDBGeWRVSkRMRU5CYVhOQ1RDeGpRVUZqTEVOQlpWb3NiMEpCUVc5Q0xFTkJjVUpzUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVWQlFXRTdVVUZEYWtJc1MwRkJTeXhGUVVGRExFbEJRVWs3VVVGRFZpeFRRVUZUTEVWQlFVTXNTMEZCU3l4SFFVTm9RanROUVhoMVFsQXNRVUY1ZFVKTkxFOUJlblZDUXl4RFFXbHpRa3dzWTBGQll5eERRV1ZhTEc5Q1FVRnZRaXhEUVhsQ2JFSXNiVUpCUVcxQ0xFTkJRVU03VVVGRGJFSXNWVUZCVlN4RlFVRkRMRXRCUVVzc1IwRlBha0k3VVVGcWRrSlFMRUZCTW5WQ1ZTeFBRVE4xUWtnc1EwRnBjMEpNTEdOQlFXTXNRMEZsV2l4dlFrRkJiMElzUTBGNVFteENMRzFDUVVGdFFpeEhRVVZtTEVOQlFVTXNRMEZCUXp0VlFVTkdMRWxCUVVrc1JVRkJReXhSUVVGUkxFZEJTV1E3U1VGb2RrSlVMRUZCYjNaQ1RTeFBRWEIyUWtNc1EwRnBjMEpNTEdOQlFXTXNRVUZyUkZvc1pVRkJaMElzUTBGRFpDeHZRa0ZCYjBJc1EwRkJRenROUVVOdVFpeFRRVUZUTEVWQlFVTXNhMEpCUVd0Q08wMUJRelZDTEZWQlFWVXNSVUZCUXl4clFrRkJhMElzUjBGRE9VSTdPMEZyUjNZNVFrZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZiRWN3SzBKMlF5eEJRVU5GTEZsQlJGVXNRMEZEVml4dFFrRkJiVUlzUTBGQlF6dEpRVVZvUWl4UFFVRlBMRVYxUjI1cFEwb3NTMEZCU3p0SmRrZHZhVU5TTEZGQlFWRXNSVUZCUlN4TlFVRk5PMGxCUTJoQ0xFbEJRVWtzUlVGQlJTeE5RVUZOTzBsQlExb3NTMEZCU3l4RlFVRkZMRTFCUVUwN1NVRkRZaXhIUVVGSExFVkJRVVVzUTBGQlF5eEhRVlZVTzBsQmFrSklMRUZCVVUwc1dVRlNUU3hEUVVOV0xHMUNRVUZ0UWl4RFFVOW1MRFpDUVVFMlFpeERRVUZETzAxQlJ6VkNPenM3VjBGSFJ5eEZRVU5LT3p0QlFXWlFMRUZCYTBKRkxGbEJiRUpWTEVOQmEwSldMRFpDUVVFMlFpeERRVUZETzBWQlJUVkNMRTlCUVU4c1JYVkhjR3BEUml4TFFVRkxPMFYyUjNGcVExWXNZVUZCWVN4RlFVRkZMRXRCUVVzc1IwRm5RbkpDTzBWclJ5OW5RME1zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVjd0swSjJReXhCUVd0Q1JTeFpRV3hDVlN4RFFXdENWaXcyUWtGQk5rSXNRMEZCUXp0TlFVc3hRaXhoUVVGaExFVkJRVVVzUTBGQlF5eEhRV051UWp0RlFYSkRTQ3hCUVhsQ1NTeFpRWHBDVVN4RFFXdENWaXcyUWtGQk5rSXNRMEZQTTBJc1RVRkJUU3hEUVVGRE8wbEJRMHdzVDBGQlR5eEZRVUZGTEUxQlFVMDdTVUZEWml4VlFVRlZMRVZCUVVVc1YwRkJWenRKUVVOMlFpeE5RVUZOTEVWQlFVVXNTVUZCU1R0SlFVTmFMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJUMWc3U1VGd1Ewd3NRVUY1UWtrc1dVRjZRbEVzUTBGclFsWXNOa0pCUVRaQ0xFTkJUek5DTEUxQlFVMHNRVUZMU2l4TlFVRlBMRVZCT1VKaUxFRkJlVUpKTEZsQmVrSlJMRU5CYTBKV0xEWkNRVUUyUWl4RFFVOHpRaXhOUVVGTkxFRkJTMHNzVFVGQlR5eERRVUZETzAxQlEyWXNWVUZCVlN4RlFVRkZMSE5DUVVGelFqdE5RVU5zUXl4TlFVRk5MRVZCUVVVc1pVRkJaVHROUVVWMlFpeFZRVUZWTEVWQlFVVXNaVUZCWlN4SFFVTTFRanM3UVVGdVExQXNRVUZ6UTJ0RExGbEJkRU4wUWl4RFFYTkRWaXcyUWtGQk5rSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1JVRkZhRU1zVDBGQlR5eEZRVUZGTEV0QlFVczdSVUZKWkN4WFFVRlhMRVZCUVVVc1NVRkJTVHRGUVVOcVFpeFpRVUZaTEVWQlFVVXNTVUZCU1N4SFFVTnVRanRGYTBkNGFFTkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTV3hITUN0Q2RrTXNRVUZ6UTJ0RExGbEJkRU4wUWl4RFFYTkRWaXcyUWtGQk5rSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1RVRkpPVUlzVDBGQlR5eEZRVUZGTEZsQlFWa3NSMEZKZUVJN08wRkJPVU5JTEVGQkswTkZMRmxCTDBOVkxFTkJLME5XTEhGQ1FVRnhRaXhEUVVGRE8wVkJRM0JDTEdGQlFXRXNSVUZCUlN4SlFVRkpMRWRCVTNCQ08wVnJSMjVwUTBNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SmJFY3dLMEoyUXl4QlFTdERSU3haUVM5RFZTeERRU3REVml4eFFrRkJjVUlzUTBGQlF6dE5RVWRzUWl4aFFVRmhMRVZCUVVVc1EwRkJRenROUVVOb1FpeFRRVUZUTEVWQlFVVXNhVUpCUVdkQ08wMUJRek5DTEU5QlFVOHNSVUZCUlN4RFFVRkRMRWRCUzJJN1JVRjZSRWdzUVVGelJFa3NXVUYwUkZFc1EwRXJRMVlzY1VKQlFYRkNMRU5CVDI1Q0xGRkJRVkVzUTBGQlF6dEpRVU5RTEUxQlFVMHNSVUZCUlN4SlFVRkpMRWRCUTJJaUNuMD0gKi8iLG51bGwsbnVsbF19 */
\ No newline at end of file
diff --git a/client/build/assets/css/eureka.0.0.129.min.css b/client/build/assets/css/eureka.0.0.129.min.css
new file mode 100644
index 0000000..1034035
--- /dev/null
+++ b/client/build/assets/css/eureka.0.0.129.min.css
@@ -0,0 +1 @@
+.eureka{-webkit-box-sizing:border-box;box-sizing:border-box}.eureka *,.eureka ::after,.eureka ::before{-webkit-box-sizing:inherit;box-sizing:inherit}.eureka .eureka__media-source-selector select,.eureka.eureka__view-mode__grid img,.eureka.eureka__view-mode__thumb img{width:100%}.eureka .button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns label,.eureka .eureka__upload-form label,.eureka button,.eureka select,.eureka th[aria-sort]{cursor:pointer}.eureka .eureka__modal,.eureka .eureka__modal .eureka__modal-scrim{position:absolute;top:0;left:0;right:0;bottom:0}.eureka .eureka__crop-modal input[type=radio]:checked+label,.eureka button[aria-pressed=true],.eureka input[aria-pressed=true]+label{-webkit-box-shadow:0 0 0 1px #e4e4e4,inset 0 .175em 0 #c5c5c5;-webkit-box-shadow:0 0 0 1px var(--border-shadow-color,#e4e4e4),inset 0 .175em 0 var(--border-shadow-color,#c5c5c5);box-shadow:0 0 0 1px #e4e4e4,inset 0 .175em 0 #c5c5c5;box-shadow:0 0 0 1px var(--border-shadow-color,#e4e4e4),inset 0 .175em 0 var(--border-shadow-color,#c5c5c5)}.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox],.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio],.eureka .eureka__layout-chooser legend,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka:not(.eureka__server-side) .eureka__upload-form input[type=file],.visually-hidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] a,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] input,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] a,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] input,.eureka .eureka__layout-chooser body:hover legend a,.eureka .eureka__layout-chooser body:hover legend button,.eureka .eureka__layout-chooser body:hover legend input,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) a,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) button,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) input,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) a,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) button,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) input,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] a,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] button,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] input,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] a,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] button,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] input,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] a,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] button,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] input,body:hover .eureka .eureka__layout-chooser legend a,body:hover .eureka .eureka__layout-chooser legend button,body:hover .eureka .eureka__layout-chooser legend input,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) a,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) button,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) input,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) a,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) button,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) input,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] a,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] button,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] input,body:hover .visually-hidden a,body:hover .visually-hidden button,body:hover .visually-hidden input{display:none!important}[class*=eureka-wrapper],[class*=modal-section]{padding:0}@media screen and (min-width:641px){[class*=eureka-wrapper],[class*=modal-section]{display:-webkit-box;display:-ms-flexbox;display:flex;overflow-y:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.eureka-root:-webkit-full-screen{width:100vw;height:100vh;overflow-y:auto;background:#ececec;background:var(--bg-color,#ececec)}.eureka-root label[for*=fullscreen-toggle]{margin-left:8px;margin-left:.5rem}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row,.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden]{display:block!important}@media screen and (max-width:640px){.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr>td.eureka__td-media,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr>td.eureka__td-media{text-align:center}}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden]{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus-within>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus-within>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus-within>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus-within>td.eureka__context-row[hidden]{display:block!important}.eureka-root tbody:not(.empty)>tr:not(.empty){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka-root tbody:not(.empty)>tr:not(.empty)>*{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}@supports (display:grid){.eureka-root tbody:not(.empty)>tr:not(.empty){display:grid}.eureka-root tbody:not(.empty)>tr:not(.empty)>td .eureka__td-media{grid-area:media}.eureka-root tbody:not(.empty)>tr:not(.empty)>td .eureka__td-filename{grid-area:name}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__context-row{grid-area:actions}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{grid-area:dimensions}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{display:none}}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{grid-area:file-size}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{display:none}}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{grid-area:edited-on}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{display:none}}}@supports (display:grid){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__choose{grid-area:choose}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__td-media{grid-area:media}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__td-filename{grid-area:name}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__context-row{grid-area:actions}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{grid-area:dimensions}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{display:none}}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{grid-area:file-size}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{display:none}}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{grid-area:edited-on}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{display:none}}}@supports (display:grid){@media screen and (min-width:641px){.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table tbody:not(.empty)>tr:not(.empty){grid-template-areas:"choose media name dimensions file-size edited-on" "actions actions actions actions actions actions";grid-template-columns:2rem auto 24% 12% 12% 12%}}}.eureka .eureka__choose-radio{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__choose-radio fieldset{margin:0;padding:0}.eureka .eureka__choose-radio .eureka__fieldset{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__choose-radio .eureka__fieldset>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>thead>tr{grid-template-columns:2rem 16% 40% 8% auto auto!important;grid-template-areas:"radio name media dimensions file-size edited-on"!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>thead>tr th:nth-of-type(3){text-align:left!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty){grid-template-columns:2rem 16% 40% 8% auto auto!important;grid-template-areas:"radio name media dimensions file-size edited-on"!important}@supports (display:grid){.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td.eureka__td-filename{text-align:left!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(4){grid-area:dimensions!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5){grid-area:file-size!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6){grid-area:edited-on!important}}.eureka-root{padding:8px;padding:.5rem}@media screen and (max-width:640px){.eureka-root .eureka table>thead{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}body:hover .eureka-root .eureka table>thead a,body:hover .eureka-root .eureka table>thead button,body:hover .eureka-root .eureka table>thead input{display:none!important}}@media screen and (max-width:640px){.eureka-root .eureka tbody>tr>td:not(.eureka__context-row){padding-right:.5rem}}.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>thead>tr{grid-template-areas:"choose choose choose choose choose choose" "media media media media media media" "name name name name name name" "actions actions actions actions actions actions"}@media screen and (min-width:641px){.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>thead>tr{grid-template-areas:"choose media name dimensions file-size edited-on";grid-template-columns:2rem auto 24% 12% 12% 12%}}.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table>thead>tr{grid-template-areas:"choose choose choose choose choose choose" "media media media media media media"}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>thead>tr{display:grid;grid-gap:0}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>thead>tr{grid-template-areas:"media name dimensions file-size edited-on";grid-template-columns:40% 24% 12% 12% 12%}}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr{grid-template-areas:"media media media media media" "name name name name name" "actions actions actions actions actions"}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr{grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions"}}.eureka-root .eureka.eureka__view-mode__list table>tbody.empty>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody.empty>tr{display:block}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*=upload-form],.eureka-root .eureka.eureka__view-mode__table.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*=upload-form]{padding:.5em;margin-right:16px;margin-right:1rem}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr{grid-template-areas:"radio media name dimensions file-size edited-on";grid-template-columns:2rem 40% 24% auto auto auto}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1){grid-area:radio}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(2){grid-area:media;text-align:left}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(3){grid-area:name}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(5){grid-area:dimensions}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(6){grid-area:file-size}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(7){grid-area:edited-on}}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1){grid-area:none}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr td:first-child,.eureka-root .eureka.eureka__view-mode__list table>tbody>tr th:first-child,.eureka-root .eureka.eureka__view-mode__list table>thead>tr td:first-child,.eureka-root .eureka.eureka__view-mode__list table>thead>tr th:first-child{padding-left:8px;padding-left:.5rem}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr{grid-template-areas:"name name name name name" "actions actions actions actions actions";margin-bottom:8px;margin-bottom:.5rem}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr>td.eureka__choose{text-align:center}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr{grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions"}}.eureka-root .eureka__table embed,.eureka-root .eureka__table img,.eureka-root .eureka__table object,.eureka-root .eureka__table video{-o-object-fit:contain;object-fit:contain}@media screen and (min-width:641px){.eureka-root{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eureka-root .eureka{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}.eureka-root .eureka>.eureka__browse-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.eureka-root .eureka>.eureka__browse-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser{-webkit-box-flex:0;-ms-flex:0 0 14rem;flex:0 0 14rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:0;flex-grow:0;margin-right:.5rem}.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser[aria-hidden=true],.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser[hidden]{display:none}.eureka-root .eureka>.eureka__browse-content>.eureka__stage{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view{-ms-flex-preferred-size:auto;flex-basis:auto;-ms-flex-negative:1;flex-shrink:1;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;min-width:0;min-height:0;-ms-flex-wrap:nowrap;flex-wrap:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:.5rem}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header>h2{margin-bottom:0;margin-right:auto}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header>h2 form{float:right}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:auto;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 .5rem .5rem 0}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper>div{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-height:100%;height:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:1;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper>div>table{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-height:100%;height:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:1;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.eureka-root .eureka>.eureka__choose-bar{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-top:.5rem}}.eureka-root .eureka.eureka__view-mode__masonry>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{padding-left:8px;padding-left:.5rem}@media screen and (max-width:640px){.eureka-root .eureka.eureka__view-mode__masonry>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{padding-right:.5rem}}@media screen and (max-width:640px){.eureka-root .eureka>.eureka__choose-bar>*{margin-right:.5rem}.eureka-root .eureka>.eureka__choose-bar>:last-child{margin-right:0}}.eureka-root thead{-ms-flex-preferred-size:auto;flex-basis:auto;display:block;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.eureka-root thead.eureka__tbody-scrolling{padding-right:16px}.eureka-root thead[hidden]{display:none}.eureka-root thead>tr{display:block;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka-root thead>tr>th{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka-root thead>tr>th.eureka__choose{grid-area:choose}.eureka-root thead>tr>th.eureka__th-media{grid-area:media}.eureka-root thead>tr>th.eureka__th-filename{grid-area:name}.eureka-root thead>tr>th.eureka__th-actions{grid-area:none}.eureka-root thead>tr>th.eureka__th-dimensions{grid-area:dimensions}.eureka-root thead>tr>th.eureka__th-file-size{grid-area:file-size}.eureka-root thead>tr>th.eureka__th-edited-on{grid-area:edited-on}.eureka-root tbody.empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka-root tbody.empty>tr{text-align:center;display:block}.eureka-root tbody.empty>tr td{margin:0 auto;display:inline-block}.eureka-root tbody{-ms-flex-preferred-size:0;flex-basis:0;text-align:center;display:block;-ms-flex-wrap:no-wrap;flex-wrap:no-wrap;overflow-y:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:1;flex-shrink:1;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-webkit-overflow-scrolling:touch}.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__td-media,.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__th-media{padding-left:16px;padding-left:1rem}@media screen and (min-width:641px){.eureka__media-directory-selector form{display:inline-block}.eureka__media-directory-selector>div{display:inline-block;margin-left:.5em}}.eureka__sort-select select{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka__sort-select{margin-left:auto;margin-right:auto}.eureka__sort-select label{margin-right:.5rem}.eureka__sort-select select{margin-right:1rem;margin-bottom:0}}@media screen and (min-width:641px){.eureka__tree-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:.5rem}.eureka__tree-toggle>:first-child{margin-right:auto}.eureka__tree-toggle .eureka__upload-form{margin-right:auto}}@media screen and (min-width:641px) and (min-width:641px){.eureka__tree-toggle .eureka__upload-form form{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__tree-toggle .eureka__upload-form label[for*=upload-form]{padding-top:0;padding-bottom:0;line-height:2.2}}@media screen and (min-width:641px){.eureka__server-side .eureka__tree-toggle .eureka__upload-form{margin-right:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__table .eureka__table img{max-height:20vh}}.eureka.eureka__view-mode__table .eureka__table thead th:first-child{padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__table .eureka__table thead th:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:first-child{padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__table .eureka__table tr td,.eureka.eureka__view-mode__table .eureka__table tr th{text-align:center}@media screen and (min-width:641px){.eureka.eureka__view-mode__table .eureka__table tr td,.eureka.eureka__view-mode__table .eureka__table tr th{text-align:right}.eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media,.eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media{text-align:left}}.eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media,.eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media{text-align:left}.eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table img{max-height:20vh}.eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table tr:focus img{max-height:30vh}.eureka.eureka__view-mode__grid .eureka__table thead,.eureka.eureka__view-mode__masonry .eureka__table thead,.eureka.eureka__view-mode__thumb .eureka__table thead{display:none!important}.eureka.eureka__view-mode__grid .eureka__table td:not(.eureka__td-media):not(.eureka__choose),.eureka.eureka__view-mode__masonry .eureka__table td:not(.eureka__td-media):not(.eureka__choose),.eureka.eureka__view-mode__thumb .eureka__table td:not(.eureka__td-media):not(.eureka__choose){display:none}.eureka.eureka__view-mode__grid .eureka__table td[colspan],.eureka.eureka__view-mode__masonry .eureka__table td[colspan],.eureka.eureka__view-mode__thumb .eureka__table td[colspan]{display:block}.eureka.eureka__view-mode__grid .eureka__table tbody,.eureka.eureka__view-mode__masonry .eureka__table tbody,.eureka.eureka__view-mode__thumb .eureka__table tbody{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody,.eureka.eureka__view-mode__masonry .eureka__table tbody,.eureka.eureka__view-mode__thumb .eureka__table tbody{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}}.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{margin:0 8px 8px 0;margin:0 .5rem .5rem 0;-ms-flex-preferred-size:42vw;flex-basis:42vw;width:100%}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{display:inline-block}}.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] td,.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] td,.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex] td{display:block}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{-ms-flex-preferred-size:16vw;flex-basis:16vw}}.eureka.eureka__view-mode__grid .eureka__table tbody .eureka__context-row,.eureka.eureka__view-mode__masonry .eureka__table tbody .eureka__context-row,.eureka.eureka__view-mode__thumb .eureka__table tbody .eureka__context-row{display:none}@media screen and (max-width:640px){.eureka.eureka__view-mode__thumb .eureka__table tbody{display:-webkit-box;display:-ms-flexbox;display:flex}}@media screen and (max-width:640px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{margin-bottom:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{-ms-flex-preferred-size:25vw;flex-basis:25vw}}@media screen and (max-width:640px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex]>td:not(.eureka__context-row),.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]>td:not(.eureka__context-row){padding-right:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{max-width:20%;margin:0;padding:0 .25rem}}@media screen and (min-width:641px){.eureka .eureka__tree{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}}.eureka.eureka__view-mode__table .eureka__context-row{margin-top:8px;margin-top:.5rem}@media screen and (min-width:641px){.eureka .eureka__context-row{margin-top:0;width:100%;display:block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%}.eureka .eureka__context-row[hidden]{display:none!important}.eureka .eureka__context-row .eureka__context-buttons{width:100%}}.eureka .eureka__tree-bar{text-align:center}.eureka.eureka__view-mode__grid .eureka__td-media,.eureka.eureka__view-mode__masonry .eureka__td-media{margin:0 auto;display:inline-block}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead th:first-child{display:none}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead th:nth-of-type(2){text-align:left;padding-left:.5rem}}.eureka.eureka__view-mode__list .eureka__table thead th:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__list .eureka__table thead td,.eureka.eureka__view-mode__list .eureka__table thead th,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th{text-align:right}.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{text-align:left}@supports (display:grid){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{display:block}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{display:none}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-filename{text-align:center;padding-top:.5rem;padding-bottom:.5rem}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table tbody{line-height:2}}.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media embed,.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media img,.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media video{max-width:10vh;max-height:10vh}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]{padding-top:0;padding-bottom:0}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]>td:nth-of-type(2){padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]>td:last-child{padding-right:8px;padding-right:.5rem}@media screen and (max-width:640px){.eureka .eureka__crop-btn{display:none}}.eureka .flex-bar fieldset{margin:0;padding:0}.eureka .flex-bar fieldset label{margin-bottom:0}.eureka .eureka__invert-horz{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.eureka .eureka__td-media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media screen and (min-width:641px){.eureka .eureka__show-for-mobile-up p,.eureka .eureka__show-for-mobile-up textarea{max-height:3em;overflow-y:auto;display:block;width:100%}}.eureka .eureka__pathbar textarea{resize:none}.eureka label[for=eureka__crop_show-adv-controls]{position:absolute;top:.75em;right:1em}.eureka .eureka__crop-modal .icon-bar{margin-top:1em;font-size:16px;font-size:1rem}.eureka .eureka__crop-modal .icon-bar label[for=eureka__crop-drag-mode-move]{border-top-left-radius:3px;border-bottom-left-radius:3px}.eureka .eureka__crop-modal .icon-bar .button,.eureka .eureka__crop-modal .icon-bar button{border-radius:0}.eureka .eureka__crop-modal .icon-bar .button:first-child,.eureka .eureka__crop-modal .icon-bar button:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.eureka .eureka__crop-modal .icon-bar .button:last-child,.eureka .eureka__crop-modal .icon-bar button:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.eureka .eureka__crop-modal .icon-bar.flex-bar>*{margin-right:0}.eureka .eureka__crop-modal .icon-bar button{font-size:16px;font-size:1rem}.eureka .eureka__crop-modal .wrappable.flex-bar{-ms-flex-pack:distribute;justify-content:space-around;margin-bottom:32px;margin-bottom:2rem}.eureka .eureka__crop-modal .wrappable.flex-bar>*{padding-left:16px;padding-left:1rem;padding-right:16px;padding-right:1rem}.eureka .eureka__crop-modal .wrappable.flex-bar summary{margin-bottom:8px;margin-bottom:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box{margin-top:16px;margin-top:1rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label{margin-bottom:0}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label[for=eureka__crop-aspect-ratio]{line-height:2}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[type=number]{width:5em}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[id*=eureka__crop-scale]{width:4em}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box summary{display:-webkit-box;display:-ms-flexbox;display:flex}}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div>*,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div>*{margin-right:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div:last-child,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div:last-child{margin-right:0}}.eureka [hidden]{display:none!important}.eureka .eureka__crop-save-as-checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__crop-as{padding-right:16px;padding-right:1rem}.eureka .eureka__crop-as input[type=text]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eureka label[for=eureka__crop-save-as-name]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka label[for=eureka__crop-aspect-ratio-remember]{line-height:2}.eureka label[for=eureka__crop-rotate]+input[type=range]{min-width:14em}.eureka .eureka__choose-multile>label{display:block;height:100%}.dangerous{color:red;color:var(--dangerous,red)}input:not([type=checkbox]):not([type=radio]):focus{outline:1px solid #3697cd;outline:1px solid var(--active,#3697cd)}[role=listbox]:focus,tr.eureka__context-row:focus,tr[tabindex]:focus{outline:1px solid #3697cd;outline:1px solid var(--active,#3697cd)}summary:focus{outline:0;font-weight:700;color:#3697cd;color:var(--active,#3697cd)}.eureka .eureka__button-bar,.eureka .eureka__tree-bar,.flex-bar{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .wrappable.eureka__button-bar,.eureka .wrappable.eureka__tree-bar,.wrappable.flex-bar{-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka .wrappable.eureka__button-bar>*,.eureka .wrappable.eureka__tree-bar>*,.wrappable.flex-bar>*{padding-left:16px;padding-left:1rem;padding-right:16px;padding-right:1rem}.balanced.flex-bar,.eureka .balanced.eureka__button-bar,.eureka .balanced.eureka__tree-bar{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka .eureka__button-bar>*,.eureka .eureka__tree-bar>*,.flex-bar>*{margin-right:8px;margin-right:.5rem}.eureka .eureka__button-bar>.growable,.eureka .eureka__tree-bar>.growable,.flex-bar>.growable{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eureka .eureka__button-bar>:last-child,.eureka .eureka__tree-bar>:last-child,.flex-bar>:last-child{margin-right:0}[role=dialog] .flex-bar{margin-top:8px;margin-top:.5rem}.eureka .eureka__button-bar,.eureka .eureka__notice{text-align:center}a[role=presentation]{color:currentColor!important;text-decoration:none!important}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.icon-circle-o-notch{-webkit-animation:spinner 1s linear infinite;animation:spinner 1s linear infinite}.eureka__table tr[tabindex].eureka__focused-media-item .eureka__td-filename{font-weight:700}.eureka__table tr[tabindex]:target .eureka__td-media>*{outline:3px solid #32ab9a}.eureka__table tr[tabindex]:target .eureka__td-filename{font-weight:700}.eureka .eureka__context-buttons,.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{border:1px solid #ddd;border:var(--border-width,1px) var(--border-style,solid) var(--panel-border-color,#ddd)}.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka .eureka__table td.comfortable,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{padding:16px;padding:1rem}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka .eureka__table td.comfortable,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{padding:.5rem}}.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka [class^=alert]{border-radius:.25rem;background:#fff;background:var(--light-bg,#fff)}.eureka-root .eureka__notification-wrapper>*{border-radius:.25rem;padding-left:1.5em;padding-right:1.5em;background:#d9edf7;background:var(--notification-background,#d9edf7);color:#1d6e95;color:var(--notification-color,#1d6e95);border:1px solid #309dd4;border:1px solid var(--notification-border-color,var(--notification-color,#309dd4))}.eureka-root .eureka__notification-wrapper>* a{color:currentColor}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper>* br{display:none}}.eureka-root .eureka__notification-wrapper>* button{position:absolute;top:4px;top:.25rem;right:4px;right:.25rem;color:currentColor;-webkit-transition:color 240ms ease;transition:color 240ms ease;-webkit-box-shadow:none;box-shadow:none}.eureka-root .eureka__notification-wrapper>* button:focus,.eureka-root .eureka__notification-wrapper>* button:hover{color:#247fad!important;color:var(--notification-focus-color,#247fad)!important;border:none;-webkit-box-shadow:none;box-shadow:none}.eureka-root .eureka__notification-wrapper>* button:focus svg,.eureka-root .eureka__notification-wrapper>* button:hover svg{fill:currentColor!important}.eureka-root .eureka__notification-wrapper>.eureka__dangerous{--notification-background:#f7a2a2;--notification-color:#911912;--notification-border-color:#911912;--notification-focus-color:#911912}.eureka .eureka__notification-wrapper{-webkit-transition:top 240ms ease 90ms,opacity 240ms ease;transition:top 240ms ease 90ms,opacity 240ms ease;opacity:1;top:0;text-align:center}.eureka .eureka__notification-wrapper>*{position:relative}@media screen and (max-width:640px){.eureka .eureka__notification-wrapper{-webkit-transition:opacity 240ms ease;transition:opacity 240ms ease;left:0;right:0}}.eureka .eureka__notification-wrapper[aria-hidden=true]{opacity:0;top:-5em;display:block;-webkit-transition:opacity 340ms ease-out 90ms,top 420ms ease-out;transition:opacity 340ms ease-out 90ms,top 420ms ease-out}@media screen and (min-width:641px){.eureka .eureka__notification-wrapper{position:absolute;left:0;right:0;top:.25rem}}.eureka .eureka__notification-wrapper p{margin:0}.eureka .eureka__notification-wrapper .icon{-webkit-transform:translateY(.125em);transform:translateY(.125em)}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label{cursor:default;position:relative;padding-left:1.5em}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label .spinner{position:absolute;top:0;left:.275em;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label:hover{background:#fff;background:var(--button-bg,#fff);color:#555;color:var(--button-color,#555)}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label:hover svg{fill:currentColor}.eureka a{color:#3697cd;color:var(--link-color,#3697cd)}.eureka h1,.eureka h2,.eureka h3,.eureka h4,.eureka h5,.eureka h6{font-weight:400}.eureka h1,.eureka h2,.eureka h3,.eureka h4,.eureka h5,.eureka h6,.eureka thead{color:#555;color:var(--subtle,#555)}.eureka select{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em;padding-right:1.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8, ");background-size:contain;background-repeat:no-repeat;background-scale:70% 70%;background-position:right .5em}@media screen and (max-width:640px){.eureka select{width:100%;margin-top:.5em}}.eureka select:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}@-moz-document url-prefix(){.eureka select{background-image:url(../img/select-arrow.svg)}}.eureka button[id^=eureka__tree-toggle__button]{margin-bottom:16px;margin-bottom:1rem;-webkit-box-shadow:0 0 0 1px #e4e4e4,0 .25em 0 #c5c5c5;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4),0 .25em 0 var(--border-color,#c5c5c5);box-shadow:0 0 0 1px #e4e4e4,0 .25em 0 #c5c5c5;box-shadow:0 0 0 1px var(--border-color,#e4e4e4),0 .25em 0 var(--border-color,#c5c5c5)}.eureka button[id^=eureka__tree-toggle__button]:focus{--button-color:#3697cd;--button-color:var(--active, #3697cd)}@media screen and (max-width:640px){.eureka button[id^=eureka__tree-toggle__button]{width:100%;min-height:1.75rem}}@media screen and (min-width:641px){.eureka button[id^=eureka__tree-toggle__button]{margin-bottom:0}}.eureka :disabled{cursor:not-allowed}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:last-child{background-color:#32ab9a;background-image:-webkit-gradient(linear,left top,left bottom,from(#32ab9a),to(#00948e));background-image:linear-gradient(#32ab9a,#00948E);-webkit-box-shadow:none;box-shadow:none;color:#fff}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:focus:last-child,.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:hover:last-child{--border-color:#007571;background-color:#2b9385;background-image:-webkit-gradient(linear,left top,left bottom,from(#2b9385),to(#007571));background-image:linear-gradient(#2b9385,#007571);color:#fff;-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4)}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:disabled:last-child{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka a.button{text-decoration:none}.eureka .button,.eureka button{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em}.eureka .button:focus,.eureka button:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka .button:hover,.eureka button:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka .button:hover svg,.eureka button:hover svg{fill:#fff}.eureka .button.eureka__primary,.eureka button.eureka__primary{background-color:#32ab9a;background-image:-webkit-gradient(linear,left top,left bottom,from(#32ab9a),to(#00948e));background-image:linear-gradient(#32ab9a,#00948E);-webkit-box-shadow:none;box-shadow:none;color:#fff}.eureka .button.eureka__primary:focus,.eureka .button.eureka__primary:hover,.eureka button.eureka__primary:focus,.eureka button.eureka__primary:hover{--border-color:#007571;background-color:#2b9385;background-image:-webkit-gradient(linear,left top,left bottom,from(#2b9385),to(#007571));background-image:linear-gradient(#2b9385,#007571);color:#fff;-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4)}.eureka .button.eureka__primary:disabled,.eureka button.eureka__primary:disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka .button.dangerous:active,.eureka .button.dangerous:focus,.eureka .button.dangerous:hover,.eureka .button.dangerous:target,.eureka button.dangerous:active,.eureka button.dangerous:focus,.eureka button.dangerous:hover,.eureka button.dangerous:target{--border-color:#b80000;--border-color:var(--border-color-dangerous, #b80000);background-color:red;color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,from(red),to(#c00));background-image:linear-gradient(red,#c00)}.eureka [aria-hidden=true] .button.eureka__primary,.eureka [aria-hidden=true] button.eureka__primary{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em}.eureka [aria-hidden=true] .button.eureka__primary:focus,.eureka [aria-hidden=true] button.eureka__primary:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka [aria-hidden=true] .button.eureka__primary:hover,.eureka [aria-hidden=true] button.eureka__primary:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka [aria-hidden=true] .button.eureka__primary:hover svg,.eureka [aria-hidden=true] button.eureka__primary:hover svg{fill:#fff}.eureka input[type=text]{padding-left:8px;padding-left:.5rem;padding-right:8px;padding-right:.5rem}.eureka input[type=text]{border-width:1px;border-width:var(--border-width,1px);border-style:solid;border-style:var(--border-style,solid);border-color:#e4e4e4;border-color:var(--border-color,#e4e4e4)}.eureka fieldset{border:none}@media screen and (max-width:640px){.eureka fieldset{border-width:1px;border-width:var(--border-width,1px);border-style:solid;border-style:var(--border-style,solid);border-color:#e4e4e4;border-color:var(--border-color,#e4e4e4);border-radius:.25rem;border-radius:var(--border-color,.25rem)}}.eureka .active{font-weight:700}.eureka details details{padding-left:.5em}.eureka menu{display:none}.eureka img{max-width:100%}.eureka .alert-info{background-color:#d9edf7;background-color:var(--light-bg,#d9edf7);border-color:#bce8f1;border-color:var(--border-color,#bce8f1);color:#31708f;color:var(--subtle,#31708f)}.eureka .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}@media screen and (max-width:640px){.eureka .eureka__button-bar>*{margin-right:0}}.eureka .eureka__tree{margin-bottom:16px;margin-bottom:1rem;line-height:1.6;line-height:var(--tree-line-height,1.6)}@media screen and (min-width:641px){.eureka .eureka__tree{margin-bottom:.5rem}}@media (pointer:coarse){.eureka .eureka__tree{font-size:1.4em;line-height:1.8;line-height:var(--tree-course-line-height,1.8)}}.eureka .eureka__context-buttons{-ms-flex-pack:distribute;justify-content:space-around;background:#f7f7f7;background:var(--button-bg,#f7f7f7);border-left:0;border-right:0;padding:8px 0;padding:.5rem 0}.eureka .eureka__context-buttons button,.eureka .eureka__context-buttons>a.button{font-size:11px;font-size:.6875rem}.eureka.eureka__view-mode__list .eureka__context-buttons{padding-top:5.6px;padding-top:.35rem;padding-bottom:5.6px;padding-bottom:.35rem}.eureka.eureka__view-mode__list .eureka__context-buttons button,.eureka.eureka__view-mode__list .eureka__context-buttons>a.button{font-size:9.6px;font-size:.6rem}.eureka .eureka__table{min-width:100%}.eureka .eureka__table tr[contextmenu]{padding-bottom:8px;padding-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__table tr[contextmenu]{padding-top:.5rem}}.eureka .eureka__table tr[contextmenu].eureka__focused-media-item:last-child{padding-bottom:0}.eureka .eureka__table td.comfortable p[class^=alert]{margin:0}.eureka .eureka__td-media{background:0 0;background:var(--media-cell-background,transparent)}.eureka .eureka__stage{padding:0;margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__stage{margin-bottom:0}}.eureka .eureka__stage h1:first-child,.eureka .eureka__stage h2:first-child,.eureka .eureka__stage h3:first-child{margin-top:0}.eureka .eureka__stage__filter-view{padding:8px;padding:.5rem}@media screen and (max-width:640px){.eureka .eureka__stage__filter-view{padding-bottom:0}}.eureka .eureka__stage__filter-view .eureka__search-bar{line-height:2;font-size:16px;font-size:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka .eureka__stage__filter-view .eureka__search-bar{font-size:.8rem;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;max-width:22em}}.eureka .eureka__stage__filter-view .eureka__search-bar label{color:#556c88;color:var(--subtle,#556c88)}@media screen and (min-width:641px){.eureka .eureka__stage__filter-view .eureka__search-bar{margin-bottom:0}}.eureka .eureka__stage__filter-view .eureka__search-bar input{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;font-size:inherit}.eureka .eureka__media-directory-selector{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka .eureka__media-directory-selector{margin-right:auto;margin-bottom:.5rem}}.eureka .eureka__media-directory-selector button[type=submit]{margin-left:16px;margin-left:1rem}.eureka .eureka__media-directory-selector form{position:relative}.eureka .eureka__tree-bar{margin:8px 0 0 0;margin:.5rem 0 0 0}.eureka .eureka__tree-bar>*{margin:0 8px 0 0;margin:0 .5rem 0 0}.eureka .eureka__tree-bar>:last-child{margin-right:0}@media screen and (max-width:640px){.eureka .eureka__tree-bar{margin-top:1rem}}.eureka .eureka__tree-bar .button,.eureka .eureka__tree-bar button{font-size:16px;font-size:1rem;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka .eureka__media-source-selector{margin-bottom:16px;margin-bottom:1rem}.eureka .eureka__media-source-selector h2:first-child,.eureka .eureka__media-source-selector h3:first-child{margin-top:0}@media screen and (max-width:640px){.eureka .eureka__upload-form{margin-bottom:1rem}}@media screen and (max-width:640px){.eureka .eureka__upload-form label{display:block}}.eureka:not(.eureka__server-side) .eureka__upload-form label{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em;font-size:11px;font-size:.6875rem;text-align:center}.eureka:not(.eureka__server-side) .eureka__upload-form label:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka:not(.eureka__server-side) .eureka__upload-form label:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka:not(.eureka__server-side) .eureka__upload-form label:hover svg{fill:#fff}.eureka .eureka__choose-bar{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.eureka .eureka__choose-bar[aria-hidden=true]{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka .eureka__choose-bar button{font-size:16px;font-size:1rem}@media screen and (min-width:641px){.eureka .eureka__choose-bar button{font-size:.8rem}}.eureka .eureka__pathbrowser{margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__pathbrowser{margin-bottom:0}}.eureka .eureka__pathbrowser nav{color:#556c88;color:var(--subtle,#556c88)}.eureka .eureka__pathbrowser details>summary svg{-webkit-transform:translateY(.2em);transform:translateY(.2em);margin-right:.25em}.eureka .eureka__pathbrowser details>summary>.icon-folder-open{display:none}.eureka .eureka__pathbrowser details[open]>summary>.icon-folder-open{display:inline-block}.eureka .eureka__pathbrowser details[open]>summary>.icon-folder{display:none}.eureka .eureka__pathbar{padding:8px;padding:.5rem;margin-bottom:8px;margin-bottom:.5rem;margin-top:8px;margin-top:.5rem}@media screen and (min-width:641px){.eureka .eureka__pathbar{margin-bottom:0}}.eureka .eureka__pathbar summary{word-wrap:break-word}.eureka .eureka__pathbar details>div{padding-top:16px;padding-top:1rem}.eureka .eureka__pathbar .eureka__context-buttons{background:0 0;border:none}.eureka .eureka__layout-chooser{color:#556c88;color:var(--subtle,#556c88)}.eureka .eureka__layout-chooser fieldset{margin:0;padding:.5em 0}@media screen and (min-width:641px){.eureka .eureka__layout-chooser fieldset{padding:0}}.eureka .eureka__layout-chooser .eureka__icon-radio-btns{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.eureka .eureka__layout-chooser .eureka__icon-radio-btns>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox]:checked+label svg[class^=icon],.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio]:checked+label svg[class^=icon]{fill:#3697cd;fill:var(--active,#3697cd)}.eureka .eureka__layout-chooser .eureka__icon-radio-btns label{font-size:22.4px;font-size:1.4rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka svg[class^=icon]{position:relative;width:1em;height:1em;fill:currentColor}@media screen and (min-width:641px){.eureka .eureka__hide-for-mobile-up{display:none}}@media screen and (max-width:640px){.eureka .eureka__show-for-mobile-up{display:none}}.eureka .eureka__drop-area{-webkit-box-flex:2;-ms-flex:2 8 auto;flex:2 8 auto;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.eureka .eureka__drop-area-zone{width:100%;padding:8px;padding:.5rem;border-width:2px;border-color:#ddd;border-color:var(--very-subtle,#ddd);border-style:dashed;border-radius:5px;background-color:transparent;-webkit-transition:border-color 240ms ease,background-color 320ms ease 120ms;transition:border-color 240ms ease,background-color 320ms ease 120ms;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none}@media screen and (min-height:360px){.eureka .eureka__drop-area-zone{display:-webkit-box;display:-ms-flexbox;display:flex}}.eureka .eureka__drop-area-zone svg{font-size:4em;fill:#ddd;fill:var(--very-subtle,#ddd);-webkit-transition:fill 240ms ease 160ms,opacity 240ms ease;transition:fill 240ms ease 160ms,opacity 240ms ease;opacity:.42;opacity:var(--very-subtle-icon-opacity,.42);max-height:100%}.eureka .eureka__drop-area-zone.eureka__drop-area-zone-active{background-color:#d9ecf6;border-color:#3697cd;border-color:var(--active,#3697cd);-webkit-transition:border-color 240ms ease 120ms,background-color 320ms ease 0;transition:border-color 240ms ease 120ms,background-color 320ms ease 0}.eureka .eureka__drop-area-zone.eureka__drop-area-zone-active svg{fill:#3697cd;fill:var(--active,#3697cd);opacity:1}.eureka .eureka__modal{z-index:100009;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__modal .eureka__modal-scrim{background:rgba(8,8,8,.25);z-index:0}.eureka .eureka__modal .eureka__modal-panel{min-width:30vw;max-width:70vw;max-height:70vh;position:relative;z-index:99999}.eureka .eureka__modal .eureka__modal-panel h1:first-child,.eureka .eureka__modal .eureka__modal-panel h2:first-child,.eureka .eureka__modal .eureka__modal-panel h3:first-child{margin-top:0}.eureka .eureka__modal .eureka__modal-panel summary label{display:block;margin-bottom:8px;margin-bottom:.5rem}.eureka .eureka__modal .eureka__modal-panel summary label[for=eureka__crop-upload-file]{margin-bottom:0}.eureka .eureka__modal .eureka__modal-panel input[type=text]{width:100%;font-size:1.4em}.eureka .eureka__modal .eureka__modal-panel .eureka__button-bar{margin-top:8px;margin-top:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__button-bar>*{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka .eureka__modal.eureka__greedy .eureka__modal-panel{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}@media screen and (max-width:640px){.eureka-root .eureka__sticky-bar{z-index:99999;position:-webkit-sticky;position:sticky;left:.5rem;right:.5rem;top:0}}.eureka-root .eureka__notification-wrapper{z-index:99999;margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper{margin-bottom:0}}.eureka-root .eureka__notification-wrapper button{display:inline;background:0 0;border:none;padding:0}.eureka-root .eureka__notification-wrapper button:focus,.eureka-root .eureka__notification-wrapper button:hover{background:0 0!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.eureka-root .eureka__notification-wrapper>*{display:block;margin-left:auto;margin-right:auto}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper>*{display:inline-block}}.eureka-root .eureka__choose-radio{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka-root .eureka__choose-radio{margin-bottom:0;-webkit-transform:translateY(.3em);transform:translateY(.3em);z-index:0}}.eureka-root .eureka__choose-radio fieldset{border:none}
\ No newline at end of file
diff --git a/client/build/assets/css/main.css b/client/build/assets/css/main.css
new file mode 100644
index 0000000..10114f3
--- /dev/null
+++ b/client/build/assets/css/main.css
@@ -0,0 +1,1843 @@
+.eureka {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
+
+.eureka *, .eureka *::after, .eureka *::before {
+ -webkit-box-sizing: inherit;
+ box-sizing: inherit; }
+
+.eureka.eureka__view-mode__thumb img, .eureka.eureka__view-mode__grid img, .eureka .eureka__media-source-selector select {
+ width: 100%; }
+
+.eureka th[aria-sort], .eureka select, .eureka button, .eureka .button, .eureka .eureka__upload-form label, .eureka .eureka__layout-chooser .eureka__icon-radio-btns label {
+ cursor: pointer; }
+
+.eureka .eureka__modal, .eureka .eureka__modal .eureka__modal-scrim {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0; }
+
+/*
+http://www.phase2technology.com/blog/exploring-maps-in-sass-3-3/
+*/
+.eureka input[aria-pressed="true"] + label, .eureka .eureka__crop-modal input[type="radio"]:checked + label, .eureka button[aria-pressed="true"] {
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4, inset 0 0.175em 0 #c5c5c5;
+ -webkit-box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, #c5c5c5);
+ box-shadow: 0 0 0 1px #E4E4E4, inset 0 0.175em 0 #c5c5c5;
+ box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, #c5c5c5); }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1), .visually-hidden, .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"], .eureka .eureka__layout-chooser legend, .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] {
+ /*https://developer.yahoo.com/blogs/ydn/clip-hidden-content-better-accessibility-53456.html*/
+ position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ /* IE6, IE7 */
+ clip: rect(1px, 1px, 1px, 1px);
+ padding: 0 !important;
+ border: 0 !important;
+ height: 1px !important;
+ width: 1px !important;
+ overflow: hidden; }
+ body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) a, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) a, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) a, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) a, body:hover .visually-hidden a, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] a, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] a, body:hover .eureka .eureka__layout-chooser legend a, .eureka .eureka__layout-chooser body:hover legend a, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] a, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] a, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] a, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] a, body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) input, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) input, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) input, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) input, body:hover .visually-hidden input, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] input, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] input, body:hover .eureka .eureka__layout-chooser legend input, .eureka .eureka__layout-chooser body:hover legend input, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] input, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] input, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] input, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] input, body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1) button, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) button, body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) button, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table > thead > tr > th:nth-of-type(1) button, body:hover .visually-hidden button, body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type="file"] button, .eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type="file"] button, body:hover .eureka .eureka__layout-chooser legend button, .eureka .eureka__layout-chooser body:hover legend button, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"] button, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="radio"] button, body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] button, .eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type="checkbox"] button {
+ display: none !important; }
+
+[class*="modal-section"], [class*="eureka-wrapper"] {
+ padding: 0; }
+ @media screen and (min-width: 641px) {
+ [class*="modal-section"], [class*="eureka-wrapper"] {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ overflow-y: hidden;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; } }
+
+.eureka-root {
+ /*.eureka {
+ tbody {
+ &:not(.empty) {
+ > tr:not(.empty) {
+ @supports (display:grid) {
+ grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions";
+ grid-template-columns: auto 24% 12% 12% 12%;
+ }
+ }
+ }
+ }
+ }*/ }
+ .eureka-root:-webkit-full-screen {
+ width: 100vw;
+ height: 100vh;
+ overflow-y: auto;
+ background: #ececec;
+ background: var(--bg-color, #ececec); }
+ .eureka-root label[for*="fullscreen-toggle"] {
+ margin-left: 8px;
+ margin-left: .5rem; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row, .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr.eureka__focused-media-item > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden] {
+ display: block !important; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr > td.eureka__td-media, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr > td.eureka__td-media {
+ text-align: center; } }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus > td.eureka__context-row[hidden] {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus-within > td.eureka__context-row, .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus-within > td.eureka__context-row {
+ display: block !important; }
+ .eureka-root .eureka__view-mode__table tbody:not(.empty) > tr:focus-within > td.eureka__context-row[hidden], .eureka-root .eureka__view-mode__list tbody:not(.empty) > tr:focus-within > td.eureka__context-row[hidden] {
+ display: block !important; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /*@supports (display: flex) and ( not (display:grid) ) {
+ }*/ }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > * {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ @supports (display: grid) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) {
+ display: grid; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td .eureka__td-media {
+ grid-area: media; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td .eureka__td-filename {
+ grid-area: name; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__context-row {
+ grid-area: actions; }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ grid-area: dimensions; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ display: none; } }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ grid-area: file-size; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ display: none; } }
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ grid-area: edited-on; }
+ @media screen and (max-width: 640px) {
+ .eureka-root tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ display: none; } } }
+ @supports (display: grid) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__choose {
+ grid-area: choose; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__td-media {
+ grid-area: media; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__td-filename {
+ grid-area: name; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__context-row {
+ grid-area: actions; }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ grid-area: dimensions; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__dimensions {
+ display: none; } }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ grid-area: file-size; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__file-size {
+ display: none; } }
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ grid-area: edited-on; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody:not(.empty) > tr:not(.empty) > td.eureka__edited-on {
+ display: none; } } }
+ @supports (display: grid) {
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table tbody:not(.empty) > tr:not(.empty), .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list tbody:not(.empty) > tr:not(.empty) {
+ grid-template-areas: "choose media name dimensions file-size edited-on" "actions actions actions actions actions actions";
+ grid-template-columns: 2rem auto 24% 12% 12% 12%; } } }
+
+.eureka .eureka__choose-radio {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__choose-radio fieldset {
+ margin: 0;
+ padding: 0; }
+ .eureka .eureka__choose-radio .eureka__fieldset {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__choose-radio .eureka__fieldset > * {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto; }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > thead > tr {
+ grid-template-columns: 2rem 16% 40% 8% auto auto !important;
+ grid-template-areas: "radio name media dimensions file-size edited-on" !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > thead > tr th:nth-of-type(3) {
+ text-align: left !important; }
+
+.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) {
+ grid-template-columns: 2rem 16% 40% 8% auto auto !important;
+ grid-template-areas: "radio name media dimensions file-size edited-on" !important; }
+ @supports (display: grid) {
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td {
+ /*&:nth-of-type(1) {
+ grid-area:media;
+ }
+ &:nth-of-type(2) {
+ grid-area:name;
+ }
+ &:nth-of-type(3) {
+ grid-area:actions;
+ }*/ }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td.eureka__td-filename {
+ text-align: left !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(4) {
+ grid-area: dimensions !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5) {
+ grid-area: file-size !important; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6) {
+ grid-area: edited-on !important; } }
+
+.eureka-root {
+ padding: 8px;
+ padding: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka table > thead {
+ position: absolute !important;
+ clip: rect(1px 1px 1px 1px);
+ /* IE6, IE7 */
+ clip: rect(1px, 1px, 1px, 1px);
+ padding: 0 !important;
+ border: 0 !important;
+ height: 1px !important;
+ width: 1px !important;
+ overflow: hidden; }
+ body:hover .eureka-root .eureka table > thead a, body:hover .eureka-root .eureka table > thead input, body:hover .eureka-root .eureka table > thead button {
+ display: none !important; } }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka tbody > tr > td:not(.eureka__context-row) {
+ padding-right: .5rem; } }
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "choose choose choose choose choose choose" "media media media media media media" "name name name name name name" "actions actions actions actions actions actions"; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "choose media name dimensions file-size edited-on";
+ grid-template-columns: 2rem auto 24% 12% 12% 12%; } }
+ .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table > tbody > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table > thead > tr, .eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table > tbody > tr {
+ grid-template-areas: "choose choose choose choose choose choose" "media media media media media media"; }
+ .eureka-root .eureka.eureka__view-mode__table table, .eureka-root .eureka.eureka__view-mode__list table {
+ /*> thead > tr {
+ grid-template-areas:"media name dimensions file-size edited-on";
+ }*/ }
+ .eureka-root .eureka.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ display: grid;
+ grid-gap: 0; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table table > thead > tr, .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > thead > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on";
+ grid-template-columns: 40% 24% 12% 12% 12%; } }
+ .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media media media media media" "name name name name name" "actions actions actions actions actions"; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table table > tbody > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on" "actions actions actions actions actions"; } }
+ .eureka-root .eureka.eureka__view-mode__table table > tbody.empty > tr, .eureka-root .eureka.eureka__view-mode__list table > tbody.empty > tr {
+ display: block; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"], .eureka-root .eureka.eureka__view-mode__list.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"] {
+ padding: 0.5em;
+ margin-right: 16px;
+ margin-right: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr, .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr, .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) {
+ grid-template-areas: "radio media name dimensions file-size edited-on";
+ grid-template-columns: 2rem 40% 24% auto auto auto; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(1) {
+ grid-area: radio; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(2), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(2) {
+ grid-area: media;
+ text-align: left; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(3), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(3) {
+ grid-area: name; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(5), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(5) {
+ grid-area: dimensions; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(6), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(6) {
+ grid-area: file-size; }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > td:nth-of-type(7), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > tbody:not(.empty) > tr:not(.empty) > th:nth-of-type(7) {
+ grid-area: edited-on; } }
+ .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table > thead > tr > th:nth-of-type(1), .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table > thead > tr > th:nth-of-type(1) {
+ grid-area: none; }
+ .eureka-root .eureka.eureka__view-mode__list table > thead > tr td:first-child, .eureka-root .eureka.eureka__view-mode__list table > thead > tr th:first-child, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr td:first-child, .eureka-root .eureka.eureka__view-mode__list table > tbody > tr th:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "name name name name name" "actions actions actions actions actions";
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr > td.eureka__choose {
+ text-align: center; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka.eureka__view-mode__list table > tbody > tr {
+ grid-template-areas: "media name dimensions file-size edited-on" "actions actions actions actions actions"; } }
+
+.eureka-root .eureka__table img, .eureka-root .eureka__table embed, .eureka-root .eureka__table object, .eureka-root .eureka__table video {
+ -o-object-fit: contain;
+ object-fit: contain; }
+
+@media screen and (min-width: 641px) {
+ .eureka-root {
+ /*display:grid;
+ grid-gap:0;
+ grid-template-columns:20vw auto;
+ grid-template-areas:"header header" "sidebar content" "footer footer";*/
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .eureka-root .eureka {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1; }
+ .eureka-root .eureka > .eureka__browse-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%; }
+ .eureka-root .eureka.eureka__view-mode__table {
+ /*@supports (display: grid) {
+ }*/ }
+ .eureka-root .eureka > .eureka__browse-content {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 14rem;
+ flex: 0 0 14rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ margin-right: .5rem; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser[hidden], .eureka-root .eureka > .eureka__browse-content > .eureka__pathbrowser[aria-hidden="true"] {
+ display: none; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 1 100%;
+ flex: 1 1 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header {
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ min-width: 0;
+ min-height: 0;
+ -ms-flex-wrap: nowrap;
+ flex-wrap: nowrap;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: .5rem; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header > h2 {
+ margin-bottom: 0;
+ margin-right: auto; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__stage__filter-view > header > h2 form {
+ float: right; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ height: auto;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ padding: 0 .5rem .5rem 0; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper > div {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-height: 100%;
+ height: 100%;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ max-width: 100%; }
+ .eureka-root .eureka > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper > div > table {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-height: 100%;
+ height: 100%;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ max-width: 100%; }
+ .eureka-root .eureka > .eureka__choose-bar {
+ -webkit-box-flex: 0;
+ -ms-flex: 0 0 auto;
+ flex: 0 0 auto;
+ margin-top: .5rem; } }
+
+.eureka-root .eureka.eureka__view-mode__masonry > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka-root .eureka.eureka__view-mode__masonry > .eureka__browse-content > .eureka__stage > .eureka__table-wrapper {
+ padding-right: .5rem; } }
+
+@media screen and (max-width: 640px) {
+ .eureka-root .eureka > .eureka__choose-bar > * {
+ margin-right: .5rem; }
+ .eureka-root .eureka > .eureka__choose-bar > *:last-child {
+ margin-right: 0; } }
+
+.eureka-root thead {
+ -ms-flex-preferred-size: auto;
+ flex-basis: auto;
+ display: block;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ -webkit-box-flex: 0;
+ -ms-flex-positive: 0;
+ flex-grow: 0; }
+ .eureka-root thead.eureka__tbody-scrolling {
+ padding-right: 16px; }
+ .eureka-root thead[hidden] {
+ display: none; }
+ .eureka-root thead > tr {
+ display: block;
+ width: 100%;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /*@supports (display: flex) and ( not (display: grid) ) {
+ }*/ }
+ .eureka-root thead > tr > th {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka-root thead > tr > th.eureka__choose {
+ grid-area: choose; }
+ .eureka-root thead > tr > th.eureka__th-media {
+ grid-area: media; }
+ .eureka-root thead > tr > th.eureka__th-filename {
+ grid-area: name; }
+ .eureka-root thead > tr > th.eureka__th-actions {
+ grid-area: none; }
+ .eureka-root thead > tr > th.eureka__th-dimensions {
+ grid-area: dimensions; }
+ .eureka-root thead > tr > th.eureka__th-file-size {
+ grid-area: file-size; }
+ .eureka-root thead > tr > th.eureka__th-edited-on {
+ grid-area: edited-on; }
+
+.eureka-root tbody.empty {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka-root tbody.empty > tr {
+ text-align: center;
+ display: block; }
+ .eureka-root tbody.empty > tr td {
+ margin: 0 auto;
+ display: inline-block; }
+
+.eureka-root tbody {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ text-align: center;
+ display: block;
+ -ms-flex-wrap: no-wrap;
+ flex-wrap: no-wrap;
+ overflow-y: auto;
+ -webkit-box-align: stretch;
+ -ms-flex-align: stretch;
+ align-items: stretch;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: row;
+ flex-direction: row;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1;
+ max-width: 100%;
+ -webkit-overflow-scrolling: touch; }
+
+.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__th-media, .eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__td-media {
+ padding-left: 16px;
+ padding-left: 1rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka__media-directory-selector form {
+ display: inline-block; }
+ .eureka__media-directory-selector > div {
+ display: inline-block;
+ margin-left: .5em; } }
+
+.eureka__sort-select select {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka__sort-select {
+ margin-left: auto;
+ margin-right: auto; }
+ .eureka__sort-select label {
+ margin-right: .5rem; }
+ .eureka__sort-select select {
+ margin-right: 1rem;
+ margin-bottom: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka__tree-toggle {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ padding-bottom: .5rem; }
+ .eureka__tree-toggle > *:first-child {
+ margin-right: auto; }
+ .eureka__tree-toggle .eureka__upload-form {
+ margin-right: auto; } }
+ @media screen and (min-width: 641px) and (min-width: 641px) {
+ .eureka__tree-toggle .eureka__upload-form form {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .eureka__tree-toggle .eureka__upload-form label[for*="upload-form"] {
+ padding-top: 0;
+ padding-bottom: 0;
+ line-height: 2.2; } }
+
+@media screen and (min-width: 641px) {
+ .eureka__server-side .eureka__tree-toggle .eureka__upload-form {
+ margin-right: 0; } }
+
+.eureka.eureka__view-mode__table {
+ /*@include media($gtMobile) {
+ }*/ }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__table .eureka__table img {
+ max-height: 20vh; } }
+ .eureka.eureka__view-mode__table .eureka__table thead th:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table thead th:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:first-child {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+ .eureka.eureka__view-mode__table .eureka__table tr td, .eureka.eureka__view-mode__table .eureka__table tr th {
+ text-align: center; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__table .eureka__table tr td, .eureka.eureka__view-mode__table .eureka__table tr th {
+ text-align: right; }
+ .eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media, .eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media {
+ text-align: left; } }
+ .eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media, .eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media {
+ text-align: left; }
+ .eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table img {
+ max-height: 20vh; }
+ .eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table tr:focus img {
+ max-height: 30vh; }
+
+.eureka.eureka__view-mode__thumb .eureka__table thead, .eureka.eureka__view-mode__grid .eureka__table thead, .eureka.eureka__view-mode__masonry .eureka__table thead {
+ display: none !important; }
+
+.eureka.eureka__view-mode__thumb .eureka__table td:not(.eureka__td-media):not(.eureka__choose), .eureka.eureka__view-mode__grid .eureka__table td:not(.eureka__td-media):not(.eureka__choose), .eureka.eureka__view-mode__masonry .eureka__table td:not(.eureka__td-media):not(.eureka__choose) {
+ display: none; }
+
+.eureka.eureka__view-mode__thumb .eureka__table td[colspan], .eureka.eureka__view-mode__grid .eureka__table td[colspan], .eureka.eureka__view-mode__masonry .eureka__table td[colspan] {
+ display: block; }
+
+.eureka.eureka__view-mode__thumb .eureka__table tbody, .eureka.eureka__view-mode__grid .eureka__table tbody, .eureka.eureka__view-mode__masonry .eureka__table tbody {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody, .eureka.eureka__view-mode__grid .eureka__table tbody, .eureka.eureka__view-mode__masonry .eureka__table tbody {
+ display: -webkit-box !important;
+ display: -ms-flexbox !important;
+ display: flex !important; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ margin: 0 8px 8px 0;
+ margin: 0 .5rem .5rem 0;
+ -ms-flex-preferred-size: 42vw;
+ flex-basis: 42vw;
+ width: 100%; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ display: inline-block; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex] td, .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] td, .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] td {
+ display: block; }
+ @media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ -ms-flex-preferred-size: 16vw;
+ flex-basis: 16vw; } }
+ .eureka.eureka__view-mode__thumb .eureka__table tbody .eureka__context-row, .eureka.eureka__view-mode__grid .eureka__table tbody .eureka__context-row, .eureka.eureka__view-mode__masonry .eureka__table tbody .eureka__context-row {
+ display: none; }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__thumb .eureka__table tbody {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ margin-bottom: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex], .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ -ms-flex-preferred-size: 25vw;
+ flex-basis: 25vw; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] > td:not(.eureka__context-row), .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] > td:not(.eureka__context-row) {
+ padding-right: 0; } }
+
+@media screen and (min-width: 641px) {
+ .eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] {
+ max-width: 20%;
+ margin: 0;
+ padding: 0 .25rem; } }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__tree {
+ -ms-flex-preferred-size: 0;
+ flex-basis: 0;
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; } }
+
+.eureka.eureka__view-mode__table .eureka__context-row {
+ margin-top: 8px;
+ margin-top: .5rem; }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__context-row {
+ margin-top: 0;
+ width: 100%;
+ display: block;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-ordinal-group: 11;
+ -ms-flex-order: 10;
+ order: 10;
+ width: 100%;
+ /*> td[colspan] {
+ }*/ }
+ .eureka .eureka__context-row[hidden] {
+ display: none !important; }
+ .eureka .eureka__context-row .eureka__context-buttons {
+ width: 100%; } }
+
+.eureka .eureka__tree-bar {
+ text-align: center; }
+
+.eureka.eureka__view-mode__grid .eureka__td-media, .eureka.eureka__view-mode__masonry .eureka__td-media {
+ margin: 0 auto;
+ display: inline-block; }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead th:first-child {
+ display: none; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead th:nth-of-type(2) {
+ text-align: left;
+ padding-left: .5rem; } }
+
+.eureka.eureka__view-mode__list .eureka__table thead th:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+
+.eureka.eureka__view-mode__list .eureka__table thead td, .eureka.eureka__view-mode__list .eureka__table thead th, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th {
+ text-align: right; }
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ text-align: left; }
+ @supports (display: grid) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ display: block; } }
+ @media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media {
+ display: none; } }
+ @media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-filename, .eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-filename {
+ text-align: center;
+ padding-top: .5rem;
+ padding-bottom: .5rem; } }
+
+@media screen and (max-width: 640px) {
+ .eureka.eureka__view-mode__list .eureka__table tbody {
+ line-height: 2; } }
+
+.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media img, .eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media video, .eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media embed {
+ max-width: 10vh;
+ max-height: 10vh; }
+
+.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] {
+ padding-top: 0;
+ padding-bottom: 0; }
+ .eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] > td:nth-of-type(2) {
+ padding-left: 8px;
+ padding-left: .5rem; }
+ .eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu] > td:last-child {
+ padding-right: 8px;
+ padding-right: .5rem; }
+
+@media screen and (max-width: 640px) {
+ .eureka .eureka__crop-btn {
+ display: none; } }
+
+.eureka .flex-bar fieldset {
+ margin: 0;
+ padding: 0; }
+ .eureka .flex-bar fieldset label {
+ margin-bottom: 0; }
+
+.eureka .eureka__invert-horz {
+ -webkit-transform: scaleX(-1);
+ transform: scaleX(-1); }
+
+.eureka .eureka__td-media {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+@media screen and (min-width: 641px) {
+ .eureka .eureka__show-for-mobile-up p, .eureka .eureka__show-for-mobile-up textarea {
+ max-height: 3em;
+ overflow-y: auto;
+ display: block;
+ width: 100%; } }
+
+.eureka .eureka__pathbar textarea {
+ resize: none; }
+
+.eureka label[for="eureka__crop_show-adv-controls"] {
+ position: absolute;
+ top: .75em;
+ right: 1em; }
+
+.eureka .eureka__crop-modal .icon-bar {
+ margin-top: 1em;
+ font-size: 16px;
+ font-size: 1rem; }
+ .eureka .eureka__crop-modal .icon-bar label[for="eureka__crop-drag-mode-move"] {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar button, .eureka .eureka__crop-modal .icon-bar .button {
+ border-radius: 0; }
+ .eureka .eureka__crop-modal .icon-bar button:first-child, .eureka .eureka__crop-modal .icon-bar .button:first-child {
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar button:last-child, .eureka .eureka__crop-modal .icon-bar .button:last-child {
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px; }
+ .eureka .eureka__crop-modal .icon-bar.flex-bar > * {
+ margin-right: 0; }
+ .eureka .eureka__crop-modal .icon-bar button {
+ font-size: 16px;
+ font-size: 1rem; }
+
+.eureka .eureka__crop-modal .wrappable.flex-bar {
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ margin-bottom: 32px;
+ margin-bottom: 2rem; }
+ .eureka .eureka__crop-modal .wrappable.flex-bar > * {
+ padding-left: 16px;
+ padding-left: 1rem;
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .eureka__crop-modal .wrappable.flex-bar summary {
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+
+.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box {
+ margin-top: 16px;
+ margin-top: 1rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label {
+ margin-bottom: 0; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label[for="eureka__crop-aspect-ratio"] {
+ line-height: 2; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[type="number"] {
+ width: 5em; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[id*="eureka__crop-scale"] {
+ width: 4em; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box summary {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ -webkit-box-pack: justify;
+ -ms-flex-pack: justify;
+ justify-content: space-between; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div > *, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div > * {
+ margin-right: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > div:last-child, .eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box > details > div:last-child {
+ margin-right: 0; } }
+
+.eureka [hidden] {
+ display: none !important; }
+
+.eureka .eureka__crop-save-as-checkbox {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+.eureka .eureka__crop-as {
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .eureka__crop-as input[type="text"] {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; }
+
+.eureka label[for="eureka__crop-save-as-name"] {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+
+.eureka label[for="eureka__crop-aspect-ratio-remember"] {
+ line-height: 2; }
+
+.eureka label[for="eureka__crop-rotate"] + input[type="range"] {
+ min-width: 14em; }
+
+.eureka .eureka__choose-multile > label {
+ display: block;
+ height: 100%; }
+
+.dangerous {
+ color: red;
+ color: var(--dangerous, red); }
+
+input:not([type="checkbox"]):not([type="radio"]):focus {
+ outline: 1px solid #3697cd;
+ outline: 1px solid var(--active, #3697cd); }
+
+tr[tabindex]:focus, tr.eureka__context-row:focus, [role="listbox"]:focus {
+ outline: 1px solid #3697cd;
+ outline: 1px solid var(--active, #3697cd); }
+
+summary:focus {
+ outline: none;
+ font-weight: bold;
+ color: #3697cd;
+ color: var(--active, #3697cd); }
+
+.eureka .eureka__tree-bar, .flex-bar, .eureka .eureka__button-bar {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; }
+ .eureka .wrappable.eureka__tree-bar, .wrappable.flex-bar, .eureka .wrappable.eureka__button-bar {
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap; }
+ .eureka .wrappable.eureka__tree-bar > *, .wrappable.flex-bar > *, .eureka .wrappable.eureka__button-bar > * {
+ padding-left: 16px;
+ padding-left: 1rem;
+ padding-right: 16px;
+ padding-right: 1rem; }
+ .eureka .balanced.eureka__tree-bar, .balanced.flex-bar, .eureka .balanced.eureka__button-bar {
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka .eureka__tree-bar > *, .flex-bar > *, .eureka .eureka__button-bar > * {
+ margin-right: 8px;
+ margin-right: .5rem; }
+ .eureka .eureka__tree-bar > *.growable, .flex-bar > *.growable, .eureka .eureka__button-bar > *.growable {
+ -webkit-box-flex: 1;
+ -ms-flex-positive: 1;
+ flex-grow: 1; }
+ .eureka .eureka__tree-bar > *:last-child, .flex-bar > *:last-child, .eureka .eureka__button-bar > *:last-child {
+ margin-right: 0; }
+
+[role="dialog"] .flex-bar {
+ margin-top: 8px;
+ margin-top: .5rem; }
+
+.eureka .eureka__button-bar, .eureka .eureka__notice {
+ text-align: center; }
+
+a[role="presentation"] {
+ color: currentColor !important;
+ text-decoration: none !important; }
+
+@-webkit-keyframes spinner {
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+@keyframes spinner {
+ to {
+ -webkit-transform: rotate(360deg);
+ transform: rotate(360deg); } }
+
+.icon-circle-o-notch {
+ -webkit-animation: spinner 1s linear infinite;
+ animation: spinner 1s linear infinite; }
+
+.eureka__table tr[tabindex].eureka__focused-media-item .eureka__td-filename {
+ font-weight: bold; }
+
+.eureka__table tr[tabindex]:target .eureka__td-media > * {
+ outline: 3px solid #32AB9A; }
+
+.eureka__table tr[tabindex]:target .eureka__td-filename {
+ font-weight: bold; }
+
+/* start leave out */
+/*body {
+ background:$gray;
+ font: normal .8125em/1.375em "Helvetica Neue", Helvetica, Arial, Tahoma, sans-serif;
+ //font-family: "Helvetica Neue", Helvetica, Arial, Tahoma, sans-serif;
+ color:$color;
+ margin:0;
+ padding:0.5rem;
+}*/
+/* end leave out */
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__context-buttons {
+ border: 1px solid #dddddd;
+ border: var(--border-width, 1px) var(--border-style, solid) var(--panel-border-color, #dddddd); }
+
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__table td.comfortable {
+ padding: 16px;
+ padding: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel, .eureka-root .eureka__notification-wrapper > *, .eureka .eureka__table td.comfortable {
+ padding: .5rem; } }
+
+.eureka .eureka__stage, .eureka *[class^="alert"], .eureka .eureka__pathbrowser, .eureka .eureka__pathbar, .eureka .eureka__modal .eureka__modal-panel {
+ border-radius: 0.25rem;
+ background: white;
+ background: var(--light-bg, white); }
+
+.eureka-root .eureka__notification-wrapper > * {
+ border-radius: 0.25rem;
+ padding-left: 1.5em;
+ padding-right: 1.5em;
+ background: #d9edf7;
+ background: var(--notification-background, #d9edf7);
+ color: #1D6E95;
+ color: var(--notification-color, #1D6E95);
+ border: 1px solid #309dd4;
+ border: 1px solid var(--notification-border-color, var(--notification-color, #309dd4)); }
+ .eureka-root .eureka__notification-wrapper > * a {
+ color: currentColor; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper > * br {
+ display: none; } }
+ .eureka-root .eureka__notification-wrapper > * button {
+ position: absolute;
+ top: 4px;
+ top: .25rem;
+ right: 4px;
+ right: .25rem;
+ color: currentColor;
+ -webkit-transition: color 240ms ease;
+ transition: color 240ms ease;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .eureka-root .eureka__notification-wrapper > * button:focus, .eureka-root .eureka__notification-wrapper > * button:hover {
+ color: #247fad !important;
+ color: var(--notification-focus-color, #247fad) !important;
+ border: none;
+ -webkit-box-shadow: none;
+ box-shadow: none; }
+ .eureka-root .eureka__notification-wrapper > * button:focus svg, .eureka-root .eureka__notification-wrapper > * button:hover svg {
+ fill: currentColor !important; }
+ .eureka-root .eureka__notification-wrapper > .eureka__dangerous {
+ --notification-background: #f7a2a2;
+ --notification-color: #911912;
+ --notification-border-color: #911912;
+ --notification-focus-color: #911912; }
+
+.eureka {
+ /* styling of blink/webkit marker */
+ /* styling of fierfox marker */
+ /*&.eureka__view-mode__table, &.eureka__view-mode__list {
+ .eureka__pathbar {
+ .eureka__context-buttons {
+ display:none;
+ }
+ }
+ }*/
+ /*&.eureka__view-mode__thumb {
+
+ }
+
+ &.eureka__view-mode__grid {
+
+ }
+
+ &.eureka__view-mode__list {
+
+ }*/
+ /*.eureka__tree-toggle {
+ //margin-bottom:1rem;
+ @include media($gtMobile) {
+ //margin-bottom:0;
+ button {
+ //@include button-reset;
+ }
+ }
+ }*/
+ /*#eureka__tree-toggle__button {
+ position:relative;
+ svg {
+ position:absolute;
+ top:0;
+ bottom:0;
+ }
+ }*/ }
+ .eureka .eureka__notification-wrapper {
+ -webkit-transition: top 240ms ease 90ms, opacity 240ms ease;
+ transition: top 240ms ease 90ms, opacity 240ms ease;
+ opacity: 1;
+ top: 0;
+ text-align: center; }
+ .eureka .eureka__notification-wrapper > * {
+ position: relative; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__notification-wrapper {
+ -webkit-transition: opacity 240ms ease;
+ transition: opacity 240ms ease;
+ left: 0;
+ right: 0; } }
+ .eureka .eureka__notification-wrapper[aria-hidden="true"] {
+ opacity: 0;
+ top: -5em;
+ display: block;
+ -webkit-transition: opacity 340ms ease-out 90ms, top 420ms ease-out;
+ transition: opacity 340ms ease-out 90ms, top 420ms ease-out; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__notification-wrapper {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: .25rem; } }
+ .eureka .eureka__notification-wrapper p {
+ margin: 0; }
+ .eureka .eureka__notification-wrapper .icon {
+ -webkit-transform: translateY(0.125em);
+ transform: translateY(0.125em); }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label {
+ cursor: default;
+ position: relative;
+ padding-left: 1.5em; }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label .spinner {
+ position: absolute;
+ top: 0;
+ left: .275em;
+ bottom: 0;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label:hover {
+ background: white;
+ background: var(--button-bg, white);
+ color: #555555;
+ color: var(--button-color, #555555); }
+ .eureka .eureka__upload-form input[name*="uploadFiles"]:disabled + label:hover svg {
+ fill: currentColor; }
+ .eureka a {
+ color: #3697cd;
+ color: var(--link-color, #3697cd); }
+ .eureka h1, .eureka h2, .eureka h3, .eureka h4, .eureka h5, .eureka h6 {
+ font-weight: normal; }
+ .eureka h1, .eureka h2, .eureka h3, .eureka h4, .eureka h5, .eureka h6, .eureka thead {
+ color: #555555;
+ color: var(--subtle, #555555); }
+ .eureka select {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em;
+ padding-right: 1.5em;
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ appearance: none;
+ background-image: url("data:image/svg+xml;utf8, ");
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-scale: 70% 70%;
+ background-position: right .5em;
+ /*&:hover {
+ background: transparent;
+ //background-image: url('../img/select-arrow.svg');
+ background-size: contain;
+ background-repeat: no-repeat;
+ background-scale: 70% 70%;
+ background-position: right .5em;
+ color: currentColor;
+ //--border-color: var(--active, $active);
+ }*/ }
+ @media screen and (max-width: 640px) {
+ .eureka select {
+ width: 100%;
+ margin-top: .5em; } }
+ .eureka select:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+
+@-moz-document url-prefix() {
+ .eureka select {
+ background-image: url("../img/select-arrow.svg"); } }
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ margin-bottom: 16px;
+ margin-bottom: 1rem;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4, 0 0.25em 0 #c5c5c5;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4), 0 0.25em 0 var(--border-color, #c5c5c5);
+ box-shadow: 0 0 0 1px #E4E4E4, 0 0.25em 0 #c5c5c5;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4), 0 0.25em 0 var(--border-color, #c5c5c5);
+ /*&[aria-pressed="true"] {
+ box-shadow: 0 0 0 1px var(--border-shadow-color, #E4E4E4), inset 0 0.175em 0 var(--border-shadow-color, darken(#E4E4E4, 12%));
+ }*/ }
+ .eureka button[id^="eureka__tree-toggle__button"]:focus {
+ --button-color: #3697cd;
+ --button-color: var(--active, #3697cd); }
+ @media screen and (max-width: 640px) {
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ width: 100%;
+ min-height: 1.75rem; } }
+ @media screen and (min-width: 641px) {
+ .eureka button[id^="eureka__tree-toggle__button"] {
+ margin-bottom: 0; } }
+ .eureka *:disabled {
+ cursor: not-allowed; }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > *:last-child {
+ background-color: #32AB9A;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#32AB9A), to(#00948E));
+ background-image: linear-gradient(#32AB9A, #00948E);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: white; }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :hover:last-child, .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :focus:last-child {
+ --border-color: #007571;
+ background-color: #2b9385;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#2b9385), to(#007571));
+ background-image: linear-gradient(#2b9385, #007571);
+ color: white;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4); }
+ .eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden="true"]) > :disabled:last-child {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka a.button {
+ text-decoration: none; }
+ .eureka button, .eureka .button {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em; }
+ .eureka button:focus, .eureka .button:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka button:hover, .eureka .button:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka button:hover svg, .eureka .button:hover svg {
+ fill: white; }
+ .eureka button.eureka__primary, .eureka .button.eureka__primary {
+ background-color: #32AB9A;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#32AB9A), to(#00948E));
+ background-image: linear-gradient(#32AB9A, #00948E);
+ -webkit-box-shadow: none;
+ box-shadow: none;
+ color: white; }
+ .eureka button.eureka__primary:hover, .eureka button.eureka__primary:focus, .eureka .button.eureka__primary:hover, .eureka .button.eureka__primary:focus {
+ --border-color: #007571;
+ background-color: #2b9385;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#2b9385), to(#007571));
+ background-image: linear-gradient(#2b9385, #007571);
+ color: white;
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4); }
+ .eureka button.eureka__primary:disabled, .eureka .button.eureka__primary:disabled {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka button.dangerous:hover, .eureka button.dangerous:active, .eureka button.dangerous:focus, .eureka button.dangerous:target, .eureka .button.dangerous:hover, .eureka .button.dangerous:active, .eureka .button.dangerous:focus, .eureka .button.dangerous:target {
+ --border-color: #b80000;
+ --border-color: var(--border-color-dangerous, #b80000);
+ background-color: red;
+ color: white;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(red), to(#cc0000));
+ background-image: linear-gradient(red, #cc0000); }
+ .eureka [aria-hidden="true"] button.eureka__primary, .eureka [aria-hidden="true"] .button.eureka__primary {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em; }
+ .eureka [aria-hidden="true"] button.eureka__primary:focus, .eureka [aria-hidden="true"] .button.eureka__primary:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka [aria-hidden="true"] button.eureka__primary:hover, .eureka [aria-hidden="true"] .button.eureka__primary:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka [aria-hidden="true"] button.eureka__primary:hover svg, .eureka [aria-hidden="true"] .button.eureka__primary:hover svg {
+ fill: white; }
+ .eureka input[type="text"] {
+ padding-left: 8px;
+ padding-left: 0.5rem;
+ padding-right: 8px;
+ padding-right: 0.5rem; }
+ .eureka input[type="text"] {
+ border-width: 1px;
+ border-width: var(--border-width, 1px);
+ border-style: solid;
+ border-style: var(--border-style, solid);
+ border-color: #E4E4E4;
+ border-color: var(--border-color, #E4E4E4); }
+ .eureka fieldset {
+ border: none; }
+ @media screen and (max-width: 640px) {
+ .eureka fieldset {
+ border-width: 1px;
+ border-width: var(--border-width, 1px);
+ border-style: solid;
+ border-style: var(--border-style, solid);
+ border-color: #E4E4E4;
+ border-color: var(--border-color, #E4E4E4);
+ border-radius: 0.25rem;
+ border-radius: var(--border-color, 0.25rem); } }
+ .eureka .active {
+ font-weight: bold; }
+ .eureka details details {
+ padding-left: .5em; }
+ .eureka menu {
+ display: none; }
+ .eureka img {
+ max-width: 100%; }
+ .eureka .alert-info {
+ background-color: #d9edf7;
+ background-color: var(--light-bg, #d9edf7);
+ border-color: #bce8f1;
+ border-color: var(--border-color, #bce8f1);
+ color: #31708f;
+ color: var(--subtle, #31708f); }
+ .eureka .alert-success {
+ background-color: #dff0d8;
+ border-color: #d6e9c6;
+ color: #3c763d; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__button-bar > * {
+ margin-right: 0; } }
+ .eureka .eureka__tree {
+ margin-bottom: 16px;
+ margin-bottom: 1rem;
+ line-height: 1.6;
+ line-height: var(--tree-line-height, 1.6); }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__tree {
+ margin-bottom: .5rem; } }
+ @media (pointer: coarse) {
+ .eureka .eureka__tree {
+ font-size: 1.4em;
+ line-height: 1.8;
+ line-height: var(--tree-course-line-height, 1.8); } }
+ .eureka .eureka__context-buttons {
+ -ms-flex-pack: distribute;
+ justify-content: space-around;
+ background: #f7f7f7;
+ background: var(--button-bg, #f7f7f7);
+ border-left: 0;
+ border-right: 0;
+ padding: 8px 0;
+ padding: .5rem 0; }
+ .eureka .eureka__context-buttons > a.button, .eureka .eureka__context-buttons button {
+ font-size: 11px;
+ font-size: .6875rem; }
+ .eureka.eureka__view-mode__list .eureka__context-buttons {
+ padding-top: 5.6px;
+ padding-top: .35rem;
+ padding-bottom: 5.6px;
+ padding-bottom: .35rem; }
+ .eureka.eureka__view-mode__list .eureka__context-buttons > a.button, .eureka.eureka__view-mode__list .eureka__context-buttons button {
+ font-size: 9.6px;
+ font-size: .6rem; }
+ .eureka .eureka__table {
+ min-width: 100%; }
+ .eureka .eureka__table tr[contextmenu] {
+ padding-bottom: 8px;
+ padding-bottom: .5rem;
+ /*&:first-child {
+ padding-top:0;
+ }*/ }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__table tr[contextmenu] {
+ padding-top: .5rem; } }
+ .eureka .eureka__table tr[contextmenu].eureka__focused-media-item:last-child {
+ padding-bottom: 0; }
+ .eureka .eureka__table td.comfortable p[class^="alert"] {
+ margin: 0; }
+ .eureka .eureka__td-media {
+ background: transparent;
+ background: var(--media-cell-background, transparent); }
+ .eureka .eureka__stage {
+ padding: 0;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage {
+ margin-bottom: 0; } }
+ .eureka .eureka__stage h1:first-child, .eureka .eureka__stage h2:first-child, .eureka .eureka__stage h3:first-child {
+ margin-top: 0; }
+ .eureka .eureka__stage__filter-view {
+ padding: 8px;
+ padding: .5rem; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__stage__filter-view {
+ padding-bottom: 0; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ line-height: 2;
+ font-size: 16px;
+ font-size: 1rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ font-size: 0.8rem;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ max-width: 22em; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar label {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__stage__filter-view .eureka__search-bar {
+ margin-bottom: 0; } }
+ .eureka .eureka__stage__filter-view .eureka__search-bar input {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto;
+ font-size: inherit; }
+ .eureka .eureka__media-directory-selector {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__media-directory-selector {
+ margin-right: auto;
+ margin-bottom: 0.5rem; } }
+ .eureka .eureka__media-directory-selector button[type="submit"] {
+ margin-left: 16px;
+ margin-left: 1rem; }
+ .eureka .eureka__media-directory-selector form {
+ position: relative;
+ /*&::after {
+ display:inline-block;
+ width:1em;
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ background:red;
+ content:'.';
+ }*/ }
+ .eureka .eureka__tree-bar {
+ margin: 8px 0 0 0;
+ margin: .5rem 0 0 0; }
+ .eureka .eureka__tree-bar > * {
+ margin: 0 8px 0 0;
+ margin: 0 .5rem 0 0; }
+ .eureka .eureka__tree-bar > *:last-child {
+ margin-right: 0; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__tree-bar {
+ margin-top: 1rem; } }
+ .eureka .eureka__tree-bar button, .eureka .eureka__tree-bar .button {
+ font-size: 16px;
+ font-size: 1rem;
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka .eureka__media-source-selector {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ .eureka .eureka__media-source-selector h2:first-child, .eureka .eureka__media-source-selector h3:first-child {
+ margin-top: 0; }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__upload-form {
+ margin-bottom: 1rem; } }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__upload-form label {
+ display: block; } }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label {
+ background: white;
+ background: var(--button-bg, white);
+ -webkit-box-shadow: 0 0 0 1px #E4E4E4;
+ -webkit-box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ box-shadow: 0 0 0 1px #E4E4E4;
+ box-shadow: 0 0 0 1px var(--border-color, #E4E4E4);
+ color: #555555;
+ color: var(--button-color, #555555);
+ border: 0;
+ border-radius: 3px;
+ padding: .5em .5em;
+ font-size: 11px;
+ font-size: .6875rem;
+ text-align: center; }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:focus {
+ outline: none;
+ --border-color: #3697cd;
+ --border-color: var(--active, #3697cd);
+ --border-shadow-color: #3697cd;
+ --border-shadow-color: var(--active, #3697cd); }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:hover {
+ background: #3697cd;
+ color: white;
+ --border-color: #297aa7;
+ --border-color: var(--active-darker, #297aa7);
+ --border-shadow-color: #297aa7;
+ --border-shadow-color: var(--active-darker, #297aa7); }
+ .eureka:not(.eureka__server-side) .eureka__upload-form label:hover svg {
+ fill: white; }
+ .eureka .eureka__choose-bar {
+ -webkit-box-pack: end;
+ -ms-flex-pack: end;
+ justify-content: flex-end;
+ /*@include media($gtMobile) {
+ justify-content:flex-end;
+ }*/ }
+ .eureka .eureka__choose-bar[aria-hidden="true"] {
+ -webkit-filter: grayscale(100%);
+ filter: grayscale(100%); }
+ .eureka .eureka__choose-bar button {
+ font-size: 16px;
+ font-size: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__choose-bar button {
+ font-size: .8rem; } }
+ .eureka .eureka__pathbrowser {
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__pathbrowser {
+ margin-bottom: 0; } }
+ .eureka .eureka__pathbrowser nav {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ .eureka .eureka__pathbrowser details > summary svg {
+ -webkit-transform: translateY(0.2em);
+ transform: translateY(0.2em);
+ margin-right: 0.25em; }
+ .eureka .eureka__pathbrowser details > summary > .icon-folder-open {
+ display: none; }
+ .eureka .eureka__pathbrowser details[open] > summary > .icon-folder-open {
+ display: inline-block; }
+ .eureka .eureka__pathbrowser details[open] > summary > .icon-folder {
+ display: none; }
+ .eureka .eureka__pathbar {
+ padding: 8px;
+ padding: .5rem;
+ margin-bottom: 8px;
+ margin-bottom: .5rem;
+ margin-top: 8px;
+ margin-top: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__pathbar {
+ margin-bottom: 0; } }
+ .eureka .eureka__pathbar summary {
+ word-wrap: break-word; }
+ .eureka .eureka__pathbar details > div {
+ padding-top: 16px;
+ padding-top: 1rem; }
+ .eureka .eureka__pathbar .eureka__context-buttons {
+ background: none;
+ border: none; }
+ .eureka .eureka__layout-chooser {
+ color: #556C88;
+ color: var(--subtle, #556C88); }
+ .eureka .eureka__layout-chooser fieldset {
+ margin: 0;
+ padding: .5em 0; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__layout-chooser fieldset {
+ padding: 0; } }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -ms-flex-pack: distribute;
+ justify-content: space-around; }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns > div {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"] {
+ /*&:focus {
+ + {
+ label {
+ outline: 1px solid var(--active, $active);
+ }
+ }
+ }*/ }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="radio"]:checked + label svg[class^="icon"], .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type="checkbox"]:checked + label svg[class^="icon"] {
+ fill: #3697cd;
+ fill: var(--active, #3697cd); }
+ .eureka .eureka__layout-chooser .eureka__icon-radio-btns label {
+ font-size: 22.4px;
+ font-size: 1.4rem;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center; }
+ .eureka svg[class^="icon"] {
+ position: relative;
+ width: 1em;
+ height: 1em;
+ fill: currentColor; }
+ @media screen and (min-width: 641px) {
+ .eureka .eureka__hide-for-mobile-up {
+ display: none; } }
+ @media screen and (max-width: 640px) {
+ .eureka .eureka__show-for-mobile-up {
+ display: none; } }
+ .eureka .eureka__drop-area {
+ -webkit-box-flex: 2;
+ -ms-flex: 2 8 auto;
+ flex: 2 8 auto;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ cursor: pointer; }
+ .eureka .eureka__drop-area-zone {
+ width: 100%;
+ padding: 8px;
+ padding: .5rem;
+ border-width: 2px;
+ border-color: #dddddd;
+ border-color: var(--very-subtle, #dddddd);
+ border-style: dashed;
+ border-radius: 5px;
+ background-color: transparent;
+ -webkit-transition: border-color 240ms ease, background-color 320ms ease 120ms;
+ transition: border-color 240ms ease, background-color 320ms ease 120ms;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ display: none; }
+ @media screen and (min-height: 360px) {
+ .eureka .eureka__drop-area-zone {
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex; } }
+ .eureka .eureka__drop-area-zone svg {
+ font-size: 4em;
+ fill: #dddddd;
+ fill: var(--very-subtle, #dddddd);
+ -webkit-transition: fill 240ms ease 160ms, opacity 240ms ease;
+ transition: fill 240ms ease 160ms, opacity 240ms ease;
+ opacity: 0.42;
+ opacity: var(--very-subtle-icon-opacity, 0.42);
+ max-height: 100%; }
+ .eureka .eureka__drop-area-zone.eureka__drop-area-zone-active {
+ background-color: #d9ecf6;
+ border-color: #3697cd;
+ border-color: var(--active, #3697cd);
+ -webkit-transition: border-color 240ms ease 120ms, background-color 320ms ease 0;
+ transition: border-color 240ms ease 120ms, background-color 320ms ease 0; }
+ .eureka .eureka__drop-area-zone.eureka__drop-area-zone-active svg {
+ fill: #3697cd;
+ fill: var(--active, #3697cd);
+ opacity: 1; }
+ .eureka .eureka__modal {
+ z-index: 100009;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center; }
+ .eureka .eureka__modal .eureka__modal-scrim {
+ background: rgba(8, 8, 8, 0.25);
+ z-index: 0; }
+ .eureka .eureka__modal .eureka__modal-panel {
+ min-width: 30vw;
+ max-width: 70vw;
+ max-height: 70vh;
+ position: relative;
+ z-index: 99999; }
+ .eureka .eureka__modal .eureka__modal-panel h1:first-child, .eureka .eureka__modal .eureka__modal-panel h2:first-child, .eureka .eureka__modal .eureka__modal-panel h3:first-child {
+ margin-top: 0; }
+ .eureka .eureka__modal .eureka__modal-panel summary label {
+ display: block;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel summary label[for="eureka__crop-upload-file"] {
+ margin-bottom: 0; }
+ .eureka .eureka__modal .eureka__modal-panel input[type="text"] {
+ width: 100%;
+ font-size: 1.4em; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__button-bar {
+ margin-top: 8px;
+ margin-top: .5rem; }
+ .eureka .eureka__modal .eureka__modal-panel .eureka__button-bar > * {
+ -webkit-box-flex: 1;
+ -ms-flex: 1 0 auto;
+ flex: 1 0 auto; }
+ .eureka .eureka__modal.eureka__greedy .eureka__modal-panel {
+ max-width: calc(100vw - 2rem);
+ max-height: calc(100vh - 2rem); }
+
+@media screen and (max-width: 640px) {
+ .eureka-root .eureka__sticky-bar {
+ z-index: 99999;
+ position: -webkit-sticky;
+ position: sticky;
+ left: 0.5rem;
+ right: 0.5rem;
+ top: 0; }
+ .eureka-root .eureka__sticky-bar .eureka__notification-wrapper {
+ /*transform: translateY(-5em);
+ &[aria-hidden="false"] {
+ transform: translateY(0);
+ }*/ } }
+
+.eureka-root .eureka__notification-wrapper {
+ z-index: 99999;
+ margin-bottom: 8px;
+ margin-bottom: .5rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper {
+ margin-bottom: 0; } }
+ .eureka-root .eureka__notification-wrapper button {
+ display: inline;
+ background: transparent;
+ border: none;
+ padding: 0; }
+ .eureka-root .eureka__notification-wrapper button:hover, .eureka-root .eureka__notification-wrapper button:focus {
+ background: transparent !important;
+ border: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important; }
+
+.eureka-root .eureka__notification-wrapper > * {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__notification-wrapper > * {
+ display: inline-block; } }
+
+.eureka-root .eureka__choose-radio {
+ margin-bottom: 16px;
+ margin-bottom: 1rem; }
+ @media screen and (min-width: 641px) {
+ .eureka-root .eureka__choose-radio {
+ margin-bottom: 0;
+ -webkit-transform: translateY(0.3em);
+ transform: translateY(0.3em);
+ z-index: 0; } }
+ .eureka-root .eureka__choose-radio fieldset {
+ border: none; }
+/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9zY3NzL21haW4uc2NzcyIsInNyYy9zY3NzL3NwZWMvX3RhY3VsYXIuc2NzcyIsIm1haW4uY3NzIiwic3JjL3Njc3MvbGF5b3V0L19sYXlvdXQuc2NzcyIsInNyYy9zY3NzL25lYXQvZ3JpZC9fbWVkaWEuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPRTtFQUNFLCtCQUFzQjtVQUF0Qix1QkFBc0IsRUFDdkI7O0FBQ0Q7RUFJSSw0QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ3BCOztBQXVTTDtFQ3ZRSSxZQUFVLEVBQ2I7O0FEc1FEO0VDM1BJLGdCQUFjLEVBQ2pCOztBRDBQRDtFQy9NSSxtQkFBaUI7RUFDakIsT0FBSztFQUNMLFFBQU07RUFDTixTQUFPO0VBQ1AsVUFBUSxFQUtYOztBQXNCRDs7RUFFRTtBRGhHRjtFQUNFLGlFQUE2SDtFQUE3SCx5SEFBNkg7VUFBN0gseURBQTZIO1VBQTdILGlIQUE2SCxFQUM5SDs7QUFFRDtFQUFtQiw2RkFBNkY7RUFuQjlHLDhCQUE2QjtFQUM3Qiw0QkFBMkI7RUFBRSxjQUFjO0VBQzNDLCtCQUE4QjtFQUM5QixzQkFBb0I7RUFDcEIscUJBQW1CO0VBQ25CLHVCQUFzQjtFQUN0QixzQkFBcUI7RUFDckIsaUJBQWdCLEVBY2pCO0VBYkM7SUFFSSx5QkFBd0IsRUFDekI7O0FFR0w7RUN0Q0UsV0FBUyxFQU9WO0VDOEVHO0lGNUNBO01DdkNBLHFCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsbUJBQWlCO01BQ2pCLDZCQUFzQjtNQUF0Qiw4QkFBc0I7VUFBdEIsMkJBQXNCO2NBQXRCLHVCQUFzQixFQUd6QixFQUFBOztBQUVEO0VBd0dFOzs7Ozs7Ozs7OztLQVdHLEVBc0VKO0VBekxEO0lBR0ksYUFBWTtJQUNaLGNBQWE7SUFDYixpQkFBZ0I7SUFDaEIsb0JBQW9DO0lBQXBDLHFDQUFvQyxFQUNyQztFQVBIO0lBVUksaUJBQWtCO0lBQWxCLG1CQUFrQixFQUNuQjtFQVhIO0lBa0JZLDBCQUF5QixF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LEVBQ0osRUFBQTs7QUFmUDtFQW9CSSxlQ3BqQ1U7RURxakNWLG1CQUFvQjtFQUFwQixxQkFBb0IsRUFnQnJCO0VJL2dDQztJSjArQko7TUF1Qk0saUJBQWdCLEVBY25CLEVBQUE7RUFyQ0g7SUEwQk0sZ0JBQWU7SUFDZix3QkFBdUI7SUFDdkIsYUFBWTtJQUNaLFdBQVUsRUFPWDtJQXBDTDtNQStCUSxtQ0FBa0M7TUFDbEMsd0JBQXVCO01BRXZCLG9DQUEyQjtjQUEzQiw0QkFBMkIsRUFDNUI7O0FBbkNQO0VBd0NJLGVBQWM7RUFJZCxrQkFBaUI7RUFDakIsbUJBQWtCLEVBQ25CO0VJeGhDQztJSjArQko7TUEwQ00sc0JBQXFCLEVBSXhCLEVBQUE7O0FBOUNIO0VBZ0RJLG9CQUFtQjtFQUFuQixvQkFBbUIsRUFTcEI7RUluaUNDO0lKMCtCSjtNQWtETSxpQkFBZ0I7TUFDaEIscUNBQTJCO2NBQTNCLDZCQUEyQjtNQUMzQixXQUFVLEVBS2IsRUFBQTtFQXpESDtJQXVETSxhQUFZLEVBQ2IiLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6W251bGwsbnVsbCwiLmV1cmVrYSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmV1cmVrYSAqLCAuZXVyZWthICo6OmFmdGVyLCAuZXVyZWthICo6OmJlZm9yZSB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgaW1nLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIGltZywgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3Igc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmV1cmVrYSB0aFthcmlhLXNvcnRdLCAuZXVyZWthIHNlbGVjdCwgLmV1cmVrYSBidXR0b24sIC5ldXJla2EgLmJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmV1cmVrYSAuZXVyZWthX19tb2RhbCwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1zY3JpbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwOyB9XG5cbi8qXG5odHRwOi8vd3d3LnBoYXNlMnRlY2hub2xvZ3kuY29tL2Jsb2cvZXhwbG9yaW5nLW1hcHMtaW4tc2Fzcy0zLTMvXG4qL1xuLmV1cmVrYSBpbnB1dFthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdICsgbGFiZWwsIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsLCAuZXVyZWthIGJ1dHRvblthcmlhLXByZXNzZWQ9XCJ0cnVlXCJdIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1zaGFkb3ctY29sb3IsICNFNEU0RTQpLCBpbnNldCAwIDAuMTc1ZW0gMCB2YXIoLS1ib3JkZXItc2hhZG93LWNvbG9yLCAjYzVjNWM1KTsgfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLnZpc3VhbGx5LWhpZGRlbiwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIGxlZ2VuZCwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAvKmh0dHBzOi8vZGV2ZWxvcGVyLnlhaG9vLmNvbS9ibG9ncy95ZG4vY2xpcC1oaWRkZW4tY29udGVudC1iZXR0ZXItYWNjZXNzaWJpbGl0eS01MzQ1Ni5odG1sKi9cbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4IDFweCAxcHggMXB4KTtcbiAgLyogSUU2LCBJRTcgKi9cbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBhLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSBib2R5OmhvdmVyIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGEsIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBhLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIGJvZHk6aG92ZXIgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkgYSwgYm9keTpob3ZlciAudmlzdWFsbHktaGlkZGVuIGEsIGJvZHk6aG92ZXIgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdIGEsIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJmaWxlXCJdIGEsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBsZWdlbmQgYSwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBib2R5OmhvdmVyIGxlZ2VuZCBhLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBhLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBhLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBhLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBhLCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGlucHV0LCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSBib2R5OmhvdmVyIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkgaW5wdXQsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBpbnB1dCwgYm9keTpob3ZlciAudmlzdWFsbHktaGlkZGVuIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFt0eXBlPVwiZmlsZVwiXSBpbnB1dCwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0gaW5wdXQsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBsZWdlbmQgaW5wdXQsIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgYm9keTpob3ZlciBsZWdlbmQgaW5wdXQsIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIGlucHV0LCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBib2R5OmhvdmVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSBpbnB1dCwgYm9keTpob3ZlciAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gaW5wdXQsIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIGlucHV0LCBib2R5OmhvdmVyIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDEpIGJ1dHRvbiwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgYm9keTpob3ZlciB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSBidXR0b24sIGJvZHk6aG92ZXIgLnZpc3VhbGx5LWhpZGRlbiBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W3R5cGU9XCJmaWxlXCJdIGJ1dHRvbiwgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImZpbGVcIl0gYnV0dG9uLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgbGVnZW5kIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciBib2R5OmhvdmVyIGxlZ2VuZCBidXR0b24sIGJvZHk6aG92ZXIgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cInJhZGlvXCJdIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgYm9keTpob3ZlciBpbnB1dFt0eXBlPVwicmFkaW9cIl0gYnV0dG9uLCBib2R5OmhvdmVyIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSBidXR0b24sIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGJvZHk6aG92ZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbltjbGFzcyo9XCJtb2RhbC1zZWN0aW9uXCJdLCBbY2xhc3MqPVwiZXVyZWthLXdyYXBwZXJcIl0ge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgW2NsYXNzKj1cIm1vZGFsLXNlY3Rpb25cIl0sIFtjbGFzcyo9XCJldXJla2Etd3JhcHBlclwiXSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG5cbi5ldXJla2Etcm9vdCB7XG4gIC8qLmV1cmVrYSB7XG4gICAgdGJvZHkge1xuICAgICAgJjpub3QoLmVtcHR5KSB7XG4gICAgICAgID4gdHI6bm90KC5lbXB0eSkge1xuICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTpncmlkKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlwibWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIiBcImFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9uc1wiO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDI0JSAxMiUgMTIlIDEyJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0qLyB9XG4gIC5ldXJla2Etcm9vdDotd2Via2l0LWZ1bGwtc2NyZWVuIHtcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJnLWNvbG9yLCAjZWNlY2VjKTsgfVxuICAuZXVyZWthLXJvb3QgbGFiZWxbZm9yKj1cImZ1bGxzY3JlZW4tdG9nZ2xlXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0ci5ldXJla2FfX2ZvY3VzZWQtbWVkaWEtaXRlbSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3csIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHIuZXVyZWthX19mb2N1c2VkLW1lZGlhLWl0ZW0gPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0ci5ldXJla2FfX2ZvY3VzZWQtbWVkaWEtaXRlbSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cyA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93W2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHIgPiB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHIgPiB0ZC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMgPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cyA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3dbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOmZvY3VzID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpmb2N1cy13aXRoaW4gPiB0ZC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6Zm9jdXMtd2l0aGluID4gdGQuZXVyZWthX19jb250ZXh0LXJvd1toaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSBhbmQgKCBub3QgKGRpc3BsYXk6Z3JpZCkgKSB7XG4gICAgICAgfSovIH1cbiAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+ICoge1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkIC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IG1lZGlhOyB9XG4gICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQgLmV1cmVrYV9fdGQtZmlsZW5hbWUge1xuICAgICAgICAgIGdyaWQtYXJlYTogbmFtZTsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fY29udGV4dC1yb3cge1xuICAgICAgICAgIGdyaWQtYXJlYTogYWN0aW9uczsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZGltZW5zaW9ucyB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19kaW1lbnNpb25zIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgICAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBlZGl0ZWQtb247IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgLmV1cmVrYS1yb290IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfSB9XG4gIEBzdXBwb3J0cyAoZGlzcGxheTogZ3JpZCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2Nob29zZSB7XG4gICAgICBncmlkLWFyZWE6IGNob29zZTsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX3RkLW1lZGlhIHtcbiAgICAgIGdyaWQtYXJlYTogbWVkaWE7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX190ZC1maWxlbmFtZSB7XG4gICAgICBncmlkLWFyZWE6IG5hbWU7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgICBncmlkLWFyZWE6IGFjdGlvbnM7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19kaW1lbnNpb25zIHtcbiAgICAgIGdyaWQtYXJlYTogZGltZW5zaW9uczsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZGltZW5zaW9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZmlsZS1zaXplIHtcbiAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX19maWxlLXNpemUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZC5ldXJla2FfX2VkaXRlZC1vbiB7XG4gICAgICBncmlkLWFyZWE6IGVkaXRlZC1vbjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkLmV1cmVrYV9fZWRpdGVkLW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH0gfVxuICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNob29zZSBtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnNcIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIGF1dG8gMjQlIDEyJSAxMiUgMTIlOyB9IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nob29zZS1yYWRpbyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtcmFkaW8gZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY2hvb3NlLXJhZGlvIC5ldXJla2FfX2ZpZWxkc2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtcmFkaW8gLmV1cmVrYV9fZmllbGRzZXQgPiAqIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0aGVhZCA+IHRyIHtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIDE2JSA0MCUgOCUgYXV0byBhdXRvICFpbXBvcnRhbnQ7XG4gIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmFkaW8gbmFtZSBtZWRpYSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIiAhaW1wb3J0YW50OyB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0aGVhZCA+IHRyIHRoOm50aC1vZi10eXBlKDMpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkge1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJyZW0gMTYlIDQwJSA4JSBhdXRvIGF1dG8gIWltcG9ydGFudDtcbiAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJyYWRpbyBuYW1lIG1lZGlhIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiICFpbXBvcnRhbnQ7IH1cbiAgQHN1cHBvcnRzIChkaXNwbGF5OiBncmlkKSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZCB7XG4gICAgICAvKiY6bnRoLW9mLXR5cGUoMSkge1xuICAgICAgICAgICAgIGdyaWQtYXJlYTptZWRpYTtcbiAgICAgICAgICAgfVxuICAgICAgICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgICAgICBncmlkLWFyZWE6bmFtZTtcbiAgICAgICAgICAgfVxuICAgICAgICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgICAgICBncmlkLWFyZWE6YWN0aW9ucztcbiAgICAgICAgICAgfSovIH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlLmV1cmVrYV9fdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQuZXVyZWthX190ZC1maWxlbmFtZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg0KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZGltZW5zaW9ucyAhaW1wb3J0YW50OyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZS5ldXJla2FfX3RhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmaWxlLXNpemUgIWltcG9ydGFudDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUuZXVyZWthX190YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg2KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZWRpdGVkLW9uICFpbXBvcnRhbnQ7IH0gfVxuXG4uZXVyZWthLXJvb3Qge1xuICBwYWRkaW5nOiAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthIHRhYmxlID4gdGhlYWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgICBjbGlwOiByZWN0KDFweCAxcHggMXB4IDFweCk7XG4gICAgICAvKiBJRTYsIElFNyAqL1xuICAgICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYSB0YWJsZSA+IHRoZWFkIGEsIGJvZHk6aG92ZXIgLmV1cmVrYS1yb290IC5ldXJla2EgdGFibGUgPiB0aGVhZCBpbnB1dCwgYm9keTpob3ZlciAuZXVyZWthLXJvb3QgLmV1cmVrYSB0YWJsZSA+IHRoZWFkIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EgdGJvZHkgPiB0ciA+IHRkOm5vdCguZXVyZWthX19jb250ZXh0LXJvdykge1xuICAgICAgcGFkZGluZy1yaWdodDogLjVyZW07IH0gfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0Ym9keSA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJjaG9vc2UgY2hvb3NlIGNob29zZSBjaG9vc2UgY2hvb3NlIGNob29zZVwiIFwibWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWFcIiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZSBuYW1lXCIgXCJhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9uc1wiOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJjaG9vc2UgbWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAycmVtIGF1dG8gMjQlIDEyJSAxMiUgMTIlOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX2Nob29zZS1tdWx0aXBsZS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fY2hvb3NlLW11bHRpcGxlLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGUuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcImNob29zZSBjaG9vc2UgY2hvb3NlIGNob29zZSBjaG9vc2UgY2hvb3NlXCIgXCJtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYSBtZWRpYVwiOyB9XG4gIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUge1xuICAgIC8qPiB0aGVhZCA+IHRyIHtcbiAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiO1xuICAgICAgIH0qLyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGhlYWQgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtZ2FwOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0aGVhZCA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgdGFibGUgPiB0Ym9keSA+IHRyLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDAlIDI0JSAxMiUgMTIlIDEyJTsgfSB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHRhYmxlID4gdGJvZHkgPiB0ciwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibWVkaWEgbWVkaWEgbWVkaWEgbWVkaWEgbWVkaWFcIiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZVwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkgPiB0ciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH0gfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSB0YWJsZSA+IHRib2R5LmVtcHR5ID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGJvZHkuZW1wdHkgPiB0ciB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbFtmb3IqPVwidXBsb2FkLWZvcm1cIl0sIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgLmV1cmVrYV9fdHJlZS10b2dnbGUgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWxbZm9yKj1cInVwbG9hZC1mb3JtXCJdIHtcbiAgICBwYWRkaW5nOiAwLjVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwicmFkaW8gbWVkaWEgbmFtZSBkaW1lbnNpb25zIGZpbGUtc2l6ZSBlZGl0ZWQtb25cIjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMnJlbSA0MCUgMjQlIGF1dG8gYXV0byBhdXRvOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDEpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSgxKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgIGdyaWQtYXJlYTogcmFkaW87IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSgyKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoMiksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDIpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtZWRpYTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDMpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSgzKSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGg6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoMyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGg6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICBncmlkLWFyZWE6IG5hbWU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg1KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0Ym9keTpub3QoLmVtcHR5KSA+IHRyOm5vdCguZW1wdHkpID4gdGQ6bnRoLW9mLXR5cGUoNSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGhlYWQgPiB0ciA+IHRoOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDUpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdC5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRoOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoNiksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDYpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg2KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg2KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZmlsZS1zaXplOyB9XG4gICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoNyksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZS5ldXJla2FfX3NlcnZlci1zaWRlIHRhYmxlID4gdGJvZHk6bm90KC5lbXB0eSkgPiB0cjpub3QoLmVtcHR5KSA+IHRkOm50aC1vZi10eXBlKDcpLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRoZWFkID4gdHIgPiB0aDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0ZDpudGgtb2YtdHlwZSg3KSwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QuZXVyZWthX19zZXJ2ZXItc2lkZSB0YWJsZSA+IHRib2R5Om5vdCguZW1wdHkpID4gdHI6bm90KC5lbXB0eSkgPiB0aDpudGgtb2YtdHlwZSg3KSB7XG4gICAgICAgIGdyaWQtYXJlYTogZWRpdGVkLW9uOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlLmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSksIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0LmV1cmVrYV9fc2VydmVyLXNpZGUgdGFibGUgPiB0aGVhZCA+IHRyID4gdGg6bnRoLW9mLXR5cGUoMSkge1xuICAgIGdyaWQtYXJlYTogbm9uZTsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRoZWFkID4gdHIgdGQ6Zmlyc3QtY2hpbGQsIC5ldXJla2Etcm9vdCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHRhYmxlID4gdGhlYWQgPiB0ciB0aDpmaXJzdC1jaGlsZCwgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHRkOmZpcnN0LWNoaWxkLCAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcIm5hbWUgbmFtZSBuYW1lIG5hbWUgbmFtZVwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB0YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5ldXJla2FfX2Nob29zZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgdGFibGUgPiB0Ym9keSA+IHRyIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtZWRpYSBuYW1lIGRpbWVuc2lvbnMgZmlsZS1zaXplIGVkaXRlZC1vblwiIFwiYWN0aW9ucyBhY3Rpb25zIGFjdGlvbnMgYWN0aW9ucyBhY3Rpb25zXCI7IH0gfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYV9fdGFibGUgaW1nLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fdGFibGUgZW1iZWQsIC5ldXJla2Etcm9vdCAuZXVyZWthX190YWJsZSBvYmplY3QsIC5ldXJla2Etcm9vdCAuZXVyZWthX190YWJsZSB2aWRlbyB7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYS1yb290IHtcbiAgICAvKmRpc3BsYXk6Z3JpZDtcbiAgICBncmlkLWdhcDowO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczoyMHZ3IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcImhlYWRlciBoZWFkZXJcIiBcInNpZGViYXIgY29udGVudFwiIFwiZm9vdGVyIGZvb3RlclwiOyovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHtcbiAgICAgICAgLypAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgICAgfSovIH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTsgfVxuICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fcGF0aGJyb3dzZXIge1xuICAgICAgICAgIGZsZXg6IDAgMCAxNHJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgICAgICAuZXVyZWthLXJvb3QgLmV1cmVrYSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fcGF0aGJyb3dzZXJbaGlkZGVuXSwgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3BhdGhicm93c2VyW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSB7XG4gICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciB7XG4gICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG4gICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciA+IGgyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyA+IGhlYWRlciA+IGgyIGZvcm0ge1xuICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fdGFibGUtd3JhcHBlciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBwYWRkaW5nOiAwIC41cmVtIC41cmVtIDA7IH1cbiAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3RhYmxlLXdyYXBwZXIgPiBkaXYge1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgICAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fYnJvd3NlLWNvbnRlbnQgPiAuZXVyZWthX19zdGFnZSA+IC5ldXJla2FfX3RhYmxlLXdyYXBwZXIgPiBkaXYgPiB0YWJsZSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19jaG9vc2UtYmFyIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC41cmVtOyB9IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgPiAuZXVyZWthX19icm93c2UtY29udGVudCA+IC5ldXJla2FfX3N0YWdlID4gLmV1cmVrYV9fdGFibGUtd3JhcHBlciB7XG4gIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSA+IC5ldXJla2FfX2Jyb3dzZS1jb250ZW50ID4gLmV1cmVrYV9fc3RhZ2UgPiAuZXVyZWthX190YWJsZS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS1yb290IC5ldXJla2EgPiAuZXVyZWthX19jaG9vc2UtYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthID4gLmV1cmVrYV9fY2hvb3NlLWJhciA+ICo6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uZXVyZWthLXJvb3QgdGhlYWQge1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGZsZXgtZ3JvdzogMDsgfVxuICAuZXVyZWthLXJvb3QgdGhlYWQuZXVyZWthX190Ym9keS1zY3JvbGxpbmcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7IH1cbiAgLmV1cmVrYS1yb290IHRoZWFkW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmV1cmVrYS1yb290IHRoZWFkID4gdHIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIC8qQHN1cHBvcnRzIChkaXNwbGF5OiBmbGV4KSBhbmQgKCBub3QgKGRpc3BsYXk6IGdyaWQpICkge1xuICAgICAgfSovIH1cbiAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gICAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoLmV1cmVrYV9fY2hvb3NlIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBjaG9vc2U7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1tZWRpYSB7XG4gICAgICAgIGdyaWQtYXJlYTogbWVkaWE7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1maWxlbmFtZSB7XG4gICAgICAgIGdyaWQtYXJlYTogbmFtZTsgfVxuICAgICAgLmV1cmVrYS1yb290IHRoZWFkID4gdHIgPiB0aC5ldXJla2FfX3RoLWFjdGlvbnMge1xuICAgICAgICBncmlkLWFyZWE6IG5vbmU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1kaW1lbnNpb25zIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkaW1lbnNpb25zOyB9XG4gICAgICAuZXVyZWthLXJvb3QgdGhlYWQgPiB0ciA+IHRoLmV1cmVrYV9fdGgtZmlsZS1zaXplIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmaWxlLXNpemU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCB0aGVhZCA+IHRyID4gdGguZXVyZWthX190aC1lZGl0ZWQtb24ge1xuICAgICAgICBncmlkLWFyZWE6IGVkaXRlZC1vbjsgfVxuXG4uZXVyZWthLXJvb3QgdGJvZHkuZW1wdHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZXVyZWthLXJvb3QgdGJvZHkuZW1wdHkgPiB0ciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmV1cmVrYS1yb290IHRib2R5LmVtcHR5ID4gdHIgdGQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmV1cmVrYS1yb290IHRib2R5IHtcbiAgZmxleC1iYXNpczogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC13cmFwOiBuby13cmFwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGU6bm90KC5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCkgLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX19jaG9vc2UtbXVsdGlwbGU6bm90KC5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCkgLmV1cmVrYV9fdGQtbWVkaWEge1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYV9fbWVkaWEtZGlyZWN0b3J5LXNlbGVjdG9yIGZvcm0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3IgPiBkaXYge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogLjVlbTsgfSB9XG5cbi5ldXJla2FfX3NvcnQtc2VsZWN0IHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYV9fc29ydC1zZWxlY3Qge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC5ldXJla2FfX3NvcnQtc2VsZWN0IGxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAuZXVyZWthX19zb3J0LXNlbGVjdCBzZWxlY3Qge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5ldXJla2FfX3RyZWUtdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctYm90dG9tOiAuNXJlbTsgfVxuICAgIC5ldXJla2FfX3RyZWUtdG9nZ2xlID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2FfX3RyZWUtdG9nZ2xlIC5ldXJla2FfX3VwbG9hZC1mb3JtIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3RyZWUtdG9nZ2xlIC5ldXJla2FfX3VwbG9hZC1mb3JtIGxhYmVsW2Zvcio9XCJ1cGxvYWQtZm9ybVwiXSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthX19zZXJ2ZXItc2lkZSAuZXVyZWthX190cmVlLXRvZ2dsZSAuZXVyZWthX191cGxvYWQtZm9ybSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIHtcbiAgLypAaW5jbHVkZSBtZWRpYSgkZ3RNb2JpbGUpIHtcbiAgICB9Ki8gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX3RhYmxlIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtOyB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHIgdGgge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUgLmV1cmVrYV9fdGFibGUgdHIgdGgge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSAuZXVyZWthX190YWJsZSB0ciB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19lbmxhcmdlLWZvY3VzZWQtcm93cyAuZXVyZWthX190YWJsZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDIwdmg7IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGFibGUuZXVyZWthX19lbmxhcmdlLWZvY3VzZWQtcm93cyAuZXVyZWthX190YWJsZSB0cjpmb2N1cyBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDMwdmg7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGhlYWQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGhlYWQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGhlYWQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGQ6bm90KC5ldXJla2FfX3RkLW1lZGlhKTpub3QoLmV1cmVrYV9fY2hvb3NlKSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0ZDpub3QoLmV1cmVrYV9fdGQtbWVkaWEpOm5vdCguZXVyZWthX19jaG9vc2UpLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRkOm5vdCguZXVyZWthX190ZC1tZWRpYSk6bm90KC5ldXJla2FfX2Nob29zZSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRkW2NvbHNwYW5dIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGFibGUgdGJvZHksIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkge1xuICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9IH1cbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0ge1xuICAgIG1hcmdpbjogMCAuNXJlbSAuNXJlbSAwO1xuICAgIGZsZXgtYmFzaXM6IDQydnc7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fdGh1bWIgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbWFzb25yeSAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0gdGQsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHRkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICAgICAgZmxleC1iYXNpczogMTZ2dzsgfSB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19ncmlkIC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93LCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RodW1iIC5ldXJla2FfX3RhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0sIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbdGFiaW5kZXhdIHtcbiAgICBmbGV4LWJhc2lzOiAyNXZ3OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fZ3JpZCAuZXVyZWthX190YWJsZSB0Ym9keSB0clt0YWJpbmRleF0gPiB0ZDpub3QoLmV1cmVrYV9fY29udGV4dC1yb3cpLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSA+IHRkOm5vdCguZXVyZWthX19jb250ZXh0LXJvdykge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19tYXNvbnJ5IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW3RhYmluZGV4XSB7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIGZsZXgtZ3JvdzogMTsgfSB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX3RhYmxlIC5ldXJla2FfX2NvbnRleHQtcm93IHtcbiAgbWFyZ2luLXRvcDogLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG9yZGVyOiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKj4gdGRbY29sc3Bhbl0ge1xuICAgICAgfSovIH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtcm93W2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LXJvdyAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2dyaWQgLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX21hc29ucnkgLmV1cmVrYV9fdGQtbWVkaWEge1xuICBtYXJnaW46IDAgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGg6Zmlyc3QtY2hpbGQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoOm50aC1vZi10eXBlKDIpIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogLjVyZW07IH0gfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTsgfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZCwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGgge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGQuZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0aC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGgtbWVkaWEge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGdyaWQpIHtcbiAgICAgIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGQuZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGQtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGguZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGQuZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGQuZXVyZWthX190aC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGguZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0gdGguZXVyZWthX190aC1tZWRpYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRkLmV1cmVrYV9fdGgtbWVkaWEsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGhlYWQgdGguZXVyZWthX190ZC1tZWRpYSwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0aC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0ZC5ldXJla2FfX3RoLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0aC5ldXJla2FfX3RkLW1lZGlhLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB0aC5ldXJla2FfX3RoLW1lZGlhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0aGVhZCB0ZC5ldXJla2FfX3RkLWZpbGVuYW1lLCAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRoZWFkIHRoLmV1cmVrYV9fdGQtZmlsZW5hbWUsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRkLmV1cmVrYV9fdGQtZmlsZW5hbWUsIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdIHRoLmV1cmVrYV9fdGQtZmlsZW5hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6IC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSB7XG4gICAgbGluZS1oZWlnaHQ6IDI7IH0gfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IC5ldXJla2FfX3RkLW1lZGlhIGltZywgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSAuZXVyZWthX190ZC1tZWRpYSB2aWRlbywgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX190YWJsZSB0Ym9keSAuZXVyZWthX190ZC1tZWRpYSBlbWJlZCB7XG4gIG1heC13aWR0aDogMTB2aDtcbiAgbWF4LWhlaWdodDogMTB2aDsgfVxuXG4uZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW2NvbnRleHRtZW51XSB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX3RhYmxlIHRib2R5IHRyW2NvbnRleHRtZW51XSA+IHRkOm50aC1vZi10eXBlKDIpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41cmVtOyB9XG4gIC5ldXJla2EuZXVyZWthX192aWV3LW1vZGVfX2xpc3QgLmV1cmVrYV9fdGFibGUgdGJvZHkgdHJbY29udGV4dG1lbnVdID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19jcm9wLWJ0biB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5ldXJla2EgLmZsZXgtYmFyIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5ldXJla2EgLmZsZXgtYmFyIGZpZWxkc2V0IGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9faW52ZXJ0LWhvcnoge1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLmV1cmVrYSAuZXVyZWthX190ZC1tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmV1cmVrYSAuZXVyZWthX19zaG93LWZvci1tb2JpbGUtdXAgcCwgLmV1cmVrYSAuZXVyZWthX19zaG93LWZvci1tb2JpbGUtdXAgdGV4dGFyZWEge1xuICAgIG1heC1oZWlnaHQ6IDNlbTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyIHRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wX3Nob3ctYWR2LWNvbnRyb2xzXCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC43NWVtO1xuICByaWdodDogMWVtOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIge1xuICBtYXJnaW4tdG9wOiAxZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGxhYmVsW2Zvcj1cImV1cmVrYV9fY3JvcC1kcmFnLW1vZGUtbW92ZVwiXSB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGJ1dHRvbiwgLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC5pY29uLWJhciAuYnV0dG9uIHtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC5pY29uLWJhciBidXR0b246Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIgLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIGJ1dHRvbjpsYXN0LWNoaWxkLCAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLmljb24tYmFyLmZsZXgtYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAuaWNvbi1iYXIgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cblxuLmV1cmVrYSAuZXVyZWthX19jcm9wLW1vZGFsIC53cmFwcGFibGUuZmxleC1iYXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2Nyb3AtbW9kYWwgLndyYXBwYWJsZS5mbGV4LWJhciA+ICoge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1tb2RhbCAud3JhcHBhYmxlLmZsZXgtYmFyIHN1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9XG5cbi5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3gge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggbGFiZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCBsYWJlbFtmb3I9XCJldXJla2FfX2Nyb3AtYXNwZWN0LXJhdGlvXCJdIHtcbiAgICBsaW5lLWhlaWdodDogMjsgfVxuICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2Nyb3AtYm91bmRpbmctYm94IGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIHdpZHRoOiA1ZW07IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCBpbnB1dFtpZCo9XCJldXJla2FfX2Nyb3Atc2NhbGVcIl0ge1xuICAgIHdpZHRoOiA0ZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2Nyb3AtYm91bmRpbmctYm94IHN1bW1hcnkge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRpdiwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRldGFpbHMgPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRpdiA+ICosIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggPiBkZXRhaWxzID4gZGl2ID4gKiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fY3JvcC1ib3VuZGluZy1ib3ggPiBkaXY6bGFzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19jcm9wLWJvdW5kaW5nLWJveCA+IGRldGFpbHMgPiBkaXY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5ldXJla2EgW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYSAuZXVyZWthX19jcm9wLXNhdmUtYXMtY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nyb3AtYXMge1xuICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fY3JvcC1hcyBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLXNhdmUtYXMtbmFtZVwiXSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLWFzcGVjdC1yYXRpby1yZW1lbWJlclwiXSB7XG4gIGxpbmUtaGVpZ2h0OiAyOyB9XG5cbi5ldXJla2EgbGFiZWxbZm9yPVwiZXVyZWthX19jcm9wLXJvdGF0ZVwiXSArIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIG1pbi13aWR0aDogMTRlbTsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2Nob29zZS1tdWx0aWxlID4gbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5kYW5nZXJvdXMge1xuICBjb2xvcjogdmFyKC0tZGFuZ2Vyb3VzLCByZWQpOyB9XG5cbmlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QoW3R5cGU9XCJyYWRpb1wiXSk6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggc29saWQgdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTsgfVxuXG50clt0YWJpbmRleF06Zm9jdXMsIHRyLmV1cmVrYV9fY29udGV4dC1yb3c6Zm9jdXMsIFtyb2xlPVwibGlzdGJveFwiXTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG5cbnN1bW1hcnk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cblxuLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciwgLmZsZXgtYmFyLCAuZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5ldXJla2EgLndyYXBwYWJsZS5ldXJla2FfX3RyZWUtYmFyLCAud3JhcHBhYmxlLmZsZXgtYmFyLCAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX19idXR0b24tYmFyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX190cmVlLWJhciA+ICosIC53cmFwcGFibGUuZmxleC1iYXIgPiAqLCAuZXVyZWthIC53cmFwcGFibGUuZXVyZWthX19idXR0b24tYmFyID4gKiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5ldXJla2EgLmJhbGFuY2VkLmV1cmVrYV9fdHJlZS1iYXIsIC5iYWxhbmNlZC5mbGV4LWJhciwgLmV1cmVrYSAuYmFsYW5jZWQuZXVyZWthX19idXR0b24tYmFyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyID4gKiwgLmZsZXgtYmFyID4gKiwgLmV1cmVrYSAuZXVyZWthX19idXR0b24tYmFyID4gKiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNXJlbTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqLmdyb3dhYmxlLCAuZmxleC1iYXIgPiAqLmdyb3dhYmxlLCAuZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIgPiAqLmdyb3dhYmxlIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqOmxhc3QtY2hpbGQsIC5mbGV4LWJhciA+ICo6bGFzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19idXR0b24tYmFyID4gKjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG5bcm9sZT1cImRpYWxvZ1wiXSAuZmxleC1iYXIge1xuICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuXG4uZXVyZWthIC5ldXJla2FfX2J1dHRvbi1iYXIsIC5ldXJla2EgLmV1cmVrYV9fbm90aWNlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmFbcm9sZT1cInByZXNlbnRhdGlvblwiXSB7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3IgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uaWNvbi1jaXJjbGUtby1ub3RjaCB7XG4gIGFuaW1hdGlvbjogc3Bpbm5lciAxcyBsaW5lYXIgaW5maW5pdGU7IH1cblxuLmV1cmVrYV9fdGFibGUgdHJbdGFiaW5kZXhdLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtIC5ldXJla2FfX3RkLWZpbGVuYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmV1cmVrYV9fdGFibGUgdHJbdGFiaW5kZXhdOnRhcmdldCAuZXVyZWthX190ZC1tZWRpYSA+ICoge1xuICBvdXRsaW5lOiAzcHggc29saWQgIzMyQUI5QTsgfVxuXG4uZXVyZWthX190YWJsZSB0clt0YWJpbmRleF06dGFyZ2V0IC5ldXJla2FfX3RkLWZpbGVuYW1lIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogc3RhcnQgbGVhdmUgb3V0ICovXG4vKmJvZHkge1xuICBiYWNrZ3JvdW5kOiRncmF5O1xuICBmb250OiBub3JtYWwgLjgxMjVlbS8xLjM3NWVtIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgVGFob21hLCBzYW5zLXNlcmlmO1xuICAvL2ZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIFRhaG9tYSwgc2Fucy1zZXJpZjtcbiAgY29sb3I6JGNvbG9yO1xuICBtYXJnaW46MDtcbiAgcGFkZGluZzowLjVyZW07XG59Ki9cbi8qIGVuZCBsZWF2ZSBvdXQgKi9cbi5ldXJla2EgLmV1cmVrYV9fc3RhZ2UsIC5ldXJla2EgKltjbGFzc149XCJhbGVydFwiXSwgLmV1cmVrYSAuZXVyZWthX19wYXRoYnJvd3NlciwgLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyLCAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsLCAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqLCAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpIHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpIHZhcigtLXBhbmVsLWJvcmRlci1jb2xvciwgI2RkZGRkZCk7IH1cblxuLmV1cmVrYSAuZXVyZWthX19zdGFnZSwgLmV1cmVrYSAqW2NsYXNzXj1cImFsZXJ0XCJdLCAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyLCAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwsIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICosIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSwgLmV1cmVrYSAqW2NsYXNzXj1cImFsZXJ0XCJdLCAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyLCAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwsIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICosIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUge1xuICAgICAgcGFkZGluZzogLjVyZW07IH0gfVxuXG4uZXVyZWthIC5ldXJla2FfX3N0YWdlLCAuZXVyZWthICpbY2xhc3NePVwiYWxlcnRcIl0sIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJyb3dzZXIsIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJhciwgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIGJhY2tncm91bmQ6IHZhcigtLWxpZ2h0LWJnLCB3aGl0ZSk7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS41ZW07XG4gIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgI2Q5ZWRmNyk7XG4gIGNvbG9yOiB2YXIoLS1ub3RpZmljYXRpb24tY29sb3IsICMxRDZFOTUpO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ub3RpZmljYXRpb24tYm9yZGVyLWNvbG9yLCB2YXIoLS1ub3RpZmljYXRpb24tY29sb3IsICMzMDlkZDQpKTsgfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGEge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjI1cmVtO1xuICAgIHJpZ2h0OiAuMjVyZW07XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAyNDBtcyBlYXNlO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAuZXVyZWthLXJvb3QgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgPiAqIGJ1dHRvbjpmb2N1cywgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLW5vdGlmaWNhdGlvbi1mb2N1cy1jb2xvciwgIzI0N2ZhZCkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciA+ICogYnV0dG9uOmZvY3VzIHN2ZywgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiBidXR0b246aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yICFpbXBvcnRhbnQ7IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gLmV1cmVrYV9fZGFuZ2Vyb3VzIHtcbiAgICAtLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kOiAjZjdhMmEyO1xuICAgIC0tbm90aWZpY2F0aW9uLWNvbG9yOiAjOTExOTEyO1xuICAgIC0tbm90aWZpY2F0aW9uLWJvcmRlci1jb2xvcjogIzkxMTkxMjtcbiAgICAtLW5vdGlmaWNhdGlvbi1mb2N1cy1jb2xvcjogIzkxMTkxMjsgfVxuXG4uZXVyZWthIHtcbiAgLyogc3R5bGluZyBvZiBibGluay93ZWJraXQgbWFya2VyICovXG4gIC8qIHN0eWxpbmcgb2YgZmllcmZveCBtYXJrZXIgKi9cbiAgLyomLmV1cmVrYV9fdmlldy1tb2RlX190YWJsZSwgJi5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCB7XG4gICAgLmV1cmVrYV9fcGF0aGJhciB7XG4gICAgICAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9Ki9cbiAgLyomLmV1cmVrYV9fdmlldy1tb2RlX190aHVtYiB7XG5cbiAgfVxuXG4gICYuZXVyZWthX192aWV3LW1vZGVfX2dyaWQge1xuXG4gIH1cblxuICAmLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IHtcblxuICB9Ki9cbiAgLyouZXVyZWthX190cmVlLXRvZ2dsZSB7XG4gICAgLy9tYXJnaW4tYm90dG9tOjFyZW07XG4gICAgQGluY2x1ZGUgbWVkaWEoJGd0TW9iaWxlKSB7XG4gICAgICAvL21hcmdpbi1ib3R0b206MDtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vQGluY2x1ZGUgYnV0dG9uLXJlc2V0O1xuICAgICAgfVxuICAgIH1cbiAgfSovXG4gIC8qI2V1cmVrYV9fdHJlZS10b2dnbGVfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgc3ZnIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBib3R0b206MDtcbiAgICB9XG4gIH0qLyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IHRvcCAyNDBtcyBlYXNlIDkwbXMsIG9wYWNpdHkgMjQwbXMgZWFzZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjQwbXMgZWFzZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXJbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IC01ZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMzQwbXMgZWFzZS1vdXQgOTBtcywgdG9wIDQyMG1zIGVhc2Utb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC4yNXJlbTsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIgLmljb24ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAuMTI1ZW0pOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fdXBsb2FkLWZvcm0gaW5wdXRbbmFtZSo9XCJ1cGxvYWRGaWxlc1wiXTpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMS41ZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3VwbG9hZC1mb3JtIGlucHV0W25hbWUqPVwidXBsb2FkRmlsZXNcIl06ZGlzYWJsZWQgKyBsYWJlbCAuc3Bpbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAuMjc1ZW07XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFtuYW1lKj1cInVwbG9hZEZpbGVzXCJdOmRpc2FibGVkICsgbGFiZWw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgICBjb2xvcjogdmFyKC0tYnV0dG9uLWNvbG9yLCAjNTU1NTU1KTsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBpbnB1dFtuYW1lKj1cInVwbG9hZEZpbGVzXCJdOmRpc2FibGVkICsgbGFiZWw6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5ldXJla2EgYSB7XG4gICAgY29sb3I6IHZhcigtLWxpbmstY29sb3IsICMzNjk3Y2QpOyB9XG4gIC5ldXJla2EgaDEsIC5ldXJla2EgaDIsIC5ldXJla2EgaDMsIC5ldXJla2EgaDQsIC5ldXJla2EgaDUsIC5ldXJla2EgaDYge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLmV1cmVrYSBoMSwgLmV1cmVrYSBoMiwgLmV1cmVrYSBoMywgLmV1cmVrYSBoNCwgLmV1cmVrYSBoNSwgLmV1cmVrYSBoNiwgLmV1cmVrYSB0aGVhZCB7XG4gICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NTU1NSk7IH1cbiAgLmV1cmVrYSBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpO1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IsICM1NTU1NTUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogLjVlbSAuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNWVtO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA1MSA3NC44OCc+PHJlY3QgeT0nMTkuODgnIHdpZHRoPSc1MScgaGVpZ2h0PSc1NScgZmlsbD0nbm9uZScvPjxwYXRoIGQ9J00zNywyOC44OEExLjU2LDEuNTYsMCwwLDEsMzYuNTIsMzBMMjUuMTQsNDEuMzlhMS41OSwxLjU5LDAsMCwxLTIuMjksMEwxMS40OCwzMGExLjYzLDEuNjMsMCwwLDEsMS4xNC0yLjc3SDM1LjM4QTEuNjUsMS42NSwwLDAsMSwzNywyOC44OFptMC05Ljc1YTEuNjUsMS42NSwwLDAsMS0xLjYyLDEuNjNIMTIuNjNBMS42MiwxLjYyLDAsMCwxLDExLjQ4LDE4TDIyLjg2LDYuNjFhMS41OSwxLjU5LDAsMCwxLDIuMjksMEwzNi41MiwxOEExLjU2LDEuNTYsMCwwLDEsMzcsMTkuMTNaJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMC41IC02LjEzKScgZmlsbD0nIzk3OTc5NycvPjwvc3ZnPlwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNjYWxlOiA3MCUgNzAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC41ZW07XG4gICAgLyomOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgLy9iYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9zZWxlY3QtYXJyb3cuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zY2FsZTogNzAlIDcwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC41ZW07XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgLy8tLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAkYWN0aXZlKTtcbiAgICB9Ki8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZXVyZWthIHNlbGVjdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAuNWVtOyB9IH1cbiAgICAuZXVyZWthIHNlbGVjdDpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmV1cmVrYSBzZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9zZWxlY3QtYXJyb3cuc3ZnXCIpOyB9IH1cbiAgLmV1cmVrYSBidXR0b25baWRePVwiZXVyZWthX190cmVlLXRvZ2dsZV9fYnV0dG9uXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpLCAwIDAuMjVlbSAwIHZhcigtLWJvcmRlci1jb2xvciwgI2M1YzVjNSk7XG4gICAgLyomW2FyaWEtcHJlc3NlZD1cInRydWVcIl0ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1zaGFkb3ctY29sb3IsICNFNEU0RTQpLCBpbnNldCAwIDAuMTc1ZW0gMCB2YXIoLS1ib3JkZXItc2hhZG93LWNvbG9yLCBkYXJrZW4oI0U0RTRFNCwgMTIlKSk7XG4gICAgfSovIH1cbiAgICAuZXVyZWthIGJ1dHRvbltpZF49XCJldXJla2FfX3RyZWUtdG9nZ2xlX19idXR0b25cIl06Zm9jdXMge1xuICAgICAgLS1idXR0b24tY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSBidXR0b25baWRePVwiZXVyZWthX190cmVlLXRvZ2dsZV9fYnV0dG9uXCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIGJ1dHRvbltpZF49XCJldXJla2FfX3RyZWUtdG9nZ2xlX19idXR0b25cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmV1cmVrYSAqOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwtcGFuZWwgLmV1cmVrYV9fYnV0dG9uLWJhcjpub3QoW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSkgPiAqOmxhc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMkFCOUE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMzMkFCOUEsICMwMDk0OEUpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHdoaXRlOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbC1wYW5lbCAuZXVyZWthX19idXR0b24tYmFyOm5vdChbYXJpYS1oaWRkZW49XCJ0cnVlXCJdKSA+IDpob3ZlcjpsYXN0LWNoaWxkLCAuZXVyZWthIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXI6bm90KFthcmlhLWhpZGRlbj1cInRydWVcIl0pID4gOmZvY3VzOmxhc3QtY2hpbGQge1xuICAgICAgLS1ib3JkZXItY29sb3I6ICMwMDc1NzE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmI5Mzg1O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMyYjkzODUsICMwMDc1NzEpO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXI6bm90KFthcmlhLWhpZGRlbj1cInRydWVcIl0pID4gOmRpc2FibGVkOmxhc3QtY2hpbGQge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7IH1cbiAgLmV1cmVrYSBhLmJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5ldXJla2EgYnV0dG9uLCAuZXVyZWthIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgd2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpO1xuICAgIGNvbG9yOiB2YXIoLS1idXR0b24tY29sb3IsICM1NTU1NTUpO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogLjVlbSAuNWVtOyB9XG4gICAgLmV1cmVrYSBidXR0b246Zm9jdXMsIC5ldXJla2EgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZSwgIzM2OTdjZCk7IH1cbiAgICAuZXVyZWthIGJ1dHRvbjpob3ZlciwgLmV1cmVrYSAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjk3Y2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZS1kYXJrZXIsICMyOTdhYTcpOyB9XG4gICAgICAuZXVyZWthIGJ1dHRvbjpob3ZlciBzdmcsIC5ldXJla2EgLmJ1dHRvbjpob3ZlciBzdmcge1xuICAgICAgICBmaWxsOiB3aGl0ZTsgfVxuICAgIC5ldXJla2EgYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSwgLmV1cmVrYSAuYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzJBQjlBO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMzMkFCOUEsICMwMDk0OEUpO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmV1cmVrYSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyLCAuZXVyZWthIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6Zm9jdXMsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6aG92ZXIsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6Zm9jdXMge1xuICAgICAgICAtLWJvcmRlci1jb2xvcjogIzAwNzU3MTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJiOTM4NTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCMyYjkzODUsICMwMDc1NzEpO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCB2YXIoLS1ib3JkZXItY29sb3IsICNFNEU0RTQpOyB9XG4gICAgICAuZXVyZWthIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6ZGlzYWJsZWQsIC5ldXJla2EgLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6ZGlzYWJsZWQge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuICAgIC5ldXJla2EgYnV0dG9uLmRhbmdlcm91czpob3ZlciwgLmV1cmVrYSBidXR0b24uZGFuZ2Vyb3VzOmFjdGl2ZSwgLmV1cmVrYSBidXR0b24uZGFuZ2Vyb3VzOmZvY3VzLCAuZXVyZWthIGJ1dHRvbi5kYW5nZXJvdXM6dGFyZ2V0LCAuZXVyZWthIC5idXR0b24uZGFuZ2Vyb3VzOmhvdmVyLCAuZXVyZWthIC5idXR0b24uZGFuZ2Vyb3VzOmFjdGl2ZSwgLmV1cmVrYSAuYnV0dG9uLmRhbmdlcm91czpmb2N1cywgLmV1cmVrYSAuYnV0dG9uLmRhbmdlcm91czp0YXJnZXQge1xuICAgICAgLS1ib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvci1kYW5nZXJvdXMsICNiODAwMDApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHJlZCwgI2NjMDAwMCk7IH1cbiAgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIGJ1dHRvbi5ldXJla2FfX3ByaW1hcnksIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSAuYnV0dG9uLmV1cmVrYV9fcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1jb2xvciwgIzU1NTU1NSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07IH1cbiAgICAuZXVyZWthIFthcmlhLWhpZGRlbj1cInRydWVcIl0gYnV0dG9uLmV1cmVrYV9fcHJpbWFyeTpmb2N1cywgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIC5idXR0b24uZXVyZWthX19wcmltYXJ5OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTtcbiAgICAgIC0tYm9yZGVyLXNoYWRvdy1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTsgfVxuICAgIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyLCAuZXVyZWthIFthcmlhLWhpZGRlbj1cInRydWVcIl0gLmJ1dHRvbi5ldXJla2FfX3ByaW1hcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzM2OTdjZDtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1hY3RpdmUtZGFya2VyLCAjMjk3YWE3KTtcbiAgICAgIC0tYm9yZGVyLXNoYWRvdy1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7IH1cbiAgICAgIC5ldXJla2EgW2FyaWEtaGlkZGVuPVwidHJ1ZVwiXSBidXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyIHN2ZywgLmV1cmVrYSBbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIC5idXR0b24uZXVyZWthX19wcmltYXJ5OmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHdoaXRlOyB9XG4gIC5ldXJla2EgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAuZXVyZWthIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aCwgMXB4KTtcbiAgICBib3JkZXItc3R5bGU6IHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLCAjRTRFNEU0KTsgfVxuICAuZXVyZWthIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLCAxcHgpO1xuICAgICAgICBib3JkZXItc3R5bGU6IHZhcigtLWJvcmRlci1zdHlsZSwgc29saWQpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1jb2xvciwgMC4yNXJlbSk7IH0gfVxuICAuZXVyZWthIC5hY3RpdmUge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5ldXJla2EgZGV0YWlscyBkZXRhaWxzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC41ZW07IH1cbiAgLmV1cmVrYSBtZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ldXJla2EgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmV1cmVrYSAuYWxlcnQtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlnaHQtYmcsICNkOWVkZjcpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG9yLCAjYmNlOGYxKTtcbiAgICBjb2xvcjogdmFyKC0tc3VidGxlLCAjMzE3MDhmKTsgfVxuICAuZXVyZWthIC5hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZTljNjtcbiAgICBjb2xvcjogIzNjNzYzZDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2EgLmV1cmVrYV9fYnV0dG9uLWJhciA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10cmVlLWxpbmUtaGVpZ2h0LCAxLjYpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtOyB9IH1cbiAgICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX190cmVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXRyZWUtY291cnNlLWxpbmUtaGVpZ2h0LCAxLjgpOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ1dHRvbi1iZywgI2Y3ZjdmNyk7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmc6IC41cmVtIDA7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyA+IGEuYnV0dG9uLCAuZXVyZWthIC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAuNjg3NXJlbTsgfVxuICAuZXVyZWthLmV1cmVrYV9fdmlldy1tb2RlX19saXN0IC5ldXJla2FfX2NvbnRleHQtYnV0dG9ucyB7XG4gICAgcGFkZGluZy10b3A6IC4zNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtOyB9XG4gICAgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMgPiBhLmJ1dHRvbiwgLmV1cmVrYS5ldXJla2FfX3ZpZXctbW9kZV9fbGlzdCAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogLjZyZW07IH1cbiAgLmV1cmVrYSAuZXVyZWthX190YWJsZSB7XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX190YWJsZSB0cltjb250ZXh0bWVudV0ge1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgICAgLyomOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy10b3A6MDtcbiAgICAgIH0qLyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthIC5ldXJla2FfX3RhYmxlIHRyW2NvbnRleHRtZW51XSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IC41cmVtOyB9IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdHJbY29udGV4dG1lbnVdLmV1cmVrYV9fZm9jdXNlZC1tZWRpYS1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdGFibGUgdGQuY29tZm9ydGFibGUgcFtjbGFzc149XCJhbGVydFwiXSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmV1cmVrYSAuZXVyZWthX190ZC1tZWRpYSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWVkaWEtY2VsbC1iYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCk7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMTpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMjpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19zdGFnZSBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IHtcbiAgICBwYWRkaW5nOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyAuZXVyZWthX19zZWFyY2gtYmFyIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IC5ldXJla2FfX3NlYXJjaC1iYXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMjJlbTsgfSB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3N0YWdlX19maWx0ZXItdmlldyAuZXVyZWthX19zZWFyY2gtYmFyIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NkM4OCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fc3RhZ2VfX2ZpbHRlci12aWV3IC5ldXJla2FfX3NlYXJjaC1iYXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19zdGFnZV9fZmlsdGVyLXZpZXcgLmV1cmVrYV9fc2VhcmNoLWJhciBpbnB1dCB7XG4gICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3Ige1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1kaXJlY3Rvcnktc2VsZWN0b3IgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21lZGlhLWRpcmVjdG9yeS1zZWxlY3RvciBmb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8qJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6MWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDpyZWQ7XG4gICAgICAgIGNvbnRlbnQ6Jy4nO1xuICAgICAgfSovIH1cbiAgLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciB7XG4gICAgbWFyZ2luOiAuNXJlbSAwIDAgMDsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqIHtcbiAgICAgIG1hcmdpbjogMCAuNXJlbSAwIDA7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX190cmVlLWJhciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fdHJlZS1iYXIgYnV0dG9uLCAuZXVyZWthIC5ldXJla2FfX3RyZWUtYmFyIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21lZGlhLXNvdXJjZS1zZWxlY3RvciBoMjpmaXJzdC1jaGlsZCwgLmV1cmVrYSAuZXVyZWthX19tZWRpYS1zb3VyY2Utc2VsZWN0b3IgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIC5ldXJla2EgLmV1cmVrYV9fdXBsb2FkLWZvcm0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgLmV1cmVrYSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5ldXJla2E6bm90KC5ldXJla2FfX3NlcnZlci1zaWRlKSAuZXVyZWthX191cGxvYWQtZm9ybSBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnV0dG9uLWJnLCB3aGl0ZSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHZhcigtLWJvcmRlci1jb2xvciwgI0U0RTRFNCk7XG4gICAgY29sb3I6IHZhcigtLWJ1dHRvbi1jb2xvciwgIzU1NTU1NSk7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAuNWVtIC41ZW07XG4gICAgZm9udC1zaXplOiAuNjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthOm5vdCguZXVyZWthX19zZXJ2ZXItc2lkZSkgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWw6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIC0tYm9yZGVyLWNvbG9yOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpO1xuICAgICAgLS1ib3JkZXItc2hhZG93LWNvbG9yOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG4gICAgLmV1cmVrYTpub3QoLmV1cmVrYV9fc2VydmVyLXNpZGUpIC5ldXJla2FfX3VwbG9hZC1mb3JtIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjk3Y2Q7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAtLWJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLWRhcmtlciwgIzI5N2FhNyk7XG4gICAgICAtLWJvcmRlci1zaGFkb3ctY29sb3I6IHZhcigtLWFjdGl2ZS1kYXJrZXIsICMyOTdhYTcpOyB9XG4gICAgICAuZXVyZWthOm5vdCguZXVyZWthX19zZXJ2ZXItc2lkZSkgLmV1cmVrYV9fdXBsb2FkLWZvcm0gbGFiZWw6aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogd2hpdGU7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtYmFyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC8qQGluY2x1ZGUgbWVkaWEoJGd0TW9iaWxlKSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmQ7XG4gICAgfSovIH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2Nob29zZS1iYXJbYXJpYS1oaWRkZW49XCJ0cnVlXCJdIHtcbiAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19jaG9vc2UtYmFyIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAgIC5ldXJla2EgLmV1cmVrYV9fY2hvb3NlLWJhciBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjhyZW07IH0gfVxuICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19wYXRoYnJvd3NlciBuYXYge1xuICAgICAgY29sb3I6IHZhcigtLXN1YnRsZSwgIzU1NkM4OCk7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHMgPiBzdW1tYXJ5IHN2ZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4yZW0pO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjI1ZW07IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHMgPiBzdW1tYXJ5ID4gLmljb24tZm9sZGVyLW9wZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJyb3dzZXIgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkgPiAuaWNvbi1mb2xkZXItb3BlbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhicm93c2VyIGRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5ID4gLmljb24tZm9sZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmV1cmVrYSAuZXVyZWthX19wYXRoYmFyIHtcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIgc3VtbWFyeSB7XG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX3BhdGhiYXIgZGV0YWlscyA+IGRpdiB7XG4gICAgICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fcGF0aGJhciAuZXVyZWthX19jb250ZXh0LWJ1dHRvbnMge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIHtcbiAgICBjb2xvcjogdmFyKC0tc3VidGxlLCAjNTU2Qzg4KTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgZmllbGRzZXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogLjVlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIGZpZWxkc2V0IHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbGF5b3V0LWNob29zZXIgLmV1cmVrYV9faWNvbi1yYWRpby1idG5zIGlucHV0W3R5cGU9XCJyYWRpb1wiXSwgLmV1cmVrYSAuZXVyZWthX19sYXlvdXQtY2hvb3NlciAuZXVyZWthX19pY29uLXJhZGlvLWJ0bnMgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgLyomOmZvY3VzIHtcbiAgICAgICAgICArIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHZhcigtLWFjdGl2ZSwgJGFjdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9Ki8gfVxuICAgICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHN2Z1tjbGFzc149XCJpY29uXCJdLCAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsIHN2Z1tjbGFzc149XCJpY29uXCJdIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX2xheW91dC1jaG9vc2VyIC5ldXJla2FfX2ljb24tcmFkaW8tYnRucyBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZXVyZWthIHN2Z1tjbGFzc149XCJpY29uXCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX2hpZGUtZm9yLW1vYmlsZS11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgICAuZXVyZWthIC5ldXJla2FfX3Nob3ctZm9yLW1vYmlsZS11cCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEge1xuICAgIGZsZXg6IDIgOCBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IC41cmVtO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdmVyeS1zdWJ0bGUsICNkZGRkZGQpO1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjQwbXMgZWFzZSwgYmFja2dyb3VuZC1jb2xvciAzMjBtcyBlYXNlIDEyMG1zO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4taGVpZ2h0OiAzNjBweCkge1xuICAgICAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEtem9uZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUgc3ZnIHtcbiAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgZmlsbDogdmFyKC0tdmVyeS1zdWJ0bGUsICNkZGRkZGQpO1xuICAgICAgdHJhbnNpdGlvbjogZmlsbCAyNDBtcyBlYXNlIDE2MG1zLCBvcGFjaXR5IDI0MG1zIGVhc2U7XG4gICAgICBvcGFjaXR5OiB2YXIoLS12ZXJ5LXN1YnRsZS1pY29uLW9wYWNpdHksIDAuNDIpO1xuICAgICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fZHJvcC1hcmVhLXpvbmUuZXVyZWthX19kcm9wLWFyZWEtem9uZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWNmNjtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYWN0aXZlLCAjMzY5N2NkKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyNDBtcyBlYXNlIDEyMG1zLCBiYWNrZ3JvdW5kLWNvbG9yIDMyMG1zIGVhc2UgMDsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19kcm9wLWFyZWEtem9uZS5ldXJla2FfX2Ryb3AtYXJlYS16b25lLWFjdGl2ZSBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1hY3RpdmUsICMzNjk3Y2QpO1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwge1xuICAgIHotaW5kZXg6IDEwMDAwOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXNjcmltIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoOCwgOCwgOCwgMC4yNSk7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCB7XG4gICAgICBtaW4td2lkdGg6IDMwdnc7XG4gICAgICBtYXgtd2lkdGg6IDcwdnc7XG4gICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk5OTk7IH1cbiAgICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDE6Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDI6Zmlyc3QtY2hpbGQsIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwgLmV1cmVrYV9fbW9kYWwtcGFuZWwgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIHN1bW1hcnkgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07IH1cbiAgICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCBzdW1tYXJ5IGxhYmVsW2Zvcj1cImV1cmVrYV9fY3JvcC11cGxvYWQtZmlsZVwiXSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmV1cmVrYSAuZXVyZWthX19tb2RhbCAuZXVyZWthX19tb2RhbC1wYW5lbCBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IDEuNGVtOyB9XG4gICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTsgfVxuICAgICAgICAuZXVyZWthIC5ldXJla2FfX21vZGFsIC5ldXJla2FfX21vZGFsLXBhbmVsIC5ldXJla2FfX2J1dHRvbi1iYXIgPiAqIHtcbiAgICAgICAgICBmbGV4OiAxIDAgYXV0bzsgfVxuICAgIC5ldXJla2EgLmV1cmVrYV9fbW9kYWwuZXVyZWthX19ncmVlZHkgLmV1cmVrYV9fbW9kYWwtcGFuZWwge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMnJlbSk7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMnJlbSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX3N0aWNreS1iYXIge1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgbGVmdDogMC41cmVtO1xuICAgIHJpZ2h0OiAwLjVyZW07XG4gICAgdG9wOiAwOyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX3N0aWNreS1iYXIgLmV1cmVrYV9fbm90aWZpY2F0aW9uLXdyYXBwZXIge1xuICAgICAgLyp0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVlbSk7XG4gICAgICAgICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICB9Ki8gfSB9XG5cbi5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gIHotaW5kZXg6IDk5OTk5O1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19ub3RpZmljYXRpb24td3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbjpob3ZlciwgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLmV1cmVrYS1yb290IC5ldXJla2FfX25vdGlmaWNhdGlvbi13cmFwcGVyID4gKiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4uZXVyZWthLXJvb3QgLmV1cmVrYV9fY2hvb3NlLXJhZGlvIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDFweCkge1xuICAgIC5ldXJla2Etcm9vdCAuZXVyZWthX19jaG9vc2UtcmFkaW8ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwLjNlbSk7XG4gICAgICB6LWluZGV4OiAwOyB9IH1cbiAgLmV1cmVrYS1yb290IC5ldXJla2FfX2Nob29zZS1yYWRpbyBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXdvSkluWmxjbk5wYjI0aU9pQXpMQW9KSW1acGJHVWlPaUFpY0hWaWJHbGpMMkZ6YzJWMGN5OWpjM012YldGcGJpNWpjM01pTEFvSkluTnZkWEpqWlhNaU9pQmJDZ2tKSW5OeVl5OXpZM056TDIxaGFXNHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZYMkp2ZFhKaWIyNHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZjMlYwZEdsdVozTXZYMlJsY0hKbFkyRjBhVzl1TFhkaGNtNXBibWR6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDNObGRIUnBibWR6TDE5d2NtVm1hWGhsY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5elpYUjBhVzVuY3k5ZmNIZ3RkRzh0WlcwdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmMyVjBkR2x1WjNNdlgyRnpjMlYwTFhCcGNHVnNhVzVsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDE5aWIzVnlZbTl1TFdSbGNISmxZMkYwWlM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5bWRXNWpkR2x2Ym5NdlgyRnpjMmxuYmkxcGJuQjFkSE11YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2Wm5WdVkzUnBiMjV6TDE5amIyNTBZV2x1Y3k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5bWRXNWpkR2x2Ym5NdlgyTnZiblJoYVc1ekxXWmhiSE41TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmFYTXRiR1Z1WjNSb0xuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyWjFibU4wYVc5dWN5OWZhWE10YkdsbmFIUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZablZ1WTNScGIyNXpMMTlwY3kxdWRXMWlaWEl1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2Wm5WdVkzUnBiMjV6TDE5cGN5MXphWHBsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmNIZ3RkRzh0WlcwdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlpuVnVZM1JwYjI1ekwxOXdlQzEwYnkxeVpXMHVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZablZ1WTNScGIyNXpMMTl6YUdGa1pTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOW1kVzVqZEdsdmJuTXZYM04wY21sd0xYVnVhWFJ6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJaMWJtTjBhVzl1Y3k5ZmRHbHVkQzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDNSeVlXNXphWFJwYjI0dGNISnZjR1Z5ZEhrdGJtRnRaUzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDNWdWNHRmpheTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTltZFc1amRHbHZibk12WDIxdlpIVnNZWEl0YzJOaGJHVXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZhR1ZzY0dWeWN5OWZZMjl1ZG1WeWRDMTFibWwwY3k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5a2FYSmxZM1JwYjI1aGJDMTJZV3gxWlhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZlptOXVkQzF6YjNWeVkyVXRaR1ZqYkdGeVlYUnBiMjR1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2YUdWc2NHVnljeTlmWjNKaFpHbGxiblF0Y0c5emFYUnBiMjV6TFhCaGNuTmxjaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlvWld4d1pYSnpMMTlzYVc1bFlYSXRZVzVuYkdVdGNHRnljMlZ5TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJobGJIQmxjbk12WDJ4cGJtVmhjaTFuY21Ga2FXVnVkQzF3WVhKelpYSXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZhR1ZzY0dWeWN5OWZiR2x1WldGeUxYQnZjMmwwYVc5dWN5MXdZWEp6WlhJdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZmJHbHVaV0Z5TFhOcFpHVXRZMjl5Ym1WeUxYQmhjbk5sY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5eVlXUnBZV3d0WVhKbkxYQmhjbk5sY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5b1pXeHdaWEp6TDE5eVlXUnBZV3d0Y0c5emFYUnBiMjV6TFhCaGNuTmxjaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlvWld4d1pYSnpMMTl5WVdScFlXd3RaM0poWkdsbGJuUXRjR0Z5YzJWeUxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyaGxiSEJsY25NdlgzSmxibVJsY2kxbmNtRmthV1Z1ZEhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dmFHVnNjR1Z5Y3k5ZmMyaGhjR1V0YzJsNlpTMXpkSEpwY0hCbGNpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOW9aV3h3WlhKekwxOXpkSEl0ZEc4dGJuVnRMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgyRnVhVzFoZEdsdmJpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5aGNIQmxZWEpoYm1ObExuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyTnpjek12WDJKaFkydG1ZV05sTFhacGMybGlhV3hwZEhrdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmWW1GamEyZHliM1Z1WkM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5amMzTXpMMTlpWVdOclozSnZkVzVrTFdsdFlXZGxMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgySnZjbVJsY2kxcGJXRm5aUzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOWpZV3hqTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMk52YkhWdGJuTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZM056TXk5ZlptbHNkR1Z5TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMlpzWlhndFltOTRMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgyWnZiblF0Wm1GalpTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5bWIyNTBMV1psWVhSMWNtVXRjMlYwZEdsdVozTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZM056TXk5ZmFHbGtjR2t0YldWa2FXRXRjWFZsY25rdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmYUhsd2FHVnVjeTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOXBiV0ZuWlMxeVpXNWtaWEpwYm1jdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dlkzTnpNeTlmYTJWNVpuSmhiV1Z6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJOemN6TXZYMnhwYm1WaGNpMW5jbUZrYVdWdWRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5d1pYSnpjR1ZqZEdsMlpTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5d2JHRmpaV2h2YkdSbGNpNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWpjM016TDE5eVlXUnBZV3d0WjNKaFpHbGxiblF1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WTNOek15OWZjMlZzWldOMGFXOXVMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMk56Y3pNdlgzUmxlSFF0WkdWamIzSmhkR2x2Ymk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5amMzTXpMMTkwY21GdWMyWnZjbTB1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WTNOek15OWZkSEpoYm5OcGRHbHZiaTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTlqYzNNekwxOTFjMlZ5TFhObGJHVmpkQzV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTloWkdSdmJuTXZYMkp2Y21SbGNpMWpiMnh2Y2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdlltOTFjbUp2Ymk5aFpHUnZibk12WDJKdmNtUmxjaTF5WVdScGRYTXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZV1JrYjI1ekwxOWliM0prWlhJdGMzUjViR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTlpYjNKa1pYSXRkMmxrZEdndWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5aWRYUjBiMjV6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmWTJ4bFlYSm1hWGd1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTlsYkd4cGNITnBjeTV6WTNOeklpd0tDUWtpYzNKakwzTmpjM012WW05MWNtSnZiaTloWkdSdmJuTXZYMlp2Ym5RdGMzUmhZMnR6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmYUdsa1pTMTBaWGgwTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmYldGeVoybHVMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTlpYjNWeVltOXVMMkZrWkc5dWN5OWZjR0ZrWkdsdVp5NXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZZbTkxY21KdmJpOWhaR1J2Ym5NdlgzQnZjMmwwYVc5dUxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OWliM1Z5WW05dUwyRmtaRzl1Y3k5ZmNISmxabWw0WlhJdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5eVpYUnBibUV0YVcxaFoyVXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMkp2ZFhKaWIyNHZZV1JrYjI1ekwxOXphWHBsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmZEdWNGRDMXBibkIxZEhNdWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwySnZkWEppYjI0dllXUmtiMjV6TDE5MGFXMXBibWN0Wm5WdVkzUnBiMjV6TG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5aWIzVnlZbTl1TDJGa1pHOXVjeTlmZEhKcFlXNW5iR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WVdSa2IyNXpMMTkzYjNKa0xYZHlZWEF1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDJKdmRYSmliMjR2WDJKdmRYSmliMjR0WkdWd2NtVmpZWFJsWkMxMWNHTnZiV2x1Wnk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzlmYm1WaGRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5ZmJtVmhkQzFvWld4d1pYSnpMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTl1WldGMEwyMXBlR2x1Y3k5ZlkyeGxZWEptYVhndWMyTnpjeUlzQ2drSkluTnlZeTl6WTNOekwyNWxZWFF2Wm5WdVkzUnBiMjV6TDE5d2NtbDJZWFJsTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMMloxYm1OMGFXOXVjeTlmYm1WM0xXSnlaV0ZyY0c5cGJuUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdmMyVjBkR2x1WjNNdlgyZHlhV1F1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZjMlYwZEdsdVozTXZYM1pwYzNWaGJDMW5jbWxrTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMM05sZEhScGJtZHpMMTlrYVhOaFlteGxMWGRoY201cGJtZHpMbk5qYzNNaUxBb0pDU0p6Y21NdmMyTnpjeTl1WldGMEwyZHlhV1F2WDNCeWFYWmhkR1V1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZaM0pwWkM5ZlltOTRMWE5wZW1sdVp5NXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5bmNtbGtMMTl2YldWbllTNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZibVZoZEM5bmNtbGtMMTl2ZFhSbGNpMWpiMjUwWVdsdVpYSXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmYzNCaGJpMWpiMngxYlc1ekxuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OXVaV0YwTDJkeWFXUXZYM0p2ZHk1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOXphR2xtZEM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOXdZV1F1YzJOemN5SXNDZ2tKSW5OeVl5OXpZM056TDI1bFlYUXZaM0pwWkM5ZlptbHNiQzF3WVhKbGJuUXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmYldWa2FXRXVjMk56Y3lJc0Nna0pJbk55WXk5elkzTnpMMjVsWVhRdlozSnBaQzlmZEc4dFpHVndjbVZqWVhSbExuTmpjM01pTEFvSkNTSnpjbU12YzJOemN5OXVaV0YwTDJkeWFXUXZYM1pwYzNWaGJDMW5jbWxrTG5OamMzTWlMQW9KQ1NKemNtTXZjMk56Y3k5dVpXRjBMMmR5YVdRdlgyUnBjM0JzWVhrdFkyOXVkR1Y0ZEM1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJtVmhkQzluY21sa0wxOWthWEpsWTNScGIyNHRZMjl1ZEdWNGRDNXpZM056SWl3S0NRa2ljM0pqTDNOamMzTXZjM0JsWXk5ZmRHRmpkV3hoY2k1elkzTnpJaXdLQ1FraWMzSmpMM05qYzNNdmJHRjViM1YwTDE5c1lYbHZkWFF1YzJOemN5SUtDVjBzQ2draWJtRnRaWE1pT2lCYlhTd0tDU0p0WVhCd2FXNW5jeUk2SUNKQlFVOUZMRUZCUVVFc1QwRkJUeXhEUVVGRE8wVkJRMDRzVlVGQlZTeEZRVUZGTEZWQlFWVXNSMEZEZGtJN08wRkJRMFFzUVVGQlVTeFBRVUZFTEVOQlFVTXNRMEZCUXl4RlFVRlVMRUZCUVZFc1QwRkJSQ3hEUVVGRExFTkJRVU1zUVVGRlVDeFBRVUZSTEVWQlJsWXNRVUZCVVN4UFFVRkVMRU5CUVVNc1EwRkJReXhCUVVkUUxGRkJRVk1zUTBGQlF6dEZRVU5TTEZWQlFWVXNSVUZCUlN4UFFVRlBMRWRCUTNCQ096dEJRWFZUVEN4QmRVZDRVVUVzVDNaSGQxRlBMRUZCT0ZCTUxIbENRVUV3UWl4RFFVTjRRaXhIUVVGSExFVkJMMUJRTEVGMVIzaFJRU3hQZGtkM1VVOHNRVUU0VUhWQ0xIZENRVUY1UWl4RFFVTnVSQ3hIUVVGSExFVkJMMUJRTEVGMVIzaFJRU3hQZGtkM1VVOHNRMEZ6WkV3c09FSkJRVGhDTEVOQlJUVkNMRTFCUVUwc1EzVkhhSFZDUnp0RlFVTlVMRXRCUVVzc1JVRkJReXhKUVVGSkxFZEJRMkk3TzBGMlIzTlJSQ3hCZFVjMVVFRXNUM1pITkZCUExFTkJLMFZNTEVWQlFVVXNRMEZCUVN4QlFVRkJMRk5CUVVNc1FVRkJRU3hIUVM5RlRDeEJkVWMxVUVFc1QzWkhORkJQTEVOQmJVWk1MRTFCUVUwc1JVRnVSbElzUVhWSE5WQkJMRTkyUnpSUVR5eERRWGRNVEN4TlFVRk5MRVZCZUV4U0xFRjFSelZRUVN4UGRrYzBVRThzUTBGM1RFY3NUMEZCVHl4RlFYaE1ha0lzUVhWSE5WQkJMRTkyUnpSUVR5eERRV3RsVEN4dlFrRkJiMElzUTBGSmJFSXNTMEZCU3l4RlFYUmxWQ3hCZFVjMVVFRXNUM1pITkZCUExFTkJlV3RDVEN4MVFrRkJkVUlzUTBGWmNrSXNkMEpCUVhkQ0xFTkJOa0owUWl4TFFVRkxMRU4xUnpreVFrRTdSVUZEVUN4TlFVRk5MRVZCUVVNc1QwRkJUeXhIUVVOcVFqczdRWFpITUZCRUxFRjFSM2hOUVN4UGRrZDNUVThzUTBGcGMwSk1MR05CUVdNc1JVRnFjMEpvUWl4QmRVZDRUVUVzVDNaSGQwMVBMRU5CYVhOQ1RDeGpRVUZqTEVOQlUxb3NiMEpCUVc5Q0xFTjFSMncxUWs0N1JVRlFaQ3hSUVVGUkxFVkJRVU1zVVVGQlVUdEZRVU5xUWl4SFFVRkhMRVZCUVVNc1EwRkJRenRGUVVOTUxFbEJRVWtzUlVGQlF5eERRVUZETzBWQlEwNHNTMEZCU3l4RlFVRkRMRU5CUVVNN1JVRkRVQ3hOUVVGTkxFVkJRVU1zUTBGQlF5eEhRVXRZT3p0QlFYTkNSRHM3UlVGRlJUdEJka2M0UzBZc1FVRTVVVUVzVDBFNFVVOHNRMEZyU0V3c1MwRkJTeXhEUVVGQkxFRkJRVUVzV1VGQlF5eERRVUZoTEUxQlFVMHNRVUZCYmtJc1NVRkRSaXhMUVVGTExFVkJia2hZTEVGQk9WRkJMRTlCT0ZGUExFTkJkMGhNTEcxQ1FVRnRRaXhEUVVOcVFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFTkJRV0VzVVVGQlVTeEhRVU4yUWl4TFFVRkxMRVZCTVVoaUxFRkJPVkZCTEU5Qk9GRlBMRU5CWjBsTUxFMUJRVTBzUTBGRFNpeEJRVUZCTEZsQlFVVXNRMEZCWVN4TlFVRk5MRUZCUVc1Q0xFVkJMMWxITzBWQlExQXNWVUZCVlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVkQlFVY3NRMEZCUXl4dFEwRkJiVU1zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRTlCUVU4c1EwRkJReXhEUVVGRExFTkJRVU1zYlVOQlFXZEVMRWRCUXpsSU96dEJkMGMwVGtRc1FYaEhNVTVCTEZsM1J6Qk9XU3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJia2MxUWl4QmVFY3hUa0VzV1hkSE1FNVpMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFZDRSMnhKTlVJc1FVRXpURUVzWjBKQk1reG5RaXhGUVN0RmFFSXNRVUV4VVVFc1QwRXdVVThzUVVFNFpVd3NTVUZCVFN4RFFVRkJMRUZCUVVFc2IwSkJRVzlDTEVWQlEzaENMRzlDUVVGdlFpeERRVTFzUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVkQmNtWmFMRUZCTVZGQkxFOUJNRkZQTEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZUY2tJc1RVRkJUU3hGUVd4c1FsWXNRVUV4VVVFc1QwRXdVVThzUTBGNWEwSk1MSFZDUVVGMVFpeERRVmx5UWl4M1FrRkJkMElzUTBGVmRFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhEUVVGTExFOUJRVThzUVVGQldpeEhRUzlzUWxvc1FVRXhVVUVzVDBFd1VVOHNRMEY1YTBKTUxIVkNRVUYxUWl4RFFWbHlRaXgzUWtGQmQwSXNRMEZWUkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVlVGQlZTeEJRVUZtTEVWQmVqSkNhRUk3UlVGQlJTdzJSa0ZCTmtZN1JVRnVRamxITEZGQlFWRXNSVUZCUlN4dFFrRkJiVUk3UlVGRE4wSXNTVUZCU1N4RlFVRkZMSEZDUVVGeFFqdEZRVUZGTEdOQlFXTTdSVUZETTBNc1NVRkJTU3hGUVVGRkxIZENRVUYzUWp0RlFVTTVRaXhQUVVGUExFVkJRVU1zV1VGQldUdEZRVU53UWl4TlFVRk5MRVZCUVVNc1dVRkJXVHRGUVVOdVFpeE5RVUZOTEVWQlFVVXNZMEZCWXp0RlFVTjBRaXhMUVVGTExFVkJRVVVzWTBGQll6dEZRVU55UWl4UlFVRlJMRVZCUVVVc1RVRkJUU3hIUVdOcVFqdEZRV0pETEVGQlEwVXNTVUZFUlN4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBFMFFrUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkRVaXhGUVVGRkxFRkJRMGdzV1VGQlpTeERRVUZCTEVGQlFVRXNRMEZCUXl4RmVFZDJWWGhDTEVOQlFVTXNSWGRIYjA5TUxFRjRSM0JQU1N4WmQwZHZUMUVzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVONFIzSlRlRUlzU1VGQlNTeEJRVUZCTEUxQlFVMHNRM2RITUZOTUxFdEJRVXNzUjBFMFFrUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkRVaXhGUVVGRkxFRkJRMGdzV1VGQlpTeERRVUZCTEVGQlFVRXNRMEZCUXl4RmVFZDJWWGhDTEVOQlFVTXNSVUZFU0N4QlFVTkZMRWxCUkVVc1FVRkJRU3hOUVVGTkxFTjNSM0ZQV2l4WlFVRlpMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFUUkNSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVU5TTEVWQlFVVXNRVUZEU0N4WlFVRmxMRU5CUVVFc1FVRkJRU3hEUVVGRExFVjRSM1pWZUVJc1EwRkJReXhGZDBkdlQwd3NRWGhIY0U5SkxGbDNSMjlQVVN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhoQ0xFTkJRVU1zUlVGRVNDeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU5CYzAxYUxHZENRVUZuUWl4RFFYSk5XaXhEUVVGRExFVkJSRWdzUVVGRFJTeEpRVVJGTEVGQlFVRXNUVUZCVFN4RFFYRlNXaXhQUVVGUExFRkJPR1ZNTEVsQlFVMHNRMEZCUVN4QlFVRkJMRzlDUVVGdlFpeEZRVU40UWl4dlFrRkJiMElzUTBGTmJFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhEUVVGTExFMUJRVTBzUVVGQldDeEZRWHAzUWxJc1EwRkJReXhGUVc5U1RDeEJRWEJTU1N4UFFXOVNSeXhCUVRobFRDeEpRVUZOTEVOQlFVRXNRVUZCUVN4dlFrRkJiMElzUlVGRGVFSXNiMEpCUVc5Q0xFTkJjSGRDZEVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTBFd2QwSk9MRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eE5RVUZOTEVGQlFWZ3NSVUY2ZDBKU0xFTkJRVU1zUlVGRVNDeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU5CY1ZKYUxFOUJRVThzUTBGNWEwSk1MSFZDUVVGMVFpeERRVk55UWl4TlFVRk5MRU5CZERKQ1RpeERRVUZETEVWQmIxSk1MRUZCY0ZKSkxFOUJiMUpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEU1TVVKMlFpeEpRVUZKTEVGQlFVRXNUVUZCVFN4RFFYVXlRbElzVFVGQlRTeERRWFF5UWs0c1EwRkJReXhGUVVSSUxFRkJRMFVzU1VGRVJTeEJRVUZCTEUxQlFVMHNRMEZ4VWxvc1QwRkJUeXhEUVhsclFrd3NkVUpCUVhWQ0xFTkJXWEpDTEhkQ1FVRjNRaXhEUVZWMFFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFVkJiak5DVWl4RFFVRkRMRVZCYjFKTUxFRkJjRkpKTEU5QmIxSkhMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CTVRKQ01VSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRnZNMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhQUVVGUExFRkJRVm9zUlVGdU0wSlNMRU5CUVVNc1JVRkVTQ3hCUVVORkxFbEJSRVVzUVVGQlFTeE5RVUZOTEVOQmNWSmFMRTlCUVU4c1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZseVFpeDNRa0ZCZDBJc1EwRlZSQ3hMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NWVUZCVlN4QlFVRm1MRVZCYmpOQ04wSXNRMEZCUXl4RlFXOVNUQ3hCUVhCU1NTeFBRVzlTUnl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFURXlRakZDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CYnpOQ1pTeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJiak5DTjBJc1EwRkJReXhGUVVSSUxFRkJRMGtzU1VGRVFTeEJRVUZCTEUxQlFVMHNRM2RIY1U5YUxGbEJRVmtzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhSQ0xFdEJRVXNzUlhkSGIwOVlMRUY0UjNCUFRTeFpkMGR2VDAwc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVlhSQ0xFdEJRVXNzUlVGRVZDeEJRVU5KTEVsQlJFRXNRVUZCUVN4TlFVRk5MRU4zUjNGUFdpeFpRVUZaTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVFJDUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVOU0xFVkJRVVVzUVVGRFNDeFpRVUZsTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVY0UjNaVmRFSXNTMEZCU3l4RmQwZHZUMWdzUVhoSGNFOU5MRmwzUjI5UFRTeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU40UjNKVGVFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EzZEhNRk5NTEV0QlFVc3NSMEUwUWtRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGRFVpeEZRVUZGTEVGQlEwZ3NXVUZCWlN4RFFVRkJMRUZCUVVFc1EwRkJReXhGZUVkMlZYUkNMRXRCUVVzc1JVRkVWQ3hCUVVOSkxFbEJSRUVzUVVGQlFTeE5RVUZOTEVOQmMwMWFMR2RDUVVGblFpeERRWEpOVml4TFFVRkxMRVZCUkZRc1FVRkRTU3hKUVVSQkxFRkJRVUVzVFVGQlRTeERRWEZTV2l4UFFVRlBMRUZCT0dWTUxFbEJRVTBzUTBGQlFTeEJRVUZCTEc5Q1FVRnZRaXhGUVVONFFpeHZRa0ZCYjBJc1EwRk5iRUlzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRTFCUVUwc1FVRkJXQ3hGUVhwM1FrNHNTMEZCU3l4RlFXOVNXQ3hCUVhCU1RTeFBRVzlTUXl4QlFUaGxUQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeHZRa0ZCYjBJc1JVRkRlRUlzYjBKQlFXOUNMRU5CY0hkQ2RFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRXdkMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhOUVVGTkxFRkJRVmdzUlVGNmQwSk9MRXRCUVVzc1JVRkVWQ3hCUVVOSkxFbEJSRUVzUVVGQlFTeE5RVUZOTEVOQmNWSmFMRTlCUVU4c1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZOeVFpeE5RVUZOTEVOQmRESkNTaXhMUVVGTExFVkJiMUpZTEVGQmNGSk5MRTlCYjFKRExFTkJlV3RDVEN4MVFrRkJkVUlzUTBFNU1VSjJRaXhKUVVGSkxFRkJRVUVzVFVGQlRTeERRWFV5UWxJc1RVRkJUU3hEUVhReVFrb3NTMEZCU3l4RlFVUlVMRUZCUTBrc1NVRkVRU3hCUVVGQkxFMUJRVTBzUTBGeFVsb3NUMEZCVHl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFWVjBRaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCYmpOQ1RpeExRVUZMTEVWQmIxSllMRUZCY0ZKTkxFOUJiMUpETEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZaY2tJc2QwSkJRWGRDTEVOQk1USkNNVUlzU1VGQlNTeEJRVUZCTEUxQlFVMHNRMEZ2TTBKT0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4UFFVRlBMRUZCUVZvc1JVRnVNMEpPTEV0QlFVc3NSVUZFVkN4QlFVTkpMRWxCUkVFc1FVRkJRU3hOUVVGTkxFTkJjVkphTEU5QlFVOHNRMEY1YTBKTUxIVkNRVUYxUWl4RFFWbHlRaXgzUWtGQmQwSXNRMEZWUkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVlVGQlZTeEJRVUZtTEVWQmJqTkNNMElzUzBGQlN5eEZRVzlTV0N4QlFYQlNUU3hQUVc5U1F5eERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVEV5UWpGQ0xFbEJRVWtzUVVGQlFTeE5RVUZOTEVOQmJ6TkNaU3hMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NWVUZCVlN4QlFVRm1MRVZCYmpOQ00wSXNTMEZCU3l4RlFVUlVMRUZCUTFVc1NVRkVUaXhCUVVGQkxFMUJRVTBzUTNkSGNVOWFMRmxCUVZrc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEUwUWtRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGRFVpeEZRVUZGTEVGQlEwZ3NXVUZCWlN4RFFVRkJMRUZCUVVFc1EwRkJReXhGZUVkMlZXaENMRTFCUVUwc1JYZEhiMDlzUWl4QmVFZHdUMWtzV1hkSGIwOUJMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEZUVkeVUzaENMRWxCUVVrc1FVRkJRU3hOUVVGTkxFTjNSekJUVEN4TFFVRkxMRWRCTkVKRUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlExSXNSVUZCUlN4QlFVTklMRmxCUVdVc1EwRkJRU3hCUVVGQkxFTkJRVU1zUlhoSGRsVm9RaXhOUVVGTkxFVkJSR2hDTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQk5FSkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJRMUlzUlVGQlJTeEJRVU5JTEZsQlFXVXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JYaEhkbFZvUWl4TlFVRk5MRVYzUjI5UGJFSXNRWGhIY0U5WkxGbDNSMjlQUVN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTjRSM0pUZUVJc1NVRkJTU3hCUVVGQkxFMUJRVTBzUTNkSE1GTk1MRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEZlRWQyVldoQ0xFMUJRVTBzUlVGRWFFSXNRVUZEVlN4SlFVUk9MRUZCUVVFc1RVRkJUU3hEUVhOTldpeG5Ra0ZCWjBJc1EwRnlUVW9zVFVGQlRTeEZRVVJvUWl4QlFVTlZMRWxCUkU0c1FVRkJRU3hOUVVGTkxFTkJjVkphTEU5QlFVOHNRVUU0WlV3c1NVRkJUU3hEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRVZCUTNoQ0xHOUNRVUZ2UWl4RFFVMXNRaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUVUZCVFN4QlFVRllMRVZCZW5kQ1FTeE5RVUZOTEVWQmIxSnNRaXhCUVhCU1dTeFBRVzlTVEN4QlFUaGxUQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeHZRa0ZCYjBJc1JVRkRlRUlzYjBKQlFXOUNMRU5CY0hkQ2RFSXNTVUZCU1N4QlFVRkJMRTFCUVUwc1EwRXdkMEpPTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWxCUVVNc1EwRkJTeXhOUVVGTkxFRkJRVmdzUlVGNmQwSkJMRTFCUVUwc1JVRkVhRUlzUVVGRFZTeEpRVVJPTEVGQlFVRXNUVUZCVFN4RFFYRlNXaXhQUVVGUExFTkJlV3RDVEN4MVFrRkJkVUlzUTBGVGNrSXNUVUZCVFN4RFFYUXlRa1VzVFVGQlRTeEZRVzlTYkVJc1FVRndVbGtzVDBGdlVrd3NRMEY1YTBKTUxIVkNRVUYxUWl4RFFUa3hRblpDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CZFRKQ1VpeE5RVUZOTEVOQmRESkNSU3hOUVVGTkxFVkJSR2hDTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EwRnhVbG9zVDBGQlR5eERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVlYwUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVDBGQlR5eEJRVUZhTEVWQmJqTkNRU3hOUVVGTkxFVkJiMUpzUWl4QlFYQlNXU3hQUVc5U1RDeERRWGxyUWt3c2RVSkJRWFZDTEVOQldYSkNMSGRDUVVGM1FpeERRVEV5UWpGQ0xFbEJRVWtzUVVGQlFTeE5RVUZOTEVOQmJ6TkNUaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCYmpOQ1FTeE5RVUZOTEVWQlJHaENMRUZCUTFVc1NVRkVUaXhCUVVGQkxFMUJRVTBzUTBGeFVsb3NUMEZCVHl4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFWVkVMRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eFZRVUZWTEVGQlFXWXNSVUZ1TTBKeVFpeE5RVUZOTEVWQmIxSnNRaXhCUVhCU1dTeFBRVzlTVEN4RFFYbHJRa3dzZFVKQlFYVkNMRU5CV1hKQ0xIZENRVUYzUWl4RFFURXlRakZDTEVsQlFVa3NRVUZCUVN4TlFVRk5MRU5CYnpOQ1pTeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJiak5DY2tJc1RVRkJUU3hEUVVGRE8wbEJRMklzVDBGQlR5eEZRVUZGTEdWQlFXVXNSMEZEZWtJN08wTjNSM0JEVEN4QlFVRkJMRUZCUVVFc1MwRkJReXhGUVVGUExHVkJRV1VzUVVGQmRFSXNTVUZCZVVJc1FVRkJRU3hCUVVGQkxFdEJRVU1zUlVGQlR5eG5Ra0ZCWjBJc1FVRkJka0lzUlVGQmVVSTdSVUZEYkVRc1QwRkJUeXhGUVVGRExFTkJRVU1zUjBGUFZqdEZUamhGUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzB0TmRFWjJReXhCUVVGQkxFRkJRVUVzUzBGQlF5eEZRVUZQTEdWQlFXVXNRVUZCZEVJc1NVRkJlVUlzUVVGQlFTeEJRVUZCTEV0QlFVTXNSVUZCVHl4blFrRkJaMElzUVVGQmRrSXNSVUZCZVVJN1RVRkhhRVFzVDBGQlR5eEZRVUZGTEVsQlFVazdUVUZEWWl4VlFVRlZMRVZCUVVNc1RVRkJUVHROUVVOcVFpeGpRVUZqTEVWQlFVVXNUVUZCVFN4SFFVZDZRanM3UVVGRlJDeEJRVUZCTEZsQlFWa3NRMEZCUXp0RlFYZEhXRHM3T3pzN096czdPenM3UzBGWFJ5eEZRWE5GU2p0RlFYcE1SQ3hCUVVWRkxGbEJSbFVzUVVGRlZpeHZRa0ZCY1VJc1EwRkJRenRKUVVOd1FpeExRVUZMTEVWQlFVVXNTMEZCU3p0SlFVTmFMRTFCUVUwc1JVRkJSU3hMUVVGTE8wbEJRMklzVlVGQlZTeEZRVUZGTEVsQlFVazdTVUZEYUVJc1ZVRkJWU3hGUVVGRkxIZENRVUYzUWl4SFFVTnlRenRGUVZCSUxFRkJVMFVzV1VGVVZTeERRVk5XTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXh0UWtGQmJVSXNRVUZCZUVJc1JVRkJNRUk3U1VGRE9VSXNWMEZCVnl4RlFVRkZMRXRCUVVzc1IwRkRia0k3UlVGWVNDeEJRV2xDV1N4WlFXcENRU3hEUVdGV0xIbENRVUY1UWl4RFFVTjJRaXhMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTmFMRVZCUVVVc1FVRkRTQ3d5UWtGQk5rSXNSMEZEZUVJc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RlFXcENiRU1zUVVGcFFsa3NXVUZxUWtFc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUXpKQ0xFMUJRVkVzUjBGRGFrTXNSVUZCUlN4QlFVRkJMRzlDUVVGdlFpeEZRV3BDYkVNc1FVRnBRbGtzV1VGcVFrRXNRMEZoYVVJc2QwSkJRWGRDTEVOQlEycEVMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExb3NSVUZCUlN4QlFVTklMREpDUVVFMlFpeEhRVU40UWl4RlFVRkZMRUZCUVVFc2IwSkJRVzlDTEVWQmFrSnNReXhCUVdsQ1dTeFpRV3BDUVN4RFFXRnBRaXgzUWtGQmQwSXNRMEZEYWtRc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUXpKQ0xFMUJRVkVzUjBGRGFrTXNSVUZCUlN4QlFVRkJMRzlDUVVGdlFpeERRVUZETzBsQlEzWkNMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSMEZKTVVJN1NVRjBRbGdzUVVGcFFsa3NXVUZxUWtFc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRUZCUTBnc01rSkJRVFpDTEVkQlEzaENMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZWtJc1FVRkJRU3hOUVVGTExFRkJRVUVzUjBGdVFtUXNRVUZwUWxrc1dVRnFRa0VzUTBGaFZpeDVRa0ZCZVVJc1EwRkRka0lzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRXaXhGUVVGRkxFRkJRekpDTEUxQlFWRXNSMEZEYWtNc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVVjZRaXhCUVVGQkxFMUJRVXNzUVVGQlFTeEhRVzVDWkN4QlFXbENXU3haUVdwQ1FTeERRV0ZwUWl4M1FrRkJkMElzUTBGRGFrUXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFdpeEZRVUZGTEVGQlEwZ3NNa0pCUVRaQ0xFZEJRM2hDTEVWQlFVVXNRVUZCUVN4dlFrRkJiMElzUTBGRmVrSXNRVUZCUVN4TlFVRkxMRUZCUVVFc1IwRnVRbVFzUVVGcFFsa3NXVUZxUWtFc1EwRmhhVUlzZDBKQlFYZENMRU5CUTJwRUxFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFvc1JVRkJSU3hCUVVNeVFpeE5RVUZSTEVkQlEycERMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZWtJc1FVRkJRU3hOUVVGTExFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUjBGRE1VSTdSVTUxUkZRc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SlRUVkZka01zUVVGNVFsVXNXVUY2UWtVc1EwRmhWaXg1UWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEV2l4RlFVRkZMRWRCVlVFc1JVRkJSU3hCUVVGQkxHbENRVUZwUWl4RlFYcENOMElzUVVGNVFsVXNXVUY2UWtVc1EwRmhhVUlzZDBKQlFYZENMRU5CUTJwRUxFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFvc1JVRkJSU3hIUVZWQkxFVkJRVVVzUVVGQlFTeHBRa0ZCYVVJc1EwRkJRenROUVVWc1FpeFZRVUZWTEVWQlFVVXNUVUZCVFN4SFFVVnlRanRGUVRkQ1ZDeEJRV2REV1N4WlFXaERRU3hEUVdGV0xIbENRVUY1UWl4RFFVTjJRaXhMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTmFMRVZCUVVVc1FVRm5Ra2dzVFVGQlVTeEhRVU5JTEVWQlFVVXNRVUZCUVN4dlFrRkJiMElzUlVGb1EyeERMRUZCWjBOWkxGbEJhRU5CTEVOQllXbENMSGRDUVVGM1FpeERRVU5xUkN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5hTEVWQlFVVXNRVUZuUWtnc1RVRkJVU3hIUVVOSUxFVkJRVVVzUVVGQlFTeHZRa0ZCYjBJc1EwRkJRenRKUVVOMlFpeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFZEJTVEZDTzBsQmNrTllMRUZCWjBOWkxGbEJhRU5CTEVOQllWWXNlVUpCUVhsQ0xFTkJRM1pDTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMW9zUlVGQlJTeEJRV2RDU0N4TlFVRlJMRWRCUTBnc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVVjJRaXhCUVVGQkxFMUJRVWNzUVVGQlFTeEhRV3hEWkN4QlFXZERXU3haUVdoRFFTeERRV0ZwUWl4M1FrRkJkMElzUTBGRGFrUXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFdpeEZRVUZGTEVGQlowSklMRTFCUVZFc1IwRkRTQ3hGUVVGRkxFRkJRVUVzYjBKQlFXOUNMRU5CUlhaQ0xFRkJRVUVzVFVGQlJ5eEJRVUZCTEVWQlFWRTdUVUZEVWl4UFFVRlBMRVZCUVVVc1owSkJRV2RDTEVkQlF6RkNPMFZCY0VOaUxFRkJlVU5aTEZsQmVrTkJMRU5CWVZZc2VVSkJRWGxDTEVOQlEzWkNMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExb3NSVUZCUlN4QlFYbENTQ3hoUVVGbExFZEJRMVlzUlVGQlJTeEJRVUZCTEc5Q1FVRnZRaXhGUVhwRGJFTXNRVUY1UTFrc1dVRjZRMEVzUTBGaGFVSXNkMEpCUVhkQ0xFTkJRMnBFTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMW9zUlVGQlJTeEJRWGxDU0N4aFFVRmxMRWRCUTFZc1JVRkJSU3hCUVVGQkxHOUNRVUZ2UWl4RFFVRkRPMGxCUTNaQ0xFOUJRVThzUlVGQlJTeG5Ra0ZCWjBJc1IwRkpNVUk3U1VFNVExZ3NRVUY1UTFrc1dVRjZRMEVzUTBGaFZpeDVRa0ZCZVVJc1EwRkRka0lzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRXaXhGUVVGRkxFRkJlVUpJTEdGQlFXVXNSMEZEVml4RlFVRkZMRUZCUVVFc2IwSkJRVzlDTEVOQlJYWkNMRUZCUVVFc1RVRkJSeXhCUVVGQkxFZEJNME5rTEVGQmVVTlpMRmxCZWtOQkxFTkJZV2xDTEhkQ1FVRjNRaXhEUVVOcVJDeExRVUZMTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVOYUxFVkJRVVVzUVVGNVFrZ3NZVUZCWlN4SFFVTldMRVZCUVVVc1FVRkJRU3h2UWtGQmIwSXNRMEZGZGtJc1FVRkJRU3hOUVVGSExFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUlN4blFrRkJaMElzUjBGRE1VSTdSVUUzUTJJc1FVRjFSRThzV1VGMlJFc3NRMEZ4UkZnc1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEZRVUZGTzBsQlEyWXNUMEZCVHl4RlFVRkRMRWxCUVVrN1NVRkRXaXhUUVVGVExFVkJRVU1zU1VGQlNUdEpRVWxrTzFWQlEwY3NSVUZ6UTBvN1NVRndSMDRzUVVFd1JGTXNXVUV4UkVjc1EwRnhSRmdzUzBGQlN5eEJRVU5JTEVsQlFVMHNRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRVaXhGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVZFlMRU5CUVVNc1EwRkJRenROUVVOR0xFbEJRVWtzUlVGQlF5eFJRVUZSTEVkQlEyUTdTVUZKZFVJc1UwRkJReXhGUVVGa0xFOUJRVThzUlVGQlF5eEpRVUZKTzAxQmFFVTVRaXhCUVhWRVR5eFpRWFpFU3l4RFFYRkVXQ3hMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVWQlFVVTdVVUZWWWl4UFFVRlBMRVZCUVVNc1NVRkJTU3hIUVcxRFpqdFJRWEJIVGl4QlFYVkZWeXhaUVhaRlF5eERRWEZFV0N4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJaVlFzUlVGQlJTeERRVU5HTEdsQ1FVRnBRaXhEUVVGRE8xVkJRMmhDTEZOQlFWTXNSVUZCUXl4TFFVRkxMRWRCUTJoQ08xRkJla1ZhTEVGQk1FVlhMRmxCTVVWRExFTkJjVVJZTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRmxWQ3hGUVVGRkxFTkJTVVlzYjBKQlFXOUNMRU5CUVVNN1ZVRkRia0lzVTBGQlV5eEZRVUZETEVsQlFVa3NSMEZEWmp0UlFUVkZXaXhCUVhORlZ5eFpRWFJGUXl4RFFYRkVXQ3hMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlpWUXNSVUZCUlN4QlFVOUdMRzlDUVVGeFFpeERRVUZETzFWQlEzQkNMRk5CUVZNc1JVRkJReXhQUVVGUExFZEJRMnhDTzFGQkwwVmFMRUZCYzBWWExGbEJkRVZETEVOQmNVUllMRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGbFZDeEZRVUZGTEVGQlZVWXNiVUpCUVc5Q0xFTkJRVU03VlVGRGJrSXNVMEZCVXl4RlFVRkRMRlZCUVZVc1IwRkpja0k3VlU1VVVpeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8xbE5OVVYyUXl4QlFYTkZWeXhaUVhSRlF5eERRWEZFV0N4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJaVlFzUlVGQlJTeEJRVlZHTEcxQ1FVRnZRaXhEUVVGRE8yTkJSMnBDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ08xRkJja1phTEVGQmMwVlhMRmxCZEVWRExFTkJjVVJZTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRmxWQ3hGUVVGRkxFRkJaMEpHTEd0Q1FVRnRRaXhEUVVGRE8xVkJRMnhDTEZOQlFWTXNSVUZCUXl4VFFVRlRMRWRCU1hCQ08xVk9abElzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRaVFRWRmRrTXNRVUZ6UlZjc1dVRjBSVU1zUTBGeFJGZ3NTMEZCU3l4QlFVTklMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVdWVUxFVkJRVVVzUVVGblFrWXNhMEpCUVcxQ0xFTkJRVU03WTBGSGFFSXNUMEZCVHl4RlFVRkZMRWxCUVVrc1IwRkZhRUk3VVVFelJsb3NRVUZ6UlZjc1dVRjBSVU1zUTBGeFJGZ3NTMEZCU3l4QlFVTklMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVdWVUxFVkJRVVVzUVVGelFrWXNhMEpCUVcxQ0xFTkJRVU03VlVGRGJFSXNVMEZCVXl4RlFVRkRMRk5CUVZNc1IwRkpjRUk3VlU1eVFsSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dFpUVFZGZGtNc1FVRnpSVmNzV1VGMFJVTXNRMEZ4UkZnc1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRV1ZVTEVWQlFVVXNRVUZ6UWtZc2EwSkJRVzFDTEVOQlFVTTdZMEZIYUVJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUjBGRmFFSTdSVUYzUW5GQ0xGTkJRVU1zUlVGQlpDeFBRVUZQTEVWQlFVTXNTVUZCU1R0SlFYcElhRU1zUVVGclNXRXNXVUZzU1VRc1EwRnhTRllzVDBGQlR5eERRVU5PTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRlZWQ3hGUVVGRkxFRkJRMFlzWlVGQlowSXNRMEZCUXp0TlFVTm1MRk5CUVZNc1JVRkJReXhOUVVGTkxFZEJRMnBDTzBsQmNrbGtMRUZCYTBsaExGbEJiRWxFTEVOQmNVaFdMRTlCUVU4c1EwRkRUaXhMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlZWUXNSVUZCUlN4QlFVbEdMR2xDUVVGclFpeERRVUZETzAxQlEycENMRk5CUVZNc1JVRkJReXhMUVVGTExFZEJRMmhDTzBsQmVFbGtMRUZCYTBsaExGbEJiRWxFTEVOQmNVaFdMRTlCUVU4c1EwRkRUaXhMUVVGTExFRkJRMGdzU1VGQlRTeERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVTlNMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlZWUXNSVUZCUlN4QlFVOUdMRzlDUVVGeFFpeERRVUZETzAxQlEzQkNMRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3U1VFelNXUXNRVUZyU1dFc1dVRnNTVVFzUTBGeFNGWXNUMEZCVHl4RFFVTk9MRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGVlZDeEZRVUZGTEVGQlZVWXNiMEpCUVhGQ0xFTkJRVU03VFVGRGNFSXNVMEZCVXl4RlFVRkRMRTlCUVU4c1IwRkRiRUk3U1VFNVNXUXNRVUZyU1dFc1dVRnNTVVFzUTBGeFNGWXNUMEZCVHl4RFFVTk9MRXRCUVVzc1FVRkRTQ3hKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGVlZDeEZRVUZGTEVGQllVWXNiVUpCUVc5Q0xFTkJRVU03VFVGRGJrSXNVMEZCVXl4RlFVRkRMRlZCUVZVc1IwRkpja0k3VFU1NFJWWXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dFJUVFZGZGtNc1FVRnJTV0VzV1VGc1NVUXNRMEZ4U0ZZc1QwRkJUeXhEUVVOT0xFdEJRVXNzUVVGRFNDeEpRVUZOTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFJc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZWVkN4RlFVRkZMRUZCWVVZc2JVSkJRVzlDTEVOQlFVTTdWVUZIYWtJc1QwRkJUeXhGUVVGRkxFbEJRVWtzUjBGRmFFSTdTVUZ3U21Rc1FVRnJTV0VzV1VGc1NVUXNRMEZ4U0ZZc1QwRkJUeXhEUVVOT0xFdEJRVXNzUVVGRFNDeEpRVUZOTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUTFJc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZWVkN4RlFVRkZMRUZCYlVKR0xHdENRVUZ0UWl4RFFVRkRPMDFCUTJ4Q0xGTkJRVk1zUlVGQlF5eFRRVUZUTEVkQlNYQkNPMDFPT1VWV0xFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1VVMDFSWFpETEVGQmEwbGhMRmxCYkVsRUxFTkJjVWhXTEU5QlFVOHNRMEZEVGl4TFFVRkxMRUZCUTBnc1NVRkJUU3hEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJWVlFzUlVGQlJTeEJRVzFDUml4clFrRkJiVUlzUTBGQlF6dFZRVWRvUWl4UFFVRlBMRVZCUVVVc1NVRkJTU3hIUVVWb1FqdEpRVEZLWkN4QlFXdEpZU3haUVd4SlJDeERRWEZJVml4UFFVRlBMRU5CUTA0c1MwRkJTeXhCUVVOSUxFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVlZVTEVWQlFVVXNRVUY1UWtZc2EwSkJRVzFDTEVOQlFVTTdUVUZEYkVJc1UwRkJVeXhGUVVGRExGTkJRVk1zUjBGSmNFSTdUVTV3UmxZc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0UlRUVkZka01zUVVGclNXRXNXVUZzU1VRc1EwRnhTRllzVDBGQlR5eERRVU5PTEV0QlFVc3NRVUZEU0N4SlFVRk5MRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRMUlzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRlZWQ3hGUVVGRkxFRkJlVUpHTEd0Q1FVRnRRaXhEUVVGRE8xVkJSMmhDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ08wVkJXV3RDTEZOQlFVTXNSVUZCWkN4UFFVRlBMRVZCUVVNc1NVRkJTVHRKVG1oSE0wSXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5UVFZGZGtNc1FVRXlTMUVzV1VFelMwa3NRMEYzUzFnc1QwRkJUeXhCUVVGQkxIZENRVUYzUWl4QlFVRkJMSGxDUVVGNVFpeERRVU4yUkN4TFFVRkxMRUZCUTBvc1NVRkJUeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFZEJNMHR5UWl4QlFUSkxVU3haUVROTFNTeERRWGRMSzBNc1QwRkJUeXhCUVVGQkxIZENRVUYzUWl4QlFVRkJMSGRDUVVGM1FpeERRVU5vU0N4TFFVRkxMRUZCUTBvc1NVRkJUeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVU5TTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFVkJRVVU3VVVGTldDeHRRa0ZCYlVJc1JVRkJReXh2UjBGQmIwYzdVVUZEZUVnc2NVSkJRWEZDTEVWQlFVVXNlVUpCUVhsQ0xFZEJSM0pFT3p0QlFVMVFMRUZCUTBVc1QwRkVTeXhEUVVOTUxIRkNRVUZ4UWl4RFFVRkRPMFZCUTNCQ0xFOUJRVThzUlVGQlJTeEpRVUZKTEVkQlYyUTdSVUZpU0N4QlFVZEpMRTlCU0Vjc1EwRkRUQ3h4UWtGQmNVSXNRMEZGYmtJc1VVRkJVU3hEUVVGRE8wbEJRMUFzVFVGQlRTeEZRVUZGTEVOQlFVTTdTVUZEVkN4UFFVRlBMRVZCUVVVc1EwRkJReXhIUVVOWU8wVkJUa3dzUVVGUFNTeFBRVkJITEVOQlEwd3NjVUpCUVhGQ0xFTkJUVzVDTEdsQ1FVRnBRaXhEUVVGRE8wbEJRMmhDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCU1dRN1NVRmFUQ3hCUVZOUkxFOUJWRVFzUTBGRFRDeHhRa0ZCY1VJc1EwRk5ia0lzYVVKQlFXbENMRWRCUldJc1EwRkJReXhEUVVGRE8wMUJRMFlzU1VGQlNTeEZRVUZGTEZGQlFWRXNSMEZEWmpzN1FVRkxVQ3hCUVVOblF5eFpRVVJ3UWl4RFFVRkRMRTlCUVU4c1FVRkJRU3g1UWtGQmVVSXNRVUZCUVN4dlFrRkJiMElzUTBGREwwUXNTMEZCU3l4QlFVRkJMR05CUVdNc1IwRkJSeXhMUVVGTExFZEJRVWNzUlVGQlJTeERRVUZETzBWQlF5OUNMSEZDUVVGeFFpeEZRVUZGTEc5RFFVRnZRenRGUVVNelJDeHRRa0ZCYlVJc1JVRkJSU3cwUkVGQk5FUXNSMEZOYkVZN1JVRlVTQ3hCUVVsSkxGbEJTbEVzUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CUXk5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkhPVUlzUlVGQlJTeEJRVU5CTEZsQlFXTXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JVRkJSVHRKUVVObUxGVkJRVlVzUlVGQlJTeGxRVUZsTEVkQlF6VkNPenRCUVZCUUxFRkJXVThzV1VGYVN5eERRVUZETEU5QlFVOHNRVUZCUVN4NVFrRkJlVUlzUVVGQlFTeHZRa0ZCYjBJc1EwRlZMMFFzUzBGQlN5eEJRVUZCTEdOQlFXTXNSMEZCUnl4TFFVRkxMRUZCUXpGQ0xFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEZRVUZGTzBWQlEyWXNjVUpCUVhGQ0xFVkJRVVVzYjBOQlFXOURPMFZCUXpORUxHMUNRVUZ0UWl4RlFVRkZMRFJFUVVFMFJDeEhRVEJDYkVZN1JVRjZRbmxDTEZOQlFVTXNSVUZCWkN4UFFVRlBMRVZCUVVNc1NVRkJTVHRKUVdZNVFpeEJRV2RDVnl4WlFXaENReXhEUVVGRExFOUJRVThzUVVGQlFTeDVRa0ZCZVVJc1FVRkJRU3h2UWtGQmIwSXNRMEZWTDBRc1MwRkJTeXhCUVVGQkxHTkJRV01zUjBGQlJ5eExRVUZMTEVGQlF6RkNMRWxCUVUwc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGRFVpeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVsVUxFVkJRVVVzUTBGQlF6dE5RVU5JT3pzN096czdPenRqUVZGSExFVkJZVW83VFVGMFExWXNRVUZuUWxjc1dVRm9Ra01zUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CVlM5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4QlFVTXhRaXhKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSlZDeEZRVUZGTEVGQlZVWXNiMEpCUVhGQ0xFTkJRVU03VVVGRGNFSXNWVUZCVlN4RlFVRkZMR1ZCUVdVc1IwRkROVUk3VFVFMVFsb3NRVUZuUWxjc1dVRm9Ra01zUTBGQlF5eFBRVUZQTEVGQlFVRXNlVUpCUVhsQ0xFRkJRVUVzYjBKQlFXOUNMRU5CVlM5RUxFdEJRVXNzUVVGQlFTeGpRVUZqTEVkQlFVY3NTMEZCU3l4QlFVTXhRaXhKUVVGTkxFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlExSXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSlZDeEZRVUZGTEVGQllVWXNXVUZCWXl4RFFVRkJMRUZCUVVFc1EwRkJReXhGUVVGRk8xRkJRMllzVTBGQlV5eEZRVUZETEhGQ1FVRnhRaXhIUVVOb1F6dE5RUzlDV2l4QlFXZENWeXhaUVdoQ1F5eERRVUZETEU5QlFVOHNRVUZCUVN4NVFrRkJlVUlzUVVGQlFTeHZRa0ZCYjBJc1EwRlZMMFFzUzBGQlN5eEJRVUZCTEdOQlFXTXNSMEZCUnl4TFFVRkxMRUZCUXpGQ0xFbEJRVTBzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZEVWl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWxVTEVWQlFVVXNRVUZuUWtZc1dVRkJZeXhEUVVGQkxFRkJRVUVzUTBGQlF5eEZRVUZGTzFGQlEyWXNVMEZCVXl4RlFVRkRMRzlDUVVGdlFpeEhRVU12UWp0TlFXeERXaXhCUVdkQ1Z5eFpRV2hDUXl4RFFVRkRMRTlCUVU4c1FVRkJRU3g1UWtGQmVVSXNRVUZCUVN4dlFrRkJiMElzUTBGVkwwUXNTMEZCU3l4QlFVRkJMR05CUVdNc1IwRkJSeXhMUVVGTExFRkJRekZDTEVsQlFVMHNRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkRVaXhGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVbFVMRVZCUVVVc1FVRnRRa1lzV1VGQll5eERRVUZCTEVGQlFVRXNRMEZCUXl4RlFVRkZPMUZCUTJZc1UwRkJVeXhGUVVGRExHOUNRVUZ2UWl4SFFVTXZRanM3UVVGWldpeEJRVUZCTEZsQlFWa3NRMEZCUXp0RlFVTmFMRTlCUVU4c1JVRkJReXhMUVVGTExFZEJkMGxpTzBWT2VsUkhMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTVTFuVEhaRExFRkJSMWNzV1VGSVF5eERRVVZZTEU5QlFVOHNRMEZEVEN4TFFVRkxMRWRCUVVjc1MwRkJTeXhEUVVGRE8wMTRSMmhRWml4UlFVRlJMRVZCUVVVc2JVSkJRVzFDTzAxQlF6ZENMRWxCUVVrc1JVRkJSU3h4UWtGQmNVSTdUVUZCUlN4alFVRmpPMDFCUXpORExFbEJRVWtzUlVGQlJTeDNRa0ZCZDBJN1RVRkRPVUlzVDBGQlR5eEZRVUZETEZsQlFWazdUVUZEY0VJc1RVRkJUU3hGUVVGRExGbEJRVms3VFVGRGJrSXNUVUZCVFN4RlFVRkZMR05CUVdNN1RVRkRkRUlzUzBGQlN5eEZRVUZGTEdOQlFXTTdUVUZEY2tJc1VVRkJVU3hGUVVGRkxFMUJRVTBzUjNkSE5rOWtPMDE0UnpWUFJpeEJRVU5GTEVsQlJFVXNRVUZCUVN4TlFVRk5MRU4zUjNGUFdpeFpRVUZaTEVOQlJWZ3NUMEZCVHl4RFFVTk1MRXRCUVVzc1IwRkJSeXhMUVVGTExFTjRSM1pQV2l4RFFVRkRMRVZCUkVnc1FVRkRTU3hKUVVSQkxFRkJRVUVzVFVGQlRTeERkMGR4VDFvc1dVRkJXU3hEUVVWWUxFOUJRVThzUTBGRFRDeExRVUZMTEVkQlFVY3NTMEZCU3l4RGVFZDJUMVlzUzBGQlN5eEZRVVJVTEVGQlExVXNTVUZFVGl4QlFVRkJMRTFCUVUwc1EzZEhjVTlhTEZsQlFWa3NRMEZGV0N4UFFVRlBMRU5CUTB3c1MwRkJTeXhIUVVGSExFdEJRVXNzUTNoSGRrOUtMRTFCUVUwc1EwRkJRenRSUVVOaUxFOUJRVThzUlVGQlJTeGxRVUZsTEVkQlEzcENPMFZyUjJ0RVJDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMHgyUXl4QlFWVlRMRmxCVmtjc1EwRkZXQ3hQUVVGUExFTkJUVXdzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZGU2l4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRVZCUVVVN1RVRkROMElzWVVGQllTeEZRVUZGTEV0QlFVc3NSMEZEY2tJN1JVRmFVaXhCUVd0Q2EwSXNXVUZzUWs0c1EwRkZXQ3hQUVVGUExFRkJZVXdzZDBKQlFYbENMRUZCUTNaQ0xIbENRVUV3UWl4RFFVTjRRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZGTEVWQlFVVXNSVUZzUW5CQ0xFRkJhMEpuUXl4WlFXeENjRUlzUTBGRldDeFBRVUZQTEVGQllVd3NkMEpCUVhsQ0xFRkJRM1pDTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlExa3NTMEZCU3l4SFFVRkhMRVZCUVVVc1JVRnNRbXhETEVGQmEwSnJRaXhaUVd4Q1RpeERRVVZZTEU5QlFVOHNRVUZoVEN4M1FrRkJlVUlzUVVGRFN5eDNRa0ZCZVVJc1EwRkRia1FzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUlN4RlFVRkZMRVZCYkVKd1FpeEJRV3RDWjBNc1dVRnNRbkJDTEVOQlJWZ3NUMEZCVHl4QlFXRk1MSGRDUVVGNVFpeEJRVU5MTEhkQ1FVRjVRaXhEUVVOdVJDeExRVUZMTEVkQlExa3NTMEZCU3l4SFFVRkhMRVZCUVVVc1EwRkJRenRKUVVONFFpeHRRa0ZCYlVJc1JVRkJSU3h0UzBGQmJVc3NSMEZMZWt3N1NVNTRUVTRzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenROVFdkTWRrTXNRVUZyUW10Q0xGbEJiRUpPTEVOQlJWZ3NUMEZCVHl4QlFXRk1MSGRDUVVGNVFpeEJRVU4yUWl4NVFrRkJNRUlzUTBGRGVFSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSU3hGUVVGRkxFVkJiRUp3UWl4QlFXdENaME1zV1VGc1FuQkNMRU5CUlZnc1QwRkJUeXhCUVdGTUxIZENRVUY1UWl4QlFVTjJRaXg1UWtGQk1FSXNRMEZEZUVJc1MwRkJTeXhIUVVOWkxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVWQmJFSnNReXhCUVd0Q2EwSXNXVUZzUWs0c1EwRkZXQ3hQUVVGUExFRkJZVXdzZDBKQlFYbENMRUZCUTBzc2QwSkJRWGxDTEVOQlEyNUVMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVVVzUlVGQlJTeEZRV3hDY0VJc1FVRnJRbWRETEZsQmJFSndRaXhEUVVWWUxFOUJRVThzUVVGaFRDeDNRa0ZCZVVJc1FVRkRTeXgzUWtGQmVVSXNRMEZEYmtRc1MwRkJTeXhIUVVOWkxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdVVUZIZEVJc2JVSkJRVzFDTEVWQlFVVXNhMFJCUVd0RU8xRkJRM1pGTEhGQ1FVRnhRaXhGUVVGRkxIbENRVUY1UWl4SFFVVnVSRHRGUVhoQ1ZpeEJRVFpDYTBJc1dVRTNRazRzUTBGRldDeFBRVUZQTEVGQllVd3NkMEpCUVhsQ0xFRkJXWFpDTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkZMRVZCUVVVc1JVRTNRbkJDTEVGQk5rSm5ReXhaUVRkQ2NFSXNRMEZGV0N4UFFVRlBMRUZCWVV3c2QwSkJRWGxDTEVGQldYWkNMSGxDUVVFd1FpeERRVU40UWl4TFFVRkxMRWRCUTFrc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVFM1FteERMRUZCTmtKclFpeFpRVGRDVGl4RFFVVllMRTlCUVU4c1FVRmhUQ3gzUWtGQmVVSXNRVUZaU3l4M1FrRkJlVUlzUTBGRGJrUXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSU3hGUVVGRkxFVkJOMEp3UWl4QlFUWkNaME1zV1VFM1FuQkNMRU5CUlZnc1QwRkJUeXhCUVdGTUxIZENRVUY1UWl4QlFWbExMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTFrc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVFM1FteERMRUZCTmtKclFpeFpRVGRDVGl4RFFVVllMRTlCUVU4c1FVRmhUQ3gzUWtGQmVVSXNRVUZaWjBNc01rSkJRVFJDTEVOQlEycEdMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVVVzUlVGQlJTeEZRVGRDY0VJc1FVRTJRbWRETEZsQk4wSndRaXhEUVVWWUxFOUJRVThzUVVGaFRDeDNRa0ZCZVVJc1FVRlpaME1zTWtKQlFUUkNMRU5CUTJwR0xFdEJRVXNzUjBGRFdTeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMGxCUTNoQ0xHMUNRVUZ0UWl4RlFVRkZMR2xHUVVGcFJpeEhRVXQyUnp0RlFXNURWaXhCUVhkRFN5eFpRWGhEVHl4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUlVGNFExWXNRVUYzUTBzc1dVRjRRMDhzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRMEZEYmtRc1MwRkJTeXhEUVVGRE8wbEJWMG83TzFWQlJVY3NSVUZWU2p0SlFTOUVUaXhCUVhsRGFVSXNXVUY2UTB3c1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhEUVVONFFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1JVRjZRMjVDTEVGQmVVTXJRaXhaUVhwRGJrSXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4RFFVTjRRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEhRVUZITEVWQlFVVXNSVUY2UTJwRExFRkJlVU5wUWl4WlFYcERUQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUlVGNlEyNUNMRUZCZVVNclFpeFpRWHBEYmtJc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUTBGRGJrUXNTMEZCU3l4SFFVTmhMRXRCUVVzc1IwRkJSeXhGUVVGRkxFTkJRVU03VFVGRGVrSXNUMEZCVHl4RlFVRkRMRWxCUVVrN1RVRkZXaXhSUVVGUkxFVkJRVU1zUTBGQlF5eEhRVTFZTzAxT2JFOUtMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdVVTFuVEhaRExFRkJlVU5wUWl4WlFYcERUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhwRGJrSXNRVUY1UXl0Q0xGbEJla051UWl4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUjBGRFlTeExRVUZMTEVkQlFVY3NSVUZCUlN4RlFYcERha01zUVVGNVEybENMRmxCZWtOTUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVOQlEyNUVMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEZRWHBEYmtJc1FVRjVReXRDTEZsQmVrTnVRaXhEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeERRVU51UkN4TFFVRkxMRWRCUTJFc1MwRkJTeXhIUVVGSExFVkJRVVVzUTBGQlF6dFZRVXQyUWl4dFFrRkJiVUlzUlVGQlJTd3lRMEZCTWtNN1ZVRkRhRVVzY1VKQlFYRkNMRVZCUVVNc2JVSkJRVzFDTEVkQlJ6VkRPMGxCYkVSU0xFRkJjMFJwUWl4WlFYUkVUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZqUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhSRWJrSXNRVUZ6UkdsQ0xGbEJkRVJNTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRU5CUTI1RUxFdEJRVXNzUjBGalJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMDFCUTFnc2JVSkJRVzFDTEVWQlFVVXNiMGRCUVc5SExFZEJTVEZJTzAxT00wOUtMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdVVTFuVEhaRExFRkJjMFJwUWl4WlFYUkVUQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFTkJRM2hDTEV0QlFVc3NSMEZqUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hGUVhSRWJrSXNRVUZ6UkdsQ0xGbEJkRVJNTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRU5CUTI1RUxFdEJRVXNzUjBGalJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RFFVRkRPMVZCUjFRc2JVSkJRVzFDTEVWQlFVTXNjVVpCUVhGR0xFZEJSVFZITzBsQk0wUlNMRUZCTkVSMVFpeFpRVFZFV0N4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRU5CUTNoQ0xFdEJRVXNzUjBGdlFrUXNTMEZCU3l4QlFVRkJMRTFCUVUwc1IwRkJSeXhGUVVGRkxFVkJOVVI2UWl4QlFUUkVkVUlzV1VFMVJGZ3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1EwRkRia1FzUzBGQlN5eEhRVzlDUkN4TFFVRkxMRUZCUVVFc1RVRkJUU3hIUVVGSExFVkJRVVVzUTBGQlF6dE5RVU5xUWl4UFFVRlBMRVZCUVVVc1MwRkJTeXhIUVVObU8wVkJPVVJTTEVGQmFVVnBSQ3haUVdwRmNrTXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUTI1Q0xHOUNRVUZ2UWl4RFFVRkRMRzlDUVVGdlFpeERRVUZETEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXhoUVVGaExFRkJRV3hDTEVkQmFrVjJSQ3hCUVdsRmFVUXNXVUZxUlhKRExFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZEYmtJc2IwSkJRVzlDTEVOQlFVTXNiMEpCUVc5Q0xFTkJRVU1zUzBGQlN5eERRVUZCTEVGQlFVRXNSMEZCUXl4RlFVRkxMR0ZCUVdFc1FVRkJiRUlzUlVGQmIwSTdTVUZEYkVVc1QwRkJUeXhGUVVGRkxFdEJRVXM3U1VGRFpDeFpRVUZaTEVWQlFVVXNTVUZCU1N4SFFVTnVRanRGVG5CUVNpeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMHgyUXl4QlFYTkZiVUlzV1VGMFJWQXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4RlFYUkZja0lzUVVGelJUWkRMRmxCZEVWcVF5eERRVVZZTEU5QlFVOHNRVUZ4UTB3c2VVSkJRVEJDTEVGQmVVSjZRaXh2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNSMEYwUlRGRUxFRkJjMFZ0UWl4WlFYUkZVQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEZRWFJGY2tJc1FVRnpSVFpETEZsQmRFVnFReXhEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVWQlFVVTdUVUZGTDBNc2JVSkJRVzFDTEVWQlFVTXNhVVJCUVdsRU8wMUJRM0pGTEhGQ1FVRnhRaXhGUVVGRExESkNRVUV5UWl4SFFYVkNjRVE3VFVGb1IxWXNRVUV3UldVc1dVRXhSVWdzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRSQ3hMUVVGTExFZEJRVWNzUlVGQlJTeEhRVWxPTEVWQlFVVXNRVUZEVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVE5GT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpRU3hGUVVGRkxFRkJRMllzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSVGxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCUTFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEV6UlRsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSmNrTXNSVUZCUlN4QlFVTm1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQk0wVTVRaXhCUVRCRlpTeFpRVEZGU0N4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsT0xFVkJRVVVzUVVGRFZDeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVRORk9VSXNRVUV3UlhGQ0xGbEJNVVZVTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1VFc1JVRkJSU3hCUVVObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBVNVFpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNUTkRMRVZCUVVVc1FVRkRWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkZPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZKY2tNc1JVRkJSU3hCUVVObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVZCUVVVN1VVRkRaaXhUUVVGVExFVkJRVU1zUzBGQlN5eEhRVU5vUWp0TlFUZEZhRUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsT0xFVkJRVVVzUVVGSlZDeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVRsRk9VSXNRVUV3UlhGQ0xGbEJNVVZVTEVOQlJWZ3NUMEZCVHl4QlFYRkRUQ3g1UWtGQk1FSXNRVUY1UW5wQ0xHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKUVN4RlFVRkZMRUZCU1dZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEU1UlRsQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEyRXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGQlNTeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVrelF5eEZRVUZGTEVGQlNWUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBFNVJUbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRUZCZVVKNlFpeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5oTEV0QlFVc3NRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJRVWtzUlVGQlJTeEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkpja01zUlVGQlJTeEJRVWxtTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJPVVU1UWl4QlFUQkZaU3haUVRGRlNDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbE9MRVZCUVVVc1FVRkpWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUbEZPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVRXNSVUZCUlN4QlFVbG1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQk9VVTVRaXhCUVRCRlpTeFpRVEZGU0N4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTVE5ETEVWQlFVVXNRVUZKVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVGxGT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSmNrTXNSVUZCUlN4QlFVbG1MRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVWQlFVVTdVVUZEWml4VFFVRlRMRVZCUVVNc1MwRkJTenRSUVVObUxGVkJRVlVzUlVGQlF5eEpRVUZKTEVkQlEyaENPMDFCYWtab1FpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJTVTRzUlVGQlJTeEJRVkZVTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJiRVk1UWl4QlFUQkZjVUlzV1VFeFJWUXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRlJaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFXeEdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTVE5ETEVWQlFVVXNRVUZSVkN4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRV3hHT1VJc1FVRXdSWEZDTEZsQk1VVlVMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEyRXNTMEZCU3l4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGQlNTeEZRVUZGTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVseVF5eEZRVUZGTEVGQlVXWXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGc1JqbENMRUZCTUVWbExGbEJNVVZJTEVOQlJWZ3NUMEZCVHl4QlFYRkRkVUlzZDBKQlFYbENMRUZCZVVKd1JDeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1U0c1JVRkJSU3hCUVZGVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCYkVZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKUVN4RlFVRkZMRUZCVVdZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEZzUmpsQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRGRVSXNkMEpCUVhsQ0xFRkJlVUp3UkN4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSk0wTXNSVUZCUlN4QlFWRlVMRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQmJFWTVRaXhCUVRCRmNVSXNXVUV4UlZRc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWx5UXl4RlFVRkZMRUZCVVdZc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSVUZCUlR0UlFVTm1MRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3VFVGd1JtaENMRUZCTUVWbExGbEJNVVZJTEVOQlJWZ3NUMEZCVHl4QlFYRkRUQ3g1UWtGQk1FSXNRVUY1UW5wQ0xHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZKVGl4RlFVRkZMRUZCVjFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEZ5UmpsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJTVUVzUlVGQlJTeEJRVmRtTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJja1k1UWl4QlFUQkZaU3haUVRGRlNDeERRVVZZTEU5QlFVOHNRVUZ4UTB3c2VVSkJRVEJDTEVGQmVVSjZRaXh2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCUVVrc1JVRkJSU3hCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZKTTBNc1JVRkJSU3hCUVZkVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCY2tZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRlhaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFYSkdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGSlRpeEZRVUZGTEVGQlYxUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGeVJqbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRM1ZDTEhkQ1FVRjVRaXhCUVhsQ2NFUXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hIUVVsQkxFVkJRVVVzUVVGWFppeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhIUVhKR09VSXNRVUV3UldVc1dVRXhSVWdzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkJTU3hGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVa3pReXhGUVVGRkxFRkJWMVFzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRnlSamxDTEVGQk1FVnhRaXhaUVRGRlZDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFlTeExRVUZMTEVGQlFVRXNTVUZCU3l4RFFVRkJMRUZCUVVFc1RVRkJUU3hKUVVGSkxFVkJRVVVzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4TlFVRk5MRWxCU1hKRExFVkJRVVVzUVVGWFppeFpRVUZ4UWl4RFFVRkJMRUZCUVVFc1EwRkJReXhGUVVGRk8xRkJRMllzVTBGQlV5eEZRVUZETEZWQlFWVXNSMEZEY2tJN1RVRjJSbWhDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTBRc1MwRkJTeXhIUVVGSExFVkJRVVVzUjBGSlRpeEZRVUZGTEVGQlkxUXNXVUZCY1VJc1EwRkJRU3hCUVVGQkxFTkJRVU1zUjBGNFJqbENMRUZCTUVWeFFpeFpRVEZGVkN4RFFVVllMRTlCUVU4c1FVRnhRMHdzZVVKQlFUQkNMRUZCZVVKNlFpeHZRa0ZCYzBJc1EwRkxia0lzUzBGQlN5eEhRVU5FTEV0QlFVc3NSMEZCUnl4RlFVRkZMRWRCU1VFc1JVRkJSU3hCUVdObUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCZUVZNVFpeEJRVEJGWlN4WlFURkZTQ3hEUVVWWUxFOUJRVThzUVVGeFEwd3NlVUpCUVRCQ0xFRkJlVUo2UWl4dlFrRkJjMElzUTBGTGJrSXNTMEZCU3l4SFFVTmhMRXRCUVVzc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlFVa3NSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxFMUJRVTBzU1VGSk0wTXNSVUZCUlN4QlFXTlVMRmxCUVhGQ0xFTkJRVUVzUVVGQlFTeERRVUZETEVkQmVFWTVRaXhCUVRCRmNVSXNXVUV4UlZRc1EwRkZXQ3hQUVVGUExFRkJjVU5NTEhsQ1FVRXdRaXhCUVhsQ2VrSXNiMEpCUVhOQ0xFTkJTMjVDTEV0QlFVc3NSMEZEWVN4TFFVRkxMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVUZKTEVWQlFVVXNRVUZCUVN4SlFVRkxMRU5CUVVFc1FVRkJRU3hOUVVGTkxFbEJTWEpETEVWQlFVVXNRVUZqWml4WlFVRnhRaXhEUVVGQkxFRkJRVUVzUTBGQlF5eEhRWGhHT1VJc1FVRXdSV1VzV1VFeFJVZ3NRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpUaXhGUVVGRkxFRkJZMVFzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRjRSamxDTEVGQk1FVnhRaXhaUVRGRlZDeERRVVZZTEU5QlFVOHNRVUZ4UTNWQ0xIZENRVUY1UWl4QlFYbENjRVFzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRmpaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFYaEdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCWTFRc1dVRkJjVUlzUTBGQlFTeEJRVUZCTEVOQlFVTXNSMEY0UmpsQ0xFRkJNRVZ4UWl4WlFURkZWQ3hEUVVWWUxFOUJRVThzUVVGeFEzVkNMSGRDUVVGNVFpeEJRWGxDY0VRc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRmpaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4RlFVRkZPMUZCUTJZc1UwRkJVeXhGUVVGRExGTkJRVk1zUjBGRGNFSTdUVUV4Um1oQ0xFRkJNRVZsTEZsQk1VVklMRU5CUlZnc1QwRkJUeXhCUVhGRFRDeDVRa0ZCTUVJc1FVRjVRbnBDTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQlEwUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkpUaXhGUVVGRkxFRkJhVUpVTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFZEJNMFk1UWl4QlFUQkZjVUlzV1VFeFJWUXNRMEZGV0N4UFFVRlBMRUZCY1VOTUxIbENRVUV3UWl4QlFYbENla0lzYjBKQlFYTkNMRU5CUzI1Q0xFdEJRVXNzUjBGRFJDeExRVUZMTEVkQlFVY3NSVUZCUlN4SFFVbEJMRVZCUVVVc1FVRnBRbVlzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSamxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEVEN4NVFrRkJNRUlzUVVGNVFucENMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCYVVKVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRkRZU3hMUVVGTExFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVRkpMRVZCUVVVc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeE5RVUZOTEVsQlNYSkRMRVZCUVVVc1FVRnBRbVlzV1VGQmNVSXNRMEZCUVN4QlFVRkJMRU5CUVVNc1IwRXpSamxDTEVGQk1FVmxMRmxCTVVWSUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVNHNSVUZCUlN4QlFXbENWQ3haUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkdPVUlzUVVFd1JYRkNMRmxCTVVWVUxFTkJSVmdzVDBGQlR5eEJRWEZEZFVJc2QwSkJRWGxDTEVGQmVVSndSQ3h2UWtGQmMwSXNRMEZMYmtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVkQlNVRXNSVUZCUlN4QlFXbENaaXhaUVVGeFFpeERRVUZCTEVGQlFVRXNRMEZCUXl4SFFUTkdPVUlzUVVFd1JXVXNXVUV4UlVnc1EwRkZXQ3hQUVVGUExFRkJjVU4xUWl4M1FrRkJlVUlzUVVGNVFuQkVMRzlDUVVGelFpeERRVXR1UWl4TFFVRkxMRWRCUTJFc1MwRkJTeXhCUVVGQkxFbEJRVXNzUTBGQlFTeEJRVUZCTEUxQlFVMHNTVUZCU1N4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzVFVGQlRTeEpRVWt6UXl4RlFVRkZMRUZCYVVKVUxGbEJRWEZDTEVOQlFVRXNRVUZCUVN4RFFVRkRMRWRCTTBZNVFpeEJRVEJGY1VJc1dVRXhSVlFzUTBGRldDeFBRVUZQTEVGQmNVTjFRaXgzUWtGQmVVSXNRVUY1UW5CRUxHOUNRVUZ6UWl4RFFVdHVRaXhMUVVGTExFZEJRMkVzUzBGQlN5eEJRVUZCTEVsQlFVc3NRMEZCUVN4QlFVRkJMRTFCUVUwc1NVRkJTU3hGUVVGRkxFRkJRVUVzU1VGQlN5eERRVUZCTEVGQlFVRXNUVUZCVFN4SlFVbHlReXhGUVVGRkxFRkJhVUptTEZsQlFYRkNMRU5CUVVFc1FVRkJRU3hEUVVGRExFVkJRVVU3VVVGRFppeFRRVUZUTEVWQlFVTXNVMEZCVXl4SFFVTndRanRGUVRkR2FFSXNRVUZyUjJFc1dVRnNSMFFzUTBGRldDeFBRVUZQTEVGQmNVTk1MSGxDUVVFd1FpeEJRWGxDZWtJc2IwSkJRWE5DTEVOQlMyNUNMRXRCUVVzc1IwRTBRa1FzUzBGQlN5eEhRVUZITEVWQlFVVXNSMEZEVWl4RlFVRkZMRUZCUTBnc1dVRkJaU3hEUVVGQkxFRkJRVUVzUTBGQlF5eEhRVzVITlVJc1FVRnJSMkVzV1VGc1IwUXNRMEZGV0N4UFFVRlBMRUZCY1VOMVFpeDNRa0ZCZVVJc1FVRjVRbkJFTEc5Q1FVRnpRaXhEUVV0dVFpeExRVUZMTEVkQk5FSkVMRXRCUVVzc1IwRkJSeXhGUVVGRkxFZEJRMUlzUlVGQlJTeEJRVU5JTEZsQlFXVXNRMEZCUVN4QlFVRkJMRU5CUVVNc1JVRkJSVHRKUVVObUxGTkJRVk1zUlVGQlF5eEpRVUZKTEVkQlJXWTdSVUYwUjJRc1FVRnBTRk1zV1VGcVNFY3NRMEZGV0N4UFFVRlBMRUZCTkVkTUxIZENRVUY1UWl4RFFVTjJRaXhMUVVGTExFZEJRMFFzUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZEVml4RlFVRkZMRUZCUTBnc1dVRkJaMElzUlVGc1NIaENMRUZCYVVoaExGbEJha2hFTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVVORUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlEwNHNSVUZCUlN4QlFVTlFMRmxCUVdkQ0xFVkJiRWg0UWl4QlFXbElVeXhaUVdwSVJ5eERRVVZZTEU5QlFVOHNRVUUwUjB3c2QwSkJRWGxDTEVOQlEzWkNMRXRCUVVzc1IwRkRZU3hMUVVGTExFZEJRVWNzUlVGQlJTeERRVU40UWl4RlFVRkZMRUZCUTBnc1dVRkJaMElzUlVGc1NIaENMRUZCYVVoaExGbEJha2hFTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVVOaExFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlEzQkNMRVZCUVVVc1FVRkRVQ3haUVVGblFpeERRVUZETzBsQlExb3NXVUZCV1N4RlFVRkZMRXRCUVVzc1IwRkRjRUk3UlVGd1NGb3NRVUYxU0dsQ0xGbEJka2hNTEVOQlJWZ3NUMEZCVHl4QlFUUkhUQ3gzUWtGQmVVSXNRMEZEZGtJc1MwRkJTeXhIUVZGRUxFdEJRVXNzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZEV0N4dFFrRkJiVUlzUlVGQlJTeHZSVUZCYjBVN1NVRkRla1lzWVVGQllTeEZRVUZGTEV0QlFVc3NSMEZUY2tJN1NVRnNTVklzUVVFd1NGY3NXVUV4U0VNc1EwRkZXQ3hQUVVGUExFRkJORWRNTEhkQ1FVRjVRaXhEUVVOMlFpeExRVUZMTEVkQlVVUXNTMEZCU3l4SFFVRkhMRVZCUVVVc1IwRkhVaXhGUVVGRkxFRkJRMFlzWlVGQlowSXNRMEZCUXp0TlFVTm1MRlZCUVZVc1JVRkJSU3hOUVVGTkxFZEJRMjVDTzBsT04xTlNMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUVTFuVEhaRExFRkJkVWhwUWl4WlFYWklUQ3hEUVVWWUxFOUJRVThzUVVFMFIwd3NkMEpCUVhsQ0xFTkJRM1pDTEV0QlFVc3NSMEZSUkN4TFFVRkxMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJVMVFzYlVKQlFXMUNMRVZCUVVVc2NVWkJRWEZHTEVkQlJUZEhPenRCUVZOU0xFRkJSMGtzV1VGSVVTeERRVVZXTEdOQlFXTXNRMEZEV2l4SFFVRkhMRVZCU0ZBc1FVRkhVeXhaUVVoSExFTkJSVllzWTBGQll5eERRVU5RTEV0QlFVc3NSVUZJWkN4QlFVZG5RaXhaUVVoS0xFTkJSVllzWTBGQll5eERRVU5CTEUxQlFVMHNSVUZJZEVJc1FVRkhkMElzV1VGSVdpeERRVVZXTEdOQlFXTXNRMEZEVVN4TFFVRkxMRU5CUVVVN1JVRkRla0lzVlVGQlZTeEZRVUZGTEU5QlFVOHNSMEZEY0VJN08wRk9hRlZFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3UlUweVZIWkRMRUZCUVVFc1dVRkJXU3hEUVVGRE8wbEJVMVE3T3pzMFJVRkhkMFU3U1VGRGVFVXNUMEZCVHl4RlFVRkRMRWxCUVVrN1NVRkRXaXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVU5RTEdOQlFXTXNSVUZCUlN4TlFVRk5MRWRCY1VkNlFqdEpRWEJJUkN4QlFXZENTU3haUVdoQ1VTeERRV2RDVWl4UFFVRlBMRU5CUVVNN1RVRkRUaXhQUVVGUExFVkJRVU1zU1VGQlNUdE5RVU5hTEdOQlFXTXNSVUZCUlN4TlFVRk5PMDFCUTNSQ0xFbEJRVWtzUlVGQlJTeERRVUZETEVkQkswWlNPMDFCYkVoTUxFRkJiMEpSTEZsQmNFSkpMRU5CWjBKU0xFOUJRVThzUjBGSlNDeDFRa0ZCZFVJc1EwRkJRenRSUVVONFFpeFBRVUZQTEVWQlFVVXNTVUZCU1R0UlFVTmlMRWxCUVVrc1JVRkJSU3hSUVVGUkxFZEJSV1k3VFVGNFFsQXNRVUZuUWtrc1dVRm9RbEVzUTBGblFsSXNUMEZCVHl4QlFWTk1MSGxDUVVFd1FpeERRVUZETzFGQlEzcENPMWRCUTBjc1JVRkRTanROUVRWQ1VDeEJRVFpDVVN4WlFUZENTU3hEUVdkQ1VpeFBRVUZQTEVkQllVZ3NkVUpCUVhWQ0xFTkJRVU03VVVGRGVFSXNUMEZCVHl4RlFVRkRMRWxCUVVrN1VVRkRXaXhKUVVGSkxFVkJRVU1zVVVGQlVTeEhRVGhGWkR0UlFUZEhVQ3hCUVdsRFZTeFpRV3BEUlN4RFFXZENVaXhQUVVGUExFZEJZVWdzZFVKQlFYVkNMRWRCU1hKQ0xHOUNRVUZ2UWl4RFFVRkRPMVZCUTNKQ0xFbEJRVWtzUlVGQlF5eFRRVUZUTzFWQlEyUXNUMEZCVHl4RlFVRkRMRWxCUVVrN1ZVRkRXaXhqUVVGakxFVkJRVU1zVFVGQlRUdFZRVU55UWl4WFFVRlhMRVZCUVVNc1EwRkJRenRWUVVOaUxGTkJRVk1zUlVGQlF5eERRVUZETzFWQlExZ3NXVUZCV1N4RlFVRkRMRXRCUVVzc1IwRkpia0k3VlVFelExUXNRVUZwUTFVc1dVRnFRMFVzUTBGblFsSXNUMEZCVHl4SFFXRklMSFZDUVVGMVFpeEhRVWx5UWl4dlFrRkJiMElzUTBGUGNFSXNRVUZCUVN4TlFVRkZMRUZCUVVFc1IwRjRRMW9zUVVGcFExVXNXVUZxUTBVc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVVseVFpeHZRa0ZCYjBJc1EwRlBWQ3hCUVVGQkxGZEJRVVVzUTBGQldTeE5RVUZOTEVGQlFXeENMRVZCUVc5Q08xbEJReTlDTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUTJRN1VVRXhRMWdzUVVFMFExVXNXVUUxUTBVc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVdWeVFpeGpRVUZqTEVOQlFVTTdWVUZGWml4SlFVRkpMRVZCUVVNc1VVRkJVVHRWUVVWaUxFOUJRVThzUlVGQlF5eEpRVUZKTzFWQlExb3NZMEZCWXl4RlFVRkRMRTFCUVUwc1IwRXlSSFJDTzFWQk5VZFVMRUZCYTBSWkxGbEJiRVJCTEVOQlowSlNMRTlCUVU4c1IwRmhTQ3gxUWtGQmRVSXNSMEZsY2tJc1kwRkJZeXhIUVUxYUxESkNRVUV5UWl4RFFVRkRPMWxCUXpWQ0xGVkJRVlVzUlVGQlF5eEpRVUZKTzFsQlEyWXNWMEZCVnl4RlFVRkRMRU5CUVVNN1dVRkRZaXhUUVVGVExFVkJRVU1zUTBGQlF6dFpRVU5ZTEdOQlFXTXNSVUZCUXl4SFFVRkhMRWRCWjBKdVFqdFpRWFJGV0N4QlFYVkVZeXhaUVhaRVJpeERRV2RDVWl4UFFVRlBMRWRCWVVnc2RVSkJRWFZDTEVkQlpYSkNMR05CUVdNc1IwRk5XaXd5UWtGQk1rSXNSMEZMZWtJc1RVRkJUU3hEUVVGRE8yTkJRMUFzWTBGQll5eEZRVUZGTEVkQlFVYzdZMEZEYmtJc1UwRkJVeXhGUVVGRExFTkJRVU03WTBGRFdDeFZRVUZWTEVWQlFVTXNRMEZCUXp0alFVTmFMRk5CUVZNc1JVRkJReXhOUVVGTk8yTkJRMmhDTEU5QlFVOHNSVUZCUXl4SlFVRkpPMk5CUTFvc1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGUmNFSTdZMEZ5UldJc1FVRTRSR2RDTEZsQk9VUktMRU5CWjBKU0xFOUJRVThzUjBGaFNDeDFRa0ZCZFVJc1IwRmxja0lzWTBGQll5eEhRVTFhTERKQ1FVRXlRaXhIUVV0NlFpeE5RVUZOTEVkQlQwb3NSVUZCUlN4RFFVRkRPMmRDUVVOSUxHRkJRV0VzUlVGQlF5eERRVUZETzJkQ1FVTm1MRmxCUVZrc1JVRkJSU3hKUVVGSkxFZEJTVzVDTzJkQ1FYQkZaaXhCUVdsRlowSXNXVUZxUlVvc1EwRm5RbElzVDBGQlR5eEhRV0ZJTEhWQ1FVRjFRaXhIUVdWeVFpeGpRVUZqTEVkQlRWb3NNa0pCUVRKQ0xFZEJTM3BDTEUxQlFVMHNSMEZQU2l4RlFVRkZMRU5CUjBZc1NVRkJTU3hEUVVGRE8ydENRVU5JTEV0QlFVc3NSVUZCUXl4TFFVRkxMRWRCUTFvN1ZVRnVSV3BDTEVGQmRVVlpMRmxCZGtWQkxFTkJaMEpTTEU5QlFVOHNSMEZoU0N4MVFrRkJkVUlzUjBGbGNrSXNZMEZCWXl4SFFUSkNXaXh6UWtGQmMwSXNRMEZCUXp0WlFVTjJRaXhWUVVGVkxFVkJRVU1zUTBGQlF6dFpRVU5hTEZOQlFWTXNSVUZCUXl4RFFVRkRPMWxCUTFnc1RVRkJUU3hGUVVGRExFbEJRVWs3V1VGRFdDeFhRVUZYTEVWQlFVTXNRMEZCUXp0WlFVTmlMRTlCUVU4c1JVRkJReXhKUVVGSk8xbEJRMW9zVjBGQlZ5eEZRVUZETEU5QlFVODdXVUZEYmtJc1pVRkJaU3hGUVVGRExFMUJRVTA3V1VGRGRFSXNZMEZCWXl4RlFVRkRMRTFCUVUwN1dVRkRja0lzVDBGQlR5eEZRVUZETEdWQlFXVXNSMEV5UW5oQ08xbEJNMGRZTEVGQmFVWmpMRmxCYWtaR0xFTkJaMEpTTEU5QlFVOHNSMEZoU0N4MVFrRkJkVUlzUjBGbGNrSXNZMEZCWXl4SFFUSkNXaXh6UWtGQmMwSXNSMEZWY0VJc1IwRkJSeXhEUVVGRE8yTkJRMG9zVlVGQlZTeEZRVUZETEVOQlFVTTdZMEZEV2l4VFFVRlRMRVZCUVVNc1EwRkJRenRqUVVOWUxGVkJRVlVzUlVGQlF5eEpRVUZKTzJOQlJXWXNUVUZCVFN4RlFVRkRMRWxCUVVrN1kwRkRXQ3hYUVVGWExFVkJRVU1zVDBGQlR6dGpRVU51UWl4bFFVRmxMRVZCUVVNc1RVRkJUVHRqUVVOMFFpeGpRVUZqTEVWQlFVTXNUVUZCVFR0alFVTnlRaXhYUVVGWExFVkJRVU1zUTBGQlF6dGpRVU5pTEU5QlFVOHNSVUZCUXl4SlFVRkpPMk5CUTFvc1UwRkJVeXhGUVVGRExFbEJRVWtzUjBGalpqdGpRVEZIWWl4QlFUWkdaMElzV1VFM1Jrb3NRMEZuUWxJc1QwRkJUeXhIUVdGSUxIVkNRVUYxUWl4SFFXVnlRaXhqUVVGakxFZEJNa0phTEhOQ1FVRnpRaXhIUVZWd1FpeEhRVUZITEVkQldVUXNTMEZCU3l4RFFVRkRPMmRDUVVOT0xGVkJRVlVzUlVGQlF5eERRVUZETzJkQ1FVTmFMRk5CUVZNc1JVRkJReXhEUVVGRE8yZENRVU5ZTEZWQlFWVXNSVUZCUXl4SlFVRkpPMmRDUVVWbUxFMUJRVTBzUlVGQlF5eEpRVUZKTzJkQ1FVTllMRmRCUVZjc1JVRkJReXhQUVVGUE8yZENRVU51UWl4bFFVRmxMRVZCUVVNc1RVRkJUVHRuUWtGRGRFSXNZMEZCWXl4RlFVRkRMRTFCUVUwN1owSkJRM0pDTEZkQlFWY3NSVUZCUXl4RFFVRkRPMmRDUVVOaUxFOUJRVThzUlVGQlF5eEpRVUZKTzJkQ1FVTmFMRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJRMlk3VFVGNlIyWXNRVUU0UjFFc1dVRTVSMGtzUTBGblFsSXNUMEZCVHl4SFFUaEdTQ3h0UWtGQmJVSXNRMEZCUXp0UlFVTndRaXhKUVVGSkxFVkJRVU1zVVVGQlVUdFJRVU5pTEZWQlFWVXNSVUZCUlN4TFFVRkxMRWRCUTJ4Q096dEJRVXRRTEVGQlFUWkdMRmxCUVdwR0xFTkJRVU1zVDBGQlR5eEJRVUZCTERKQ1FVRXlRaXhIUVVGSExIVkNRVUYxUWl4SFFVRkhMR05CUVdNc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXp0RlFVTnNTQ3haUVVGWkxFVkJRVVVzUzBGQlN5eEhRVWx3UWp0RlRuUmlSeXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMGxOYVdKMlF5eEJRVUUyUml4WlFVRnFSaXhEUVVGRExFOUJRVThzUVVGQlFTd3lRa0ZCTWtJc1IwRkJSeXgxUWtGQmRVSXNSMEZCUnl4alFVRmpMRWRCUVVjc2MwSkJRWE5DTEVOQlFVTTdUVUZIYUVnc1lVRkJZU3hGUVVGRkxFdEJRVXNzUjBGRmRrSTdPMEZPZEdKSExFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMTNZblpETEVGQlFUWkRMRmxCUVdwRExFTkJRVU1zVDBGQlR5eEhRVUZITEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUTBGQlF6dEpRVVV6UXl4WlFVRlpMRVZCUVVVc1MwRkJTeXhIUVV0MFFqdEpRVkJFTEVGQlFUWkRMRmxCUVdwRExFTkJRVU1zVDBGQlR5eEhRVUZITEcxQ1FVRnRRaXhIUVVGSExFTkJRVU1zUVVGSE1VTXNWMEZCV1N4RFFVRkRPMDFCUTFnc1dVRkJXU3hGUVVGRkxFTkJRVU1zUjBGRGFFSTdPMEZCU1V3c1FVRkRSU3haUVVSVkxFTkJRMVlzUzBGQlN5eERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRWxCUVVrN1JVRkRaaXhQUVVGUExFVkJRVU1zUzBGQlN6dEZRVU5pTEdWQlFXVXNSVUZCUXl4UlFVRlJPMFZCUTNoQ0xGZEJRVmNzUlVGQlF5eERRVUZETzBWQlEySXNVMEZCVXl4RlFVRkRMRU5CUVVNc1IwRTJRMW83UlVGdVJFZ3NRVUZEUlN4WlFVUlZMRU5CUTFZc1MwRkJTeXhCUVUxSUxIZENRVUY1UWl4RFFVRkRPMGxCUTNoQ0xHRkJRV0VzUlVGQlF5eEpRVUZKTEVkQlEyNUNPMFZCVkV3c1FVRkRSU3haUVVSVkxFTkJRMVlzUzBGQlN5eERRVk5JTEVGQlFVRXNUVUZCUlN4QlFVRkJMRVZCUVZFN1NVRkRVaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVU5pTzBWQldrd3NRVUZoVFN4WlFXSk5MRU5CUTFZc1MwRkJTeXhIUVZsRUxFVkJRVVVzUTBGQlF6dEpRVU5JTEU5QlFVOHNSVUZCUXl4TFFVRkxPMGxCUTJJc1MwRkJTeXhGUVVGRExFbEJRVWs3U1VGRlZpeFBRVUZQTEVWQlFVTXNTVUZCU1R0SlFVTmFMRk5CUVZNc1JVRkJReXhKUVVGSk8wbEJRMlE3VTBGRFJ5eEZRVGhDU2p0SlFXeEVUQ3hCUVhOQ1VTeFpRWFJDU1N4RFFVTldMRXRCUVVzc1IwRlpSQ3hGUVVGRkxFZEJVMEVzUlVGQlJTeERRVUZETzAxQlEwZ3NTVUZCU1N4RlFVRkRMRkZCUVZFc1IwRXdRbVE3VFVGcVJGQXNRVUZ6UWxFc1dVRjBRa2tzUTBGRFZpeExRVUZMTEVkQldVUXNSVUZCUlN4SFFWTkJMRVZCUVVVc1FVRk5SaXhsUVVGblFpeERRVUZETzFGQlEyWXNVMEZCVXl4RlFVRkRMRTFCUVUwc1IwRkRha0k3VFVFNVFsUXNRVUZ6UWxFc1dVRjBRa2tzUTBGRFZpeExRVUZMTEVkQldVUXNSVUZCUlN4SFFWTkJMRVZCUVVVc1FVRlRSaXhwUWtGQmEwSXNRMEZCUXp0UlFVTnFRaXhUUVVGVExFVkJRVU1zUzBGQlN5eEhRVU5vUWp0TlFXcERWQ3hCUVhOQ1VTeFpRWFJDU1N4RFFVTldMRXRCUVVzc1IwRlpSQ3hGUVVGRkxFZEJVMEVzUlVGQlJTeEJRVmxHTEc5Q1FVRnhRaXhEUVVGRE8xRkJRM0JDTEZOQlFWTXNSVUZCUXl4SlFVRkpMRWRCUTJZN1RVRndRMVFzUVVGelFsRXNXVUYwUWtrc1EwRkRWaXhMUVVGTExFZEJXVVFzUlVGQlJTeEhRVk5CTEVWQlFVVXNRVUZsUml4dFFrRkJiMElzUTBGQlF6dFJRVU51UWl4VFFVRlRMRVZCUVVNc1NVRkJTU3hIUVVObU8wMUJka05VTEVGQmMwSlJMRmxCZEVKSkxFTkJRMVlzUzBGQlN5eEhRVmxFTEVWQlFVVXNSMEZUUVN4RlFVRkZMRUZCYTBKR0xITkNRVUYxUWl4RFFVRkRPMUZCUTNSQ0xGTkJRVk1zUlVGQlF5eFZRVUZWTEVkQlEzSkNPMDFCTVVOVUxFRkJjMEpSTEZsQmRFSkpMRU5CUTFZc1MwRkJTeXhIUVZsRUxFVkJRVVVzUjBGVFFTeEZRVUZGTEVGQmNVSkdMSEZDUVVGelFpeERRVUZETzFGQlEzSkNMRk5CUVZNc1JVRkJReXhUUVVGVExFZEJRM0JDTzAxQk4wTlVMRUZCYzBKUkxGbEJkRUpKTEVOQlExWXNTMEZCU3l4SFFWbEVMRVZCUVVVc1IwRlRRU3hGUVVGRkxFRkJkMEpHTEhGQ1FVRnpRaXhEUVVGRE8xRkJRM0pDTEZOQlFWTXNSVUZCUXl4VFFVRlRMRWRCUTNCQ096dEJRV2hFVkN4QlFXOUVSU3haUVhCRVZTeERRVzlFVml4TFFVRkxMRUZCUTBnc1RVRkJUeXhEUVVGRE8wVkJRMDRzVDBGQlR5eEZRVUZGTEVsQlFVazdSVUZEWWl4bFFVRmxMRVZCUVVVc1RVRkJUVHRGUVVOMlFpeFhRVUZYTEVWQlFVVXNUVUZCVFN4SFFWTndRanRGUVdwRlRDeEJRWGxFVVN4WlFYcEVTU3hEUVc5RVZpeExRVUZMTEVGQlEwZ3NUVUZCVHl4SFFVbElMRVZCUVVVc1EwRkJRenRKUVVOSUxGVkJRVlVzUlVGQlF5eE5RVUZOTzBsQlEycENMRTlCUVU4c1JVRkJReXhMUVVGTExFZEJTMlE3U1VGb1JWQXNRVUUwUkZFc1dVRTFSRWtzUTBGdlJGWXNTMEZCU3l4QlFVTklMRTFCUVU4c1IwRkpTQ3hGUVVGRkxFTkJSMFlzUlVGQlJTeERRVUZETzAxQlEwUXNUVUZCVFN4RlFVRkRMRTFCUVUwN1RVRkRZaXhQUVVGUExFVkJRVU1zV1VGQldTeEhRVU55UWpzN1FVRXZSRlFzUVVGdFJVVXNXVUZ1UlZVc1EwRnRSVllzUzBGQlN5eERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRU5CUVVNN1JVRkRXaXhWUVVGVkxFVkJRVU1zVFVGQlRUdEZRVU5xUWl4UFFVRlBMRVZCUVVNc1MwRkJTenRGUVVOaUxGTkJRVk1zUlVGQlF5eFBRVUZQTzBWQlEycENMRlZCUVZVc1JVRkJReXhKUVVGSk8wVkJRMllzVjBGQlZ5eEZRVUZETEU5QlFVODdSVUZEYmtJc1kwRkJZeXhGUVVGRExFZEJRVWM3UlVGRGJFSXNaVUZCWlN4RlFVRkRMRTFCUVUwN1JVRkRkRUlzVjBGQlZ5eEZRVUZETEVOQlFVTTdSVUZEWWl4VFFVRlRMRVZCUVVNc1EwRkJRenRGUVVOWUxGTkJRVk1zUlVGQlF5eEpRVUZKTzBWQlEyUXNNRUpCUVRCQ0xFVkJRVVVzUzBGQlN5eEhRVU5zUXpzN1FVRkhTQ3hCUVVORkxFOUJSRXNzUVVGQlFTeDNRa0ZCZDBJc1FVRkJRU3hKUVVGTExFTkJRVUVzUVVGQlFTeDNRa0ZCZDBJc1JVRkRNVVFzYVVKQlFXbENMRVZCUkc1Q0xFRkJRM0ZDTEU5QlJHUXNRVUZCUVN4M1FrRkJkMElzUVVGQlFTeEpRVUZMTEVOQlFVRXNRVUZCUVN4M1FrRkJkMElzUlVGRGRrTXNhVUpCUVdsQ0xFTkJRVU03UlVGRGJrTXNXVUZCV1N4RlFVRkZMRWxCUVVrc1IwRkRia0k3TzBGT2RtaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOTUdoQ2RrTXNRVUZIU1N4cFEwRklOa0lzUTBGSE4wSXNTVUZCU1N4RFFVRkRPMGxCUTBnc1QwRkJUeXhGUVVGRExGbEJRVmtzUjBGRGNrSTdSVUZNVEN4QlFVMU5MR2xEUVU0eVFpeEhRVTB6UWl4SFFVRkhMRU5CUVVNN1NVRkRTaXhQUVVGUExFVkJRVU1zV1VGQldUdEpRVU53UWl4WFFVRlhMRVZCUVVNc1NVRkJTU3hIUVVOcVFqczdRVUZKVEN4QlFVTkZMRzlDUVVSclFpeERRVU5zUWl4TlFVRk5MRU5CUVVNN1JVRkRUQ3hoUVVGaExFVkJRVVVzU1VGQlNTeEhRVU53UWpzN1FVNHhhVUpETEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3UlUxMWFVSjJReXhCUVVGQkxHOUNRVUZ2UWl4RFFVRkRPMGxCUzJwQ0xGZEJRVmNzUlVGQlJTeEpRVUZKTzBsQlEycENMRmxCUVZrc1JVRkJSU3hKUVVGSkxFZEJWWEpDTzBsQmFFSkVMRUZCVDBrc2IwSkJVR2RDTEVOQlQyaENMRXRCUVVzc1EwRkJRenROUVVOS0xGbEJRVmtzUlVGQlJTeExRVUZMTEVkQlEzQkNPMGxCVkV3c1FVRlZTU3h2UWtGV1owSXNRMEZWYUVJc1RVRkJUU3hEUVVGRE8wMUJRMHdzV1VGQldTeEZRVUZGTEVsQlFVazdUVUZEYkVJc1lVRkJZU3hGUVVGRkxFTkJRVU1zUjBGRGFrSTdPMEZPY0dwQ1JDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wVk5lV3BDZGtNc1FVRkJRU3h2UWtGQmIwSXNRMEZCUXp0SlFVVnFRaXhQUVVGUExFVkJRVVVzU1VGQlNUdEpRVU5pTEdWQlFXVXNSVUZCUlN4UlFVRlJPMGxCUTNwQ0xGTkJRVk1zUlVGQlJTeEpRVUZKTzBsQlEyWXNZMEZCWXl4RlFVRkZMRXRCUVVzc1IwRXdRbmhDTzBsQkwwSkVMRUZCVFUwc2IwSkJUbU1zUjBGTlpDeERRVUZETEVGQlEwUXNXVUZCWVN4RFFVRkRPMDFCUTFvc1dVRkJXU3hGUVVGRExFbEJRVWtzUjBGRGJFSTdTVUZVVUN4QlFWZEpMRzlDUVZoblFpeERRVmRvUWl4dlFrRkJiMElzUTBGQlF6dE5RVU51UWl4WlFVRlpMRVZCUVVNc1NVRkJTU3hIUVdsQ2JFSTdTVTUwYkVKRUxFMUJRVTBzUTBGQlF5eE5RVUUyUWl4TlFVRnFRaXhUUVVGVExFVkJRVVVzUzBGQlN5eFBRVUZvUWl4VFFVRlRMRVZCUVVVc1MwRkJTenROVFhscVFuWkRMRUZCWlZFc2IwSkJabGtzUTBGWGFFSXNiMEpCUVc5Q0xFTkJTV2hDTEVsQlFVa3NRMEZCUXp0UlFVTklMRTlCUVU4c1JVRkJReXhKUVVGSkxFZEJRMkk3VFVGRFJDeEJRVU5GTEU5QlJFc3NRMEZzUW1Zc2IwSkJRVzlDTEVOQlYyaENMRzlDUVVGdlFpeERRVkZrTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1JVRkJTeXhoUVVGaExFRkJRV3hDTEVWQlFXOUNPMUZCUTNoQ0xGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyUXNZMEZCWXl4RlFVRkZMRU5CUVVNN1VVRkRha0lzVjBGQlZ5eEZRVUZGTEVkQlFVY3NSMEZEYWtJN08wRk9hR3hDVUN4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzAxTmJXeENha01zUVVGbVJpeHZRa0ZsYzBJc1EwRXhRakZDTEc5Q1FVRnZRaXhEUVZkb1FpeHZRa0ZCYjBJc1EwRmxTenRSUVVOeVFpeFpRVUZaTEVWQlFVTXNRMEZCUXl4SFFVTm1PenRCUVZkUUxFRkJRMFVzVDBGRVN5eEJRVU5NTEhsQ1FVRXdRaXhEUVVGRE8wVkJhVVI2UWp0UFFVTkhMRVZCWTBvN1JVNXFjVUpETEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3U1UxbmJVSjJReXhCUVVkTkxFOUJTRU1zUVVGRFRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRVU5hTEVkQlFVY3NRMEZCUXp0TlFVZEJMRlZCUVZVc1JVRkJReXhKUVVGSkxFZEJSV3hDTzBWQlVsQXNRVUZsVVN4UFFXWkVMRUZCUTB3c2VVSkJRVEJDTEVOQlEzaENMR05CUVdNc1EwRlpXaXhMUVVGTExFTkJRMGdzUlVGQlJTeEJRVU5CTEZsQlFXRXNRMEZCUXp0SlFVTmFMRmxCUVZrc1JVRkJReXhMUVVGTExFZEJRMjVDTzBWQmJFSllMRUZCWlZFc1QwRm1SQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJXVm9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZKUVN4WFFVRlpMRU5CUVVNN1NVRkRXQ3hoUVVGaExFVkJRVU1zUzBGQlN5eEhRVU53UWp0RlFYSkNXQ3hCUVhsQ1VTeFBRWHBDUkN4QlFVTk1MSGxDUVVFd1FpeERRVU40UWl4alFVRmpMRU5CYzBKYUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTkVMRVZCUVVVc1FVRkRRU3haUVVGaExFTkJRVU03U1VGRFdpeFpRVUZaTEVWQlFVTXNTMEZCU3l4SFFVTnVRanRGUVRWQ1dDeEJRWGxDVVN4UFFYcENSQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJjMEphTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVORUxFVkJRVVVzUVVGSlFTeFhRVUZaTEVOQlFVTTdTVUZEV0N4aFFVRmhMRVZCUVVNc1MwRkJTeXhIUVVOd1FqdEZRUzlDV0N4QlFXMURVU3hQUVc1RFJDeEJRVU5NTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlowTmFMRVZCUVVVc1EwRkRRU3hGUVVGRkxFVkJia05XTEVGQmJVTlhMRTlCYmtOS0xFRkJRMHdzZVVKQlFUQkNMRU5CUTNoQ0xHTkJRV01zUTBGblExb3NSVUZCUlN4RFFVTkhMRVZCUVVVc1EwRkJRenRKUVVOS0xGVkJRVlVzUlVGQlF5eE5RVUZOTEVkQlZXeENPMGxPT1c5Q1RDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMU5aMjFDZGtNc1FVRnRRMUVzVDBGdVEwUXNRVUZEVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFXZERXaXhGUVVGRkxFTkJRMEVzUlVGQlJTeEZRVzVEVml4QlFXMURWeXhQUVc1RFNpeEJRVU5NTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlowTmFMRVZCUVVVc1EwRkRSeXhGUVVGRkxFTkJRVU03VVVGSFJpeFZRVUZWTEVWQlFVTXNTMEZCU3l4SFFWRnVRanRSUVRsRFZDeEJRVzFEVVN4UFFXNURSQ3hCUVVOTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJaME5hTEVWQlFVVXNRMEZEUVN4RlFVRkZMRUZCU1VNc2FVSkJRVzFDTEVWQmRrTTVRaXhCUVcxRFZ5eFBRVzVEU2l4QlFVTk1MSGxDUVVFd1FpeERRVU40UWl4alFVRmpMRU5CWjBOYUxFVkJRVVVzUTBGRFJ5eEZRVUZGTEVGQlNVWXNhVUpCUVcxQ0xFTkJRVU03VlVGRGFrSXNWVUZCVlN4RlFVRkZMRWxCUVVrc1IwRkRha0k3U1VGNlEySXNRVUZ0UTFFc1QwRnVRMFFzUVVGRFRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV2REV2l4RlFVRkZMRU5CUTBFc1JVRkJSU3hCUVZGRUxHbENRVUZ0UWl4RlFUTkROVUlzUVVGdFExY3NUMEZ1UTBvc1FVRkRUQ3g1UWtGQk1FSXNRMEZEZUVJc1kwRkJZeXhEUVdkRFdpeEZRVUZGTEVOQlEwY3NSVUZCUlN4QlFWRktMR2xDUVVGdFFpeERRVUZETzAxQlEycENMRlZCUVZVc1JVRkJReXhKUVVGSkxFZEJRMmhDTzBWQk4wTllMRUZCZFVSUkxFOUJka1JFTEVGQlEwd3NlVUpCUVRCQ0xFRkJiMFI0UWl3MlFrRkJPRUlzUTBGRE5VSXNZMEZCWXl4RFFVTmFMRWRCUVVjc1EwRkJRenRKUVVOR0xGVkJRVlVzUlVGQlF5eEpRVUZKTEVkQlEyaENPMFZCZWtSVUxFRkJNa1JWTEU5Qk0wUklMRUZCUTB3c2VVSkJRVEJDTEVGQmIwUjRRaXcyUWtGQk9FSXNRMEZETlVJc1kwRkJZeXhEUVVsYUxFVkJRVVVzUVVGQlFTeE5RVUZOTEVOQlEwNHNSMEZCUnl4RFFVRkRPMGxCUTBZc1ZVRkJWU3hGUVVGRExFbEJRVWtzUjBGRGFFSTdPMEZCTjBSWUxFRkJjVVZOTEU5QmNrVkRMRUZCYlVWTUxIbENRVUV3UWl4RFFVTjRRaXhqUVVGakxFTkJRMW9zUzBGQlN5eEZRWEpGV0N4QlFYRkZUU3hQUVhKRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkRXaXhMUVVGTExFVkJja1ZZTEVGQmNVVk5MRTlCY2tWRExFRkJiVVZyUkN3eVFrRkJORUlzUTBGRGFrWXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkJRenRGUVVWS0xFOUJRVThzUlVGQlF5eGxRVUZsTEVkQlEzaENPenRCUVhoRlVDeEJRWGxGVFN4UFFYcEZReXhCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRVXRhTEVWQlFVVXNRVUZEUml4SlFVRlJMRU5CUVVFc1FVRkJRU3hwUWtGQmFVSXNRMEZCUXl4SlFVRkxMRU5CUVVFc1FVRkJRU3hsUVVGbExFZEJNVVZ3UkN4QlFYbEZUU3hQUVhwRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkxXaXhGUVVGRkxFRkJRMFlzU1VGQlVTeERRVUZCTEVGQlFVRXNhVUpCUVdsQ0xFTkJRVU1zU1VGQlN5eERRVUZCTEVGQlFVRXNaVUZCWlN4SFFURkZjRVFzUVVGNVJVMHNUMEY2UlVNc1FVRnRSV3RFTERKQ1FVRTBRaXhEUVVOcVJpeGpRVUZqTEVOQlMxb3NSVUZCUlN4QlFVTkdMRWxCUVZFc1EwRkJRU3hCUVVGQkxHbENRVUZwUWl4RFFVRkRMRWxCUVVzc1EwRkJRU3hCUVVGQkxHVkJRV1VzUlVGQlJUdEZRVVUxUXl4UFFVRlBMRVZCUVVNc1NVRkJTU3hIUVVOaU96dEJRVGRGVkN4QlFYbEZUU3hQUVhwRlF5eEJRVzFGVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFVdGFMRVZCUVVVc1EwRkxSaXhCUVVGQkxFOUJRVWtzUVVGQlFTeEhRVGxGVml4QlFYbEZUU3hQUVhwRlF5eEJRVzFGZFVJc2QwSkJRWGxDTEVOQlEyNUVMR05CUVdNc1EwRkxXaXhGUVVGRkxFTkJTMFlzUVVGQlFTeFBRVUZKTEVGQlFVRXNSMEU1UlZZc1FVRjVSVTBzVDBGNlJVTXNRVUZ0Uld0RUxESkNRVUUwUWl4RFFVTnFSaXhqUVVGakxFTkJTMW9zUlVGQlJTeERRVXRHTEVGQlFVRXNUMEZCU1N4QlFVRkJMRVZCUVZNN1JVRkRWQ3hQUVVGUExFVkJRVU1zUzBGQlN5eEhRVU5rT3p0QlFXaEdWQ3hCUVd0R1RTeFBRV3hHUXl4QlFXMUZUQ3g1UWtGQk1FSXNRMEZEZUVJc1kwRkJZeXhEUVdOYUxFdEJRVXNzUlVGc1JsZ3NRVUZyUmswc1QwRnNSa01zUVVGdFJYVkNMSGRDUVVGNVFpeERRVU51UkN4alFVRmpMRU5CWTFvc1MwRkJTeXhGUVd4R1dDeEJRV3RHVFN4UFFXeEdReXhCUVcxRmEwUXNNa0pCUVRSQ0xFTkJRMnBHTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CUVVNN1JVRkpTaXhUUVVGVExFVkJRVVVzU1VGQlNUdEZRVU5tTEdWQlFXVXNSVUZCUlN4TlFVRk5MRWRCYTBKNFFqdEZUbnB6UWtnc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SlRXZHRRblpETEVGQmEwWk5MRTlCYkVaRExFRkJiVVZNTEhsQ1FVRXdRaXhEUVVONFFpeGpRVUZqTEVOQlkxb3NTMEZCU3l4RlFXeEdXQ3hCUVd0R1RTeFBRV3hHUXl4QlFXMUZkVUlzZDBKQlFYbENMRU5CUTI1RUxHTkJRV01zUTBGaldpeExRVUZMTEVWQmJFWllMRUZCYTBaTkxFOUJiRVpETEVGQmJVVnJSQ3d5UWtGQk5FSXNRMEZEYWtZc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGQlF6dE5RVVZHTEU5QlFVOHNSVUZCUlN4bFFVRmxMRWRCY1VJelFqdEZRWHBIVUN4QlFYZEdVU3hQUVhoR1JDeEJRVzFGVEN4NVFrRkJNRUlzUTBGRGVFSXNZMEZCWXl4RFFXTmFMRXRCUVVzc1EwRk5TQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNSMEY0Umxnc1FVRjNSbEVzVDBGNFJrUXNRVUZ0UlhWQ0xIZENRVUY1UWl4RFFVTnVSQ3hqUVVGakxFTkJZMW9zUzBGQlN5eERRVTFJTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hIUVhoR1dDeEJRWGRHVVN4UFFYaEdSQ3hCUVcxRmEwUXNNa0pCUVRSQ0xFTkJRMnBHTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CVFVnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVWQlFWVTdTVUZQV0N4TlFVRk5MRVZCUVVNc1pVRkJaVHRKUVVOMFFpeFZRVUZWTEVWQlFVTXNTVUZCU1R0SlFVTm1MRXRCUVVzc1JVRkJReXhKUVVGSkxFZEJTVmc3U1U1eWMwSk1MRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUVTFuYlVKMlF5eEJRWGRHVVN4UFFYaEdSQ3hCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV05hTEV0QlFVc3NRMEZOU0N4RlFVRkZMRU5CUVVFc1FVRkJRU3hSUVVGRExFRkJRVUVzUjBGNFJsZ3NRVUYzUmxFc1QwRjRSa1FzUVVGdFJYVkNMSGRDUVVGNVFpeERRVU51UkN4alFVRmpMRU5CWTFvc1MwRkJTeXhEUVUxSUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZGQlFVTXNRVUZCUVN4SFFYaEdXQ3hCUVhkR1VTeFBRWGhHUkN4QlFXMUZhMFFzTWtKQlFUUkNMRU5CUTJwR0xHTkJRV01zUTBGaldpeExRVUZMTEVOQlRVZ3NSVUZCUlN4RFFVRkJMRUZCUVVFc1VVRkJReXhCUVVGQkxFVkJRVlU3VVVGRlZDeFBRVUZQTEVWQlFVTXNXVUZCV1N4SFFWZDJRanRKUVhKSFZDeEJRVFJHVlN4UFFUVkdTQ3hCUVcxRlRDeDVRa0ZCTUVJc1EwRkRlRUlzWTBGQll5eERRV05hTEV0QlFVc3NRMEZOU0N4RlFVRkZMRU5CUVVFc1FVRkJRU3hSUVVGRExFRkJRVUVzUlVGSlJDeEZRVUZGTEVWQk5VWmFMRUZCTkVaVkxFOUJOVVpJTEVGQmJVVjFRaXgzUWtGQmVVSXNRMEZEYmtRc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGTlNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1JVRkpSQ3hGUVVGRkxFVkJOVVphTEVGQk5FWlZMRTlCTlVaSUxFRkJiVVZyUkN3eVFrRkJORUlzUTBGRGFrWXNZMEZCWXl4RFFXTmFMRXRCUVVzc1EwRk5TQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNSVUZKUkN4RlFVRkZMRU5CUVVNN1RVRkRSQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEhRVU5tTzBsT09YSkNVQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFOWjIxQ2RrTXNRVUYzUmxFc1QwRjRSa1FzUVVGdFJVd3NlVUpCUVRCQ0xFTkJRM2hDTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CVFVnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVkQmVFWllMRUZCZDBaUkxFOUJlRVpFTEVGQmJVVjFRaXgzUWtGQmVVSXNRMEZEYmtRc1kwRkJZeXhEUVdOYUxFdEJRVXNzUTBGTlNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1IwRjRSbGdzUVVGM1JsRXNUMEY0UmtRc1FVRnRSV3RFTERKQ1FVRTBRaXhEUVVOcVJpeGpRVUZqTEVOQlkxb3NTMEZCU3l4RFFVMUlMRVZCUVVVc1EwRkJRU3hCUVVGQkxGRkJRVU1zUVVGQlFTeEZRVUZWTzFGQlYxUXNWVUZCVlN4RlFVRkRMRWxCUVVrc1IwRkZiRUk3UlVGeVIxUXNRVUZ6UjFFc1QwRjBSMFFzUVVGdFJVd3NlVUpCUVRCQ0xFTkJRM2hDTEdOQlFXTXNRMEZqV2l4TFFVRkxMRU5CYjBKSUxHOUNRVUZ2UWl4RlFYUkhOVUlzUVVGelIxRXNUMEYwUjBRc1FVRnRSWFZDTEhkQ1FVRjVRaXhEUVVOdVJDeGpRVUZqTEVOQlkxb3NTMEZCU3l4RFFXOUNTQ3h2UWtGQmIwSXNSVUYwUnpWQ0xFRkJjMGRSTEU5QmRFZEVMRUZCYlVWclJDd3lRa0ZCTkVJc1EwRkRha1lzWTBGQll5eERRV05hTEV0QlFVc3NRMEZ2UWtnc2IwSkJRVzlDTEVOQlFVTTdTVUZEYmtJc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqczdRVTU0YzBKTUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMW5iVUoyUXl4QlFUaEhiVUlzVDBFNVIxb3NRVUUyUjB3c2VVSkJRVEJDTEVOQlEzaENMR05CUVdNc1EwRkJReXhMUVVGTExFTkJRVU03U1VGRmFrSXNUMEZCVHl4RlFVRkZMRWxCUVVrc1IwRkZhRUk3TzBGT2JIUkNSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOWjIxQ2RrTXNRVUYzU0ZFc1QwRjRTRVFzUVVGeFNFd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVkQmVFaFlMRUZCZDBoUkxFOUJlRWhFTEVGQmNVaHpRaXd5UWtGQk5FSXNRMEZEY2tRc1kwRkJZeXhEUVVOYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVOQlFVRXNRVUZCUVN4UlFVRkRMRUZCUVVFc1JVRkJWVHRKUVVkVUxHRkJRV0VzUlVGQlJTeERRVUZETEVkQlZXNUNPenRCVG5KMVFrd3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJkMGhSTEU5QmVFaEVMRUZCY1VoTUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVU5JTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hIUVhoSVdDeEJRWGRJVVN4UFFYaElSQ3hCUVhGSWMwSXNNa0pCUVRSQ0xFTkJRM0pFTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVWQlFWVTdTVUZOVkN4VlFVRlZMRVZCUVVNc1NVRkJTU3hIUVU5c1FqczdRVTV5ZFVKTUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1JVMW5iVUoyUXl4QlFXZEpXU3hQUVdoSlRDeEJRWEZJVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkRTQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNTVUZSUXl4RlFVRkZMRUZCUVVFc1NVRkJTeXhEUVVGQkxFRkJRVUVzYjBKQlFXOUNMRWRCYUVsMlF5eEJRV2RKV1N4UFFXaEpUQ3hCUVhGSWMwSXNNa0pCUVRSQ0xFTkJRM0pFTEdOQlFXTXNRMEZEV2l4TFFVRkxMRU5CUTBnc1JVRkJSU3hEUVVGQkxFRkJRVUVzVVVGQlF5eEJRVUZCTEVsQlVVTXNSVUZCUlN4QlFVRkJMRWxCUVVzc1EwRkJRU3hCUVVGQkxHOUNRVUZ2UWl4RlFVRkZPMGxCUlROQ0xHRkJRV0VzUlVGQlJTeERRVUZETEVkQlJXNUNPenRCVG5CMVFsQXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJaMHBSTEU5QmFFcEVMRUZCTUVsTUxESkNRVUUwUWl4RFFVTXhRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVWxJTEVWQlFVVXNRMEZCUVN4QlFVRkJMRkZCUVVNc1FVRkJRU3hGUVVGVk8wbEJUVlFzVTBGQlV5eEZRVUZETEVkQlFVYzdTVUZEWWl4TlFVRk5MRVZCUVVVc1EwRkJRenRKUVVOVUxFOUJRVThzUlVGQlJTeFJRVUZSTEVkQlQzQkNPenRCVGk5MlFrd3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJiMHRGTEU5QmNFdExMRU5CYjB0TUxHRkJRV0VzUTBGQlF6dEpRVVZXTEZWQlFWVXNSVUZCUXl4RFFVRkRPMGxCUTFvc1UwRkJVeXhGUVVGRExFTkJRVU1zUjBGRlpEczdRVUY2UzBnc1FVRTBTMGtzVDBFMVMwY3NRVUV5UzB3c2VVSkJRVEJDTEVOQlEzaENMRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRlZCUVZVc1JVRkJSU3hMUVVGTExFZEJRMnhDT3p0QlRqbDNRa1FzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRGVFdkdFFuWkRMRUZCYVV4RkxFOUJha3hMTEVOQmFVeE1MRzlDUVVGdlFpeERRVUZETzBsQlJXcENMRlZCUVZVc1JVRkJSU3hEUVVGRE8wbEJRMklzUzBGQlN5eEZRVUZGTEVsQlFVazdTVUZEV0N4UFFVRlBMRVZCUVVVc1MwRkJTenRKUVV0a0xFOUJRVThzUlVGQlJTeEpRVUZKTzBsQlEySXNTMEZCU3l4RlFVRkRMRVZCUVVVN1NVRkRVaXhMUVVGTExFVkJRVVVzU1VGQlNUdEpRVTFZTzFOQlEwY3NSVUZGVGp0SlFYSk5TQ3hCUVdsTVJTeFBRV3BNU3l4RFFXbE1UQ3h2UWtGQmIwSXNRMEZMYUVJc1FVRkJRU3hOUVVGRkxFRkJRVUVzUlVGQlVUdE5RVU5TTEU5QlFVOHNSVUZCUXl4bFFVRmxMRWRCUTNoQ08wbEJlRXhRTEVGQk9FeE5MRTlCT1V4RExFTkJhVXhNTEc5Q1FVRnZRaXhEUVdGb1FpeDNRa0ZCZDBJc1EwRkJRenROUVVOMlFpeExRVUZMTEVWQlFVTXNTVUZCU1N4SFFVTllPenRCUVdoTlVDeEJRWFZOUlN4UFFYWk5TeXhEUVhWTlRDeHBRa0ZCYVVJc1EwRkJRenRGUVVWb1FpeFZRVUZWTEVWQlFVVXNUVUZCVFN4SFFVVnVRanM3UVVFelRVZ3NRVUU0VFVrc1QwRTVUVWNzUVVFMlRVd3NkMEpCUVhsQ0xFTkJRM1pDTEdsQ1FVRnBRaXhGUVRsTmNrSXNRVUU0VFVrc1QwRTVUVWNzUVVFMlRYTkNMREpDUVVFMFFpeERRVU55UkN4cFFrRkJhVUlzUTBGQlF6dEZRVU5vUWl4TlFVRk5MRVZCUVVVc1RVRkJUVHRGUVVOa0xFOUJRVThzUlVGQlJTeFpRVUZaTEVkQlEzUkNPenRCVG1wNlFrUXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZUV2R0UW5aRExFRkJkVTVSTEU5QmRrNUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJRMW9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZEUVN4WlFVRmhMRU5CUVVNN1NVRkZWaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVVZtT3p0QlRqVjZRbEFzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRGVFdkdFFuWkRMRUZCZFU1UkxFOUJkazVFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CUTFvc1MwRkJTeXhEUVVOSUxFVkJRVVVzUVVGTlFTeFpRVUZqTEVOQlFVRXNRVUZCUVN4RFFVRkRMRVZCUVVVN1NVRkZZaXhWUVVGVkxFVkJRVU1zU1VGQlNUdEpRVU5tTEZsQlFWa3NSVUZCUXl4TFFVRkxMRWRCUlhKQ096dEJRV3hQV0N4QlFYVk9VU3hQUVhaT1JDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFVTmFMRXRCUVVzc1EwRkRTQ3hGUVVGRkxFRkJXVUVzVjBGQldTeERRVUZETzBWQlExZ3NZVUZCWVN4RlFVRkRMRXRCUVVzc1IwRkRjRUk3TzBGQmNrOVlMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVWQk1VOVdMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVWQk1VOWlMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTlFMRVZCUVVVc1JVRXhUMVlzUVVFd1QxY3NUMEV4VDBvc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMG9zUlVGQlJTeERRVUZETzBWQlEwb3NWVUZCVlN4RlFVRkRMRXRCUVVzc1IwRnBRbXBDTzBWQk5WQlVMRUZCTUU5UkxFOUJNVTlFTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFNDeEZRVUZGTEVGQlJVZ3NhVUpCUVhGQ0xFVkJOVTgxUWl4QlFUQlBVU3hQUVRGUFJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNXaXhMUVVGTExFTkJRMGdzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVGQlJVNHNhVUpCUVhGQ0xFVkJOVTgxUWl4QlFUQlBWeXhQUVRGUFNpeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNXaXhMUVVGTExFTkJRMEVzUlVGQlJTeEJRVVZqTEdsQ1FVRnhRaXhGUVRWUGFFUXNRVUV3VDFFc1QwRXhUMFFzUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEZ2UWs0c1JVRkJSU3hEUVVGQkxFRkJRVUVzVjBGQlF5eEJRVUZCTEVWQlExQXNSVUZCUlN4QlFVVklMR2xDUVVGeFFpeEZRVFZQTlVJc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWcFFpeHBRa0ZCY1VJc1JVRTFUMmhFTEVGQk1FOVhMRTlCTVU5S0xFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQmIwSk9MRVZCUVVVc1EwRkJRU3hCUVVGQkxGZEJRVU1zUVVGQlFTeEZRVU5LTEVWQlFVVXNRVUZGVGl4cFFrRkJjVUlzUlVFMVR6VkNMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZZeXhwUWtGQmNVSXNRMEZCUXp0SlFVTnlReXhWUVVGVkxFVkJRVU1zU1VGQlNTeEhRVTlvUWp0SlFVNTNRaXhUUVVGRExFVkJRV1FzVDBGQlR5eEZRVUZETEVsQlFVazdUVUU1VDJ4RExFRkJNRTlSTEU5Qk1VOUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEU0N4RlFVRkZMRUZCUlVnc2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFVTeFBRVEZQUkN4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwZ3NSVUZCUlN4QlFVVnBRaXhwUWtGQmNVSXNSVUUxVDJoRUxFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEUVN4RlFVRkZMRUZCUlU0c2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwRXNSVUZCUlN4QlFVVmpMR2xDUVVGeFFpeEZRVFZQYUVRc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWSUxHbENRVUZ4UWl4RlFUVlBOVUlzUVVFd1QxRXNUMEV4VDBRc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMUFzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZUaXhwUWtGQmNVSXNSVUUxVHpWQ0xFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEpPTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVOS0xFVkJRVVVzUVVGRll5eHBRa0ZCY1VJc1EwRkJRenRSUVVkdVF5eFBRVUZQTEVWQlFVVXNTMEZCU3l4SFFVdHFRanRKVG5BeFFsQXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5UV2R0UW5aRExFRkJNRTlSTEU5Qk1VOUVMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEU0N4RlFVRkZMRUZCUlVnc2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFVTeFBRVEZQUkN4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwZ3NSVUZCUlN4QlFVVnBRaXhwUWtGQmNVSXNSVUUxVDJoRUxFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEphTEV0QlFVc3NRMEZEUVN4RlFVRkZMRUZCUlU0c2FVSkJRWEZDTEVWQk5VODFRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1dpeExRVUZMTEVOQlEwRXNSVUZCUlN4QlFVVmpMR2xDUVVGeFFpeEZRVFZQYUVRc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRazRzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUTFBc1JVRkJSU3hCUVVWSUxHbENRVUZ4UWl4RlFUVlBOVUlzUVVFd1QxRXNUMEV4VDBRc1FVRnZUa3dzZDBKQlFYbENMRU5CUTNaQ0xHTkJRV01zUTBGdlFrNHNSVUZCUlN4RFFVRkJMRUZCUVVFc1YwRkJReXhCUVVGQkxFVkJRMUFzUlVGQlJTeEJRVVZwUWl4cFFrRkJjVUlzUlVFMVQyaEVMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKT0xFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4RlFVTktMRVZCUVVVc1FVRkZUaXhwUWtGQmNVSXNSVUUxVHpWQ0xFRkJNRTlYTEU5Qk1VOUtMRUZCYjA1TUxIZENRVUY1UWl4RFFVTjJRaXhqUVVGakxFTkJiMEpPTEVWQlFVVXNRMEZCUVN4QlFVRkJMRmRCUVVNc1FVRkJRU3hGUVVOS0xFVkJRVVVzUVVGRll5eHBRa0ZCY1VJc1EwRkJRenRSUVUxdVF5eFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFVVm1PMFZPY0RGQ1VDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbE5aMjFDZGtNc1FVRXdUMUVzVDBFeFQwUXNRVUZ2VGt3c2QwSkJRWGxDTEVOQlEzWkNMR05CUVdNc1EwRnZRbG9zUzBGQlN5eERRVU5JTEVWQlFVVXNRVUZYU0N4dlFrRkJkMElzUlVGeVVDOUNMRUZCTUU5WExFOUJNVTlLTEVGQmIwNU1MSGRDUVVGNVFpeERRVU4yUWl4alFVRmpMRU5CYjBKYUxFdEJRVXNzUTBGRFFTeEZRVUZGTEVGQlYwNHNiMEpCUVhkQ0xFVkJjbEF2UWl4QlFUQlBVU3hQUVRGUFJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFXOUNUaXhGUVVGRkxFTkJRVUVzUVVGQlFTeFhRVUZETEVGQlFVRXNSVUZEVUN4RlFVRkZMRUZCVjBnc2IwSkJRWGRDTEVWQmNsQXZRaXhCUVRCUFZ5eFBRVEZQU2l4QlFXOU9UQ3gzUWtGQmVVSXNRMEZEZGtJc1kwRkJZeXhEUVc5Q1RpeEZRVUZGTEVOQlFVRXNRVUZCUVN4WFFVRkRMRUZCUVVFc1JVRkRTaXhGUVVGRkxFRkJWMDRzYjBKQlFYZENMRU5CUVVNN1RVRkZiRUlzVlVGQlZTeEZRVUZETEUxQlFVMDdUVUZEYWtJc1YwRkJWeXhGUVVGRExFdEJRVXM3VFVGRGFrSXNZMEZCWXl4RlFVRkRMRXRCUVVzc1IwRkZka0k3TzBGT016RkNVQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMFZOWjIxQ2RrTXNRVUVyVUUwc1QwRXZVRU1zUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEV3UTFvc1MwRkJTeXhEUVVGRE8wbEJSVVlzVjBGQlZ5eEZRVUZETEVOQlFVTXNSMEZ4UW1oQ096dEJRWFJTVUN4QlFXOVJWU3hQUVhCUlNDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFUQkRXaXhMUVVGTExFTkJTVWdzYVVKQlFXbENMRU5CUTJZc1IwRkJSeXhGUVhCUllpeEJRVzlSWXl4UFFYQlJVQ3hCUVc5T1RDeDNRa0ZCZVVJc1EwRkRka0lzWTBGQll5eERRVEJEV2l4TFFVRkxMRU5CU1Vnc2FVSkJRV2xDTEVOQlExZ3NTMEZCU3l4RlFYQlJia0lzUVVGdlVXOUNMRTlCY0ZGaUxFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQk1FTmFMRXRCUVVzc1EwRkpTQ3hwUWtGQmFVSXNRMEZEVEN4TFFVRkxMRU5CUVVNN1JVRkRaQ3hUUVVGVExFVkJRVU1zU1VGQlNUdEZRVU5rTEZWQlFWVXNSVUZCUXl4SlFVRkpMRWRCUTJoQ096dEJRWFpSV0N4QlFYbFJVU3hQUVhwUlJDeEJRVzlPVEN4M1FrRkJlVUlzUTBGRGRrSXNZMEZCWXl4RFFUQkRXaXhMUVVGTExFTkJWVWdzUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUVdFN1JVRkRaQ3hYUVVGWExFVkJRVU1zUTBGQlF6dEZRVU5pTEdOQlFXTXNSVUZCUXl4RFFVRkRMRWRCVldwQ08wVkJjbEpVTEVGQk5sRlpMRTlCTjFGTUxFRkJiMDVNTEhkQ1FVRjVRaXhEUVVOMlFpeGpRVUZqTEVOQk1FTmFMRXRCUVVzc1EwRlZTQ3hGUVVGRkxFTkJRVUVzUVVGQlFTeFhRVUZETEVGQlFVRXNTVUZKUXl4RlFVRkZMRUZCUTBZc1dVRkJZeXhEUVVGQkxFRkJRVUVzUTBGQlF5eEZRVUZGTzBsQlEyWXNXVUZCV1N4RlFVRkRMRXRCUVVzc1IwRkRia0k3UlVGb1VtSXNRVUUyVVZrc1QwRTNVVXdzUVVGdlRrd3NkMEpCUVhsQ0xFTkJRM1pDTEdOQlFXTXNRMEV3UTFvc1MwRkJTeXhEUVZWSUxFVkJRVVVzUTBGQlFTeEJRVUZCTEZkQlFVTXNRVUZCUVN4SlFVbERMRVZCUVVVc1FVRkpSaXhYUVVGWkxFTkJRVU03U1VGRFdDeGhRVUZoTEVWQlFVTXNTMEZCU3l4SFFVTndRanM3UVU1dU0wSlVMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdSVTB5TTBKMlF5eEJRVU5GTEU5QlJFc3NRMEZEVEN4cFFrRkJhVUlzUTBGQlF6dEpRVVZrTEU5QlFVOHNSVUZCUlN4SlFVRkpMRWRCUldoQ096dEJRVXhJTEVGQlQwa3NUMEZRUnl4RFFVMU1MRk5CUVZNc1EwRkRVQ3hSUVVGUkxFTkJRVU03UlVGRFVDeE5RVUZOTEVWQlFVTXNRMEZCUXp0RlFVTlNMRTlCUVU4c1JVRkJReXhEUVVGRExFZEJTVlk3UlVGaVRDeEJRVlZOTEU5QlZrTXNRMEZOVEN4VFFVRlRMRU5CUTFBc1VVRkJVU3hEUVVkT0xFdEJRVXNzUTBGQlF6dEpRVU5LTEdGQlFXRXNSVUZCUXl4RFFVRkRMRWRCUTJoQ096dEJRVnBRTEVGQlpVVXNUMEZtU3l4RFFXVk1MRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRk5CUVZNc1JVRkJSU3hWUVVGVkxFZEJRM1JDT3p0QlFXcENTQ3hCUVd0Q1JTeFBRV3hDU3l4RFFXdENUQ3hwUWtGQmFVSXNRMEZCUXp0RlFVTm9RaXhQUVVGUExFVkJRVVVzU1VGQlNUdEZRVU5pTEZkQlFWY3NSVUZCUlN4TlFVRk5MRWRCUTNCQ096dEJUbWcxUWtNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0RlRUSXpRblpETEVGQmRVSkpMRTlCZGtKSExFTkJjMEpNTERKQ1FVRXlRaXhEUVVONlFpeERRVUZETEVWQmRrSk1MRUZCZFVKUExFOUJka0pCTEVOQmMwSk1MREpDUVVFeVFpeERRVU4wUWl4UlFVRlJMRU5CUVVNN1NVRkZVaXhWUVVGVkxFVkJRVVVzUjBGQlJ6dEpRVU5tTEZWQlFWVXNSVUZCUlN4SlFVRkpPMGxCUTJoQ0xFOUJRVThzUlVGQlJTeExRVUZMTzBsQlEyUXNTMEZCU3l4RlFVRkZMRWxCUVVrc1IwRkZaRHM3UVVFNVFrd3NRVUZwUTBrc1QwRnFRMGNzUTBGblEwd3NaMEpCUVdkQ0xFTkJRMlFzVVVGQlVTeERRVUZETzBWQlExQXNUVUZCVFN4RlFVRkZMRWxCUVVrc1IwRkRZanM3UVVGdVEwd3NRVUZ6UTBVc1QwRjBRMHNzUTBGelEwd3NTMEZCU3l4RFFVRkJMRUZCUVVFc1IwRkJReXhEUVVGSkxHZERRVUZuUXl4QlFVRndReXhGUVVGelF6dEZRVU14UXl4UlFVRlJMRVZCUVVNc1VVRkJVVHRGUVVOcVFpeEhRVUZITEVWQlFVTXNTMEZCU3p0RlFVTlVMRXRCUVVzc1JVRkJReXhIUVVGSExFZEJRMVk3TzBGQk1VTklMRUZCY1VSSkxFOUJja1JITEVOQk5FTk1MRzFDUVVGdFFpeERRVk5xUWl4VFFVRlRMRU5CUVVNN1JVRkRVaXhWUVVGVkxFVkJRVVVzUjBGQlJ6dEZRVU5tTEZOQlFWTXNSVUZCUlN4SlFVRkpMRWRCZDBKb1FqdEZRUzlGVEN4QlFYZEVUU3hQUVhoRVF5eERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVZFFMRXRCUVVzc1EwRkJRU3hCUVVGQkxFZEJRVU1zUTBGQlNTdzJRa0ZCTmtJc1FVRkJha01zUlVGQmJVTTdTVUZEZGtNc2MwSkJRWE5DTEVWQlFVVXNSMEZCUnp0SlFVTXpRaXg1UWtGQmVVSXNSVUZCUlN4SFFVRkhMRWRCUXk5Q08wVkJNMFJRTEVGQk5FUk5MRTlCTlVSRExFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQxQXNUVUZCVFN4RlFUVkVXaXhCUVRSRVl5eFBRVFZFVUN4RFFUUkRUQ3h0UWtGQmJVSXNRMEZUYWtJc1UwRkJVeXhEUVU5RExFOUJRVThzUTBGQlF6dEpRVU5rTEdGQlFXRXNSVUZCUlN4RFFVRkRMRWRCVTJwQ08wbEJkRVZRTEVGQk5FUk5MRTlCTlVSRExFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQxQXNUVUZCVFN4QlFVVk1MRmxCUVdNc1JVRTVSSEpDTEVGQk5FUmpMRTlCTlVSUUxFTkJORU5NTEcxQ1FVRnRRaXhEUVZOcVFpeFRRVUZUTEVOQlQwTXNUMEZCVHl4QlFVVmtMRmxCUVdNc1EwRkJRenROUVVOYUxITkNRVUZ6UWl4RlFVRkZMRWRCUVVjN1RVRkRNMElzZVVKQlFYbENMRVZCUVVVc1IwRkJSeXhIUVVNdlFqdEpRV3BGVkN4QlFUUkVUU3hQUVRWRVF5eERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVOVFMRTFCUVUwc1FVRk5UQ3hYUVVGaExFVkJiRVZ3UWl4QlFUUkVZeXhQUVRWRVVDeERRVFJEVEN4dFFrRkJiVUlzUTBGVGFrSXNVMEZCVXl4RFFVOURMRTlCUVU4c1FVRk5aQ3hYUVVGaExFTkJRVU03VFVGRFdDeDFRa0ZCZFVJc1JVRkJSU3hIUVVGSE8wMUJRelZDTERCQ1FVRXdRaXhGUVVGRkxFZEJRVWNzUjBGRGFFTTdSVUZ5UlZRc1FVRjNSVlVzVDBGNFJVZ3NRMEUwUTB3c2JVSkJRVzFDTEVOQlUycENMRk5CUVZNc1FVRnJRbEFzVTBGQlZTeEhRVU5PTEVOQlFVTXNRMEZCUXp0SlFVTkdMRmxCUVZrc1JVRkJSU3hEUVVGRExFZEJRMmhDTzBWQk1VVlVMRUZCTkVWTkxFOUJOVVZETEVOQk5FTk1MRzFDUVVGdFFpeERRVk5xUWl4VFFVRlRMRU5CZFVKUUxFMUJRVTBzUTBGQlF6dEpRVU5NTEZOQlFWTXNSVUZCUlN4SlFVRkpMRWRCUTJoQ096dEJRVGxGVUN4QlFXZEdTU3hQUVdoR1J5eERRVFJEVEN4dFFrRkJiVUlzUTBGdlEycENMRlZCUVZVc1FVRkJRU3hUUVVGVExFTkJRVU03UlVGRGJFSXNaVUZCWlN4RlFVRkZMRmxCUVZrN1JVRkROMElzWVVGQllTeEZRVUZGTEVsQlFVa3NSMEZSY0VJN1JVRXhSa3dzUVVGdFJsRXNUMEZ1UmtRc1EwRTBRMHdzYlVKQlFXMUNMRU5CYjBOcVFpeFZRVUZWTEVGQlFVRXNVMEZCVXl4SFFVZG1MRU5CUVVNc1EwRkJRenRKUVVOR0xGbEJRVmtzUlVGQlF5eEpRVUZKTzBsQlEycENMR0ZCUVdFc1JVRkJReXhKUVVGSkxFZEJRMjVDTzBWQmRFWlFMRUZCZFVaTkxFOUJka1pETEVOQk5FTk1MRzFDUVVGdFFpeERRVzlEYWtJc1ZVRkJWU3hCUVVGQkxGTkJRVk1zUTBGUGFrSXNUMEZCVHl4RFFVRkRPMGxCUTA0c1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGRGNFSTdPMEZCZWtaUUxFRkJOa1p6UXl4UFFUZEdMMElzUTBFMlJrd3NZMEZCWXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETERCQ1FVRXdRaXhEUVVGRE8wVkJRemRFTEZWQlFWVXNSVUZCUlN4SlFVRkpMRWRCSzBKcVFqdEZRVGRJU0N4QlFTdEdTU3hQUVM5R1J5eERRVFpHVEN4alFVRmpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNNRUpCUVRCQ0xFTkJSVFZFTEV0QlFVc3NRMEZCUXp0SlFVTktMR0ZCUVdFc1JVRkJReXhEUVVGRExFZEJRMmhDTzBWQmFrZE1MRUZCYTBkSkxFOUJiRWRITEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUTBGTE5VUXNTMEZCU3l4RFFVRkJMRUZCUVVFc1IwRkJReXhEUVVGSkxESkNRVUV5UWl4QlFVRXZRaXhGUVVGcFF6dEpRVU55UXl4WFFVRlhMRVZCUVVVc1EwRkJReXhIUVVObU8wVkJjRWRNTEVGQmNVZEpMRTlCY2tkSExFTkJOa1pNTEdOQlFXTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5d3dRa0ZCTUVJc1EwRlJOVVFzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRkZCUVZFc1FVRkJZaXhGUVVGbE8wbEJRMjVDTEV0QlFVc3NSVUZCUXl4SFFVRkhMRWRCUTFZN1JVRjJSMHdzUVVGM1Iwa3NUMEY0UjBjc1EwRTJSa3dzWTBGQll5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExEQkNRVUV3UWl4RFFWYzFSQ3hMUVVGTExFTkJRVUVzUVVGQlFTeEZRVUZETEVWQlFVa3NiMEpCUVc5Q0xFRkJRWGhDTEVWQlFUQkNPMGxCUXpsQ0xFdEJRVXNzUlVGQlF5eEhRVUZITEVkQlExWTdSVTV5SzBKRUxFMUJRVTBzUTBGQlF5eE5RVUZOTEUxQlFVMHNVMEZCVXl4RlFVRkZMRXRCUVVzN1NVMHlNMEoyUXl4QlFUSkhTU3hQUVROSFJ5eERRVFpHVEN4alFVRmpMRU5CUVVNc2IwSkJRVzlDTEVOQlFVTXNNRUpCUVRCQ0xFTkJZelZFTEU5QlFVOHNRMEZCUXp0TlFVVktMRTlCUVU4c1JVRkJSU3hKUVVGSkxFZEJSV2hDTzBWT01TdENSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMGxOTWpOQ2RrTXNRVUZuU0Uwc1QwRm9TRU1zUTBFMlJrd3NZMEZCWXl4RFFVRkRMRzlDUVVGdlFpeERRVUZETERCQ1FVRXdRaXhIUVcxQ01VUXNSMEZCUnl4RlFXaElWQ3hCUVdkSWRVSXNUMEZvU0doQ0xFTkJOa1pNTEdOQlFXTXNRMEZCUXl4dlFrRkJiMElzUTBGQlF5d3dRa0ZCTUVJc1IwRnRRbTVFTEU5QlFVOHNSMEZCUnl4SFFVRkhMRU5CUVVNN1RVRkZia0lzVDBGQlR5eEZRVUZGTEVsQlFVazdUVUZEWWl4VFFVRlRMRVZCUVVVc1NVRkJTVHROUVVObUxHVkJRV1VzUlVGQlJTeGhRVUZoTEVkQlVXcERPMDFCTlVoTUxFRkJjVWhWTEU5QmNraElMRU5CTmtaTUxHTkJRV01zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXd3UWtGQk1FSXNSMEZ0UWpGRUxFZEJRVWNzUjBGTFF5eERRVUZETEVWQmNraFlMRUZCY1VoVkxFOUJja2hJTEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUjBGdFFtNUVMRTlCUVU4c1IwRkJSeXhIUVVGSExFZEJTMmhDTEVOQlFVTXNRMEZCUXp0UlFVTkdMRmxCUVZrc1JVRkJReXhMUVVGTExFZEJRMjVDTzAxQmRraFVMRUZCWjBoTkxFOUJhRWhETEVOQk5rWk1MR05CUVdNc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl3d1FrRkJNRUlzUjBGdFFqRkVMRWRCUVVjc1FVRlJSaXhYUVVGaExFVkJlRWh3UWl4QlFXZElkVUlzVDBGb1NHaENMRU5CTmtaTUxHTkJRV01zUTBGQlF5eHZRa0ZCYjBJc1EwRkJReXd3UWtGQk1FSXNSMEZ0UW01RUxFOUJRVThzUjBGQlJ5eEhRVUZITEVGQlVXNUNMRmRCUVdFc1EwRkJRenRSUVVOWUxGbEJRVmtzUlVGQlF5eERRVUZETEVkQlEyWTdPMEZCTVVoVUxFRkJPRWhGTEU5Qk9VaExMRVZCT0VoTUxFRkJRVUVzVFVGQlF5eEJRVUZCTEVWQlFWRTdSVUZEVUN4UFFVRlBMRVZCUVVVc1pVRkJaU3hIUVVONlFqczdRVUZvU1Vnc1FVRnBTVVVzVDBGcVNVc3NRMEZwU1V3c09FSkJRVGhDTEVOQlFVTTdSVUZETjBJc1QwRkJUeXhGUVVGRExFbEJRVWs3UlVGRFdpeGxRVUZsTEVWQlFVVXNUVUZCVFR0RlFVTjJRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRVU53UWpzN1FVRnlTVWdzUVVGelNVVXNUMEYwU1Vzc1EwRnpTVXdzWjBKQlFXZENMRU5CUVVNN1JVRkRaaXhoUVVGaExFVkJRVU1zU1VGQlNTeEhRVWx1UWp0RlFUTkpTQ3hCUVhkSlNTeFBRWGhKUnl4RFFYTkpUQ3huUWtGQlowSXNRMEZGWkN4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVWQlFXRTdTVUZEYWtJc1UwRkJVeXhGUVVGRExFTkJRVU1zUjBGRFdqczdRVUV4U1V3c1FVRTJTVVVzVDBFM1NVc3NRMEUyU1V3c1MwRkJTeXhEUVVGQkxFRkJRVUVzUjBGQlF5eERRVUZKTERKQ1FVRXlRaXhCUVVFdlFpeEZRVUZwUXp0RlFVTnlReXhQUVVGUExFVkJRVVVzU1VGQlNUdEZRVU5pTEdWQlFXVXNSVUZCUlN4TlFVRk5PMFZCUTNaQ0xGZEJRVmNzUlVGQlJTeE5RVUZOTEVkQlEzQkNPenRCUVdwS1NDeEJRVzFLUlN4UFFXNUtTeXhEUVcxS1RDeExRVUZMTEVOQlFVRXNRVUZCUVN4SFFVRkRMRU5CUVVrc2IwTkJRVzlETEVGQlFYaERMRVZCUVRCRE8wVkJRemxETEZkQlFWY3NSVUZCUlN4RFFVRkRMRWRCUTJZN08wRkJja3BJTEVGQmQwcE5MRTlCZUVwRExFTkJkVXBNTEV0QlFVc3NRMEZCUVN4QlFVRkJMRWRCUVVNc1EwRkJTU3h4UWtGQmNVSXNRVUZCZWtJc1NVRkRSaXhMUVVGTExFTkJRVUVzUVVGQlFTeEpRVUZETEVOQlFVc3NUMEZCVHl4QlFVRmFMRVZCUVdNN1JVRkRjRUlzVTBGQlV5eEZRVUZETEVsQlFVa3NSMEZEWmpzN1FVRXhTa3dzUVVFMlNqUkNMRTlCTjBweVFpeERRVFpLVEN4MVFrRkJkVUlzUjBGQlJ5eExRVUZMTEVOQlFVTTdSVUZET1VJc1QwRkJUeXhGUVVGRExFdEJRVXM3UlVGRFlpeE5RVUZOTEVWQlFVTXNTVUZCU1N4SFFVTmFPenRCZUVkMFowTklMRUZCUVVFc1ZVRkJWU3hEUVVGRE8wVkJRMVFzUzBGQlN5eEZRVUZETEhGQ1FVRTBRaXhIUVVOdVF6czdRVUZQUkN4QlFVTkZMRXRCUkVjc1FVRkJRU3hKUVVGTExFVkJRVUVzUVVGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4VlFVRlZMRUZCUVdZc1JVRkJhVUlzU1VGQlN5eEZRVUZCTEVGQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFVkJRMmhETEUxQlFVOHNRMEZCUXp0RlFVTk9MRTlCUVU4c1JVRkJSU3hIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEhOQ1FVRnpRaXhIUVVNeFF6czdRVUZIU0N4QlFVTkZMRVZCUkVFc1EwRkJRU3hCUVVGQkxGRkJRVU1zUVVGQlFTeERRVU5JTEUxQlFWTXNSVUZFU3l4QlFVTmFMRVZCUkdNc1FVRkJRU3h2UWtGQmIwSXNRVUZEY0VNc1RVRkJVeXhIUVVRMlFpeEJRVUZCTEVGQlEzQkRMRWxCUkhGRExFTkJRVXNzVTBGQlV5eEJRVUZrTEVOQlEzWkRMRTFCUVZNc1EwRkJRenRGUVVOT0xFOUJRVThzUlVGQlJTeEhRVUZITEVOQlFVTXNTMEZCU3l4RFFVRkRMSE5DUVVGelFpeEhRVU14UXpzN1FVRkhTQ3hCUVVORkxFOUJSRXNzUVVGRFRDeE5RVUZQTEVOQlFVTTdSVUZEVGl4UFFVRlBMRVZCUVVVc1NVRkJTVHRGUVVOaUxGZEJRVmNzUlVGQlJTeEpRVUZKTzBWQlEycENMRXRCUVVzc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VJN08wRjNSMmxxUWtnc1FYaEhPV2xDUVN4UGQwYzRhVUpQTEVOQmRVMU1MR2xDUVVGcFFpeEZlRWMxZEVKdVFpeEJRWHBDUVN4VFFYbENVeXhGUVhGS1ZDeEJRVGxMUVN4UFFUaExUeXhEUVc5VFRDeHRRa0ZCYlVJc1EwRnNaRmc3UlVGRFVpeFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFYTkNZanRGZDBkMWFFSkVMRUY0UnpscFFrRXNUM2RIT0dsQ1R5eERlRWN6YVVKTUxGVkJRVmNzUVhkSGEzWkNXQ3hwUWtGQmFVSXNSWGhIYkhaQ2FrSXNRVUZJUml4VlFVZGhMRUZCYzBKaUxGTkJRVk1zUlVGeFNsUXNRVUU1UzBFc1QwRTRTMDhzUTBFelMwd3NWVUZCVnl4QlFTdGpXQ3h0UWtGQmJVSXNRMEV2WTFBN1NVRkRWaXhUUVVGVExFVkJRVU1zU1VGQlNTeEhRVXRtTzBsM1IzRnBRa2dzUVhoSGVtbENUU3hQZDBkNWFVSkRMRU40UnpOcFFrd3NWVUZCVnl4QmQwZHJka0pZTEdsQ1FVRnBRaXhIZUVkb2RrSmlMRU5CUVVNc1JVRkdUQ3hCUVVWSkxGVkJSazhzUVVGelFtSXNVMEZCVXl4SFFYQkNTQ3hEUVVGRExFVkJlVXRRTEVGQmVrdE5MRTlCZVV0RExFTkJNMHRNTEZWQlFWY3NRVUVyWTFnc2JVSkJRVzFDTEVkQk4yTm1MRU5CUVVNc1EwRkJRenROUVVOR0xGbEJRVmtzUlVGQlJTeEpRVUZKTzAxQlEyeENMR0ZCUVdFc1JVRkJSU3hKUVVGSkxFZEJRM0JDTzBWM1IzTnBRa3dzUVhoSE9XbENRU3hQZDBjNGFVSlBMRU40UjNCcFFrd3NVMEZCVlN4QmQwY3lkVUpXTEdsQ1FVRnBRaXhGZUVjemRVSnFRaXhCUVZaR0xGTkJWVmtzUVVGbFdpeFRRVUZUTEVWQmNVcFVMRUZCT1V0QkxFOUJPRXRQTEVOQmNFdE1MRk5CUVZVc1FVRjNZMVlzYlVKQlFXMUNMRU5CZUdOU08wbEJRMVFzWlVGQlpTeEZRVUZGTEUxQlFVMHNSMEZEZUVJN1JYZEhhMmxDU0N4QmVFZG9hVUpKTEU5M1IyZHBRa2NzUTBGMVRVd3NhVUpCUVdsQ0xFZDRSM1oxUW1Zc1EwRkJReXhGUVZkTUxFRkJXRWtzVTBGWFN5eEhRVmhNTEVOQlFVTXNSVUZuUzB3c1FVRm9TMGtzVDBGblMwY3NRMEZ2VTB3c2JVSkJRVzFDTEVkQmNHTnFRaXhEUVVGRExFTkJRVU03U1VGRFJpeFpRVUZaTEVWQlFVTXNTMEZCU3l4SFFVOXVRanRKZDBkM2FFSklMRUY0UjJocFFra3NUM2RIWjJsQ1J5eERRWFZOVEN4cFFrRkJhVUlzUjNoSGRuVkNaaXhEUVVGRExFRkJSVVFzVTBGQlZTeEZRVk5rTEVGQldFa3NVMEZYU3l4SFFWaE1MRU5CUVVNc1FVRkZSQ3hUUVVGVkxFVkJPRXBrTEVGQmFFdEpMRTlCWjB0SExFTkJiMU5NTEcxQ1FVRnRRaXhIUVhCamFrSXNRMEZCUXl4QlFVVkVMRk5CUVZVc1EwRkJRenROUVVOVUxGTkJRVk1zUlVGQlJTeERRVUZETEVkQlEySTdTWGRITkdoQ1RDeEJlRWRvYVVKSkxFOTNSMmRwUWtjc1EwRjFUVXdzYVVKQlFXbENMRWQ0UjNaMVFtWXNRMEZCUXl4QlFVdEVMRmRCUVZrc1JVRk5hRUlzUVVGWVNTeFRRVmRMTEVkQldFd3NRMEZCUXl4QlFVdEVMRmRCUVZrc1JVRXlTbWhDTEVGQmFFdEpMRTlCWjB0SExFTkJiMU5NTEcxQ1FVRnRRaXhIUVhCamFrSXNRMEZCUXl4QlFVdEVMRmRCUVZrc1EwRkJRenROUVVOWUxGbEJRVmtzUlVGQlF5eERRVUZETEVkQlEyWTdPME5CVFVnc1FVRkJRU3hCUVVGblFpeEpRVUZtTEVOQlFVc3NVVUZCVVN4QlFVRmlMRVZCUmtnc1UwRkJVeXhEUVVWWE8wVkJRMmhDTEZWQlFWVXNSVUZCUlN4TFFVRkxMRWRCUTJ4Q096dEJRV2xLU0N4QlFUbEpRU3hQUVRoSlR5eERRVzlUVEN4dFFrRkJiVUlzUlVGd1UzSkNMRUZCT1VsQkxFOUJPRWxQTEVOQksyWk1MR1ZCUVdVc1EwRTNiMEpRTzBWQlExSXNWVUZCVlN4RlFVRkRMRTFCUVUwc1IwRkRiRUk3TzBGQlJVUXNRVUZCUVN4RFFVRkRMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzWTBGQll5eEJRVUZ1UWl4RlFVRnhRanRGUVVOeVFpeExRVUZMTEVWQlFVTXNkVUpCUVhWQ08wVkJRemRDTEdWQlFXVXNSVUZCUXl4bFFVRmxMRWRCUTJoRE96dEJRVTFFTEZWQlFWVXNRMEZCVml4UFFVRlZPMFZCUTFJc1FVRkJRU3hGUVVGRk8wbEJRVVVzVTBGQlV5eEZRVUZGTEdOQlFXTTdPMEZCUnk5Q0xFRkJRVUVzYjBKQlFXOUNMRU5CUVVNN1JVRkRia0lzVTBGQlV5eEZRVUZGTERCQ1FVRXdRaXhIUVVOMFF6czdRVUZGUkN4QlFVVkpMR05CUmxVc1EwRkJReXhGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNRMEZEYUVJc01rSkJRVFJDTEVOQlF6RkNMRzlDUVVGdlFpeERRVUZETzBWQlEyNUNMRmRCUVZjc1JVRkJReXhKUVVGSkxFZEJRMnBDT3p0QlFVcE1MRUZCVVZFc1kwRlNUU3hEUVVGRExFVkJRVVVzUTBGQlFTeEJRVUZCTEZGQlFVTXNRVUZCUVN4RFFVMW9RaXhQUVVGUkxFTkJRMDRzYVVKQlFXbENMRWRCUTJJc1EwRkJReXhEUVVGRE8wVkJRMFlzVDBGQlR5eEZRVUZETEdsQ1FVRnBRaXhIUVVNeFFqczdRVUZXVUN4QlFWbEpMR05CV2xVc1EwRkJReXhGUVVGRkxFTkJRVUVzUVVGQlFTeFJRVUZETEVGQlFVRXNRMEZOYUVJc1QwRkJVU3hEUVUxT0xHOUNRVUZ2UWl4RFFVRkRPMFZCUTI1Q0xGZEJRVmNzUlVGQlF5eEpRVUZKTEVkQlEycENPenRCUVdsQ1RDeHhRa0ZCY1VJN1FVRkRja0k3T3pzN096czdSMEZQUnp0QlFVTklMRzFDUVVGdFFqdEJRV2xHYmtJc1FVRXpSVUVzVDBFeVJVOHNRMEUyV0V3c1kwRkJZeXhGUVRkWWFFSXNRVUV6UlVFc1QwRXlSVThzUTBFeVprd3NRMEZCUXl4RFFVRkJMRUZCUVVFc1MwRkJReXhGUVVGUExFOUJRVThzUVVGQlpDeEhRVE5tU2l4QlFUTkZRU3hQUVRKRlR5eERRVzFvUWt3c2IwSkJRVzlDTEVWQmJtaENkRUlzUVVFelJVRXNUMEV5UlU4c1EwRnRha0pNTEdkQ1FVRm5RaXhGUVc1cVFteENMRUZCTTBWQkxFOUJNa1ZQTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRVZCTUVSNFFpeEJRWEl4UWtFc1dVRnhNVUpaTEVOQmMwTldMRFpDUVVFMlFpeEhRVUZITEVOQlFVTXNSVUZvZWtKdVF5eEJRVE5GUVN4UFFUSkZUeXhEUVRKVlRDeDNRa0ZCZDBJc1EwRjBXbWhDTzBWQlExSXNUVUZCVFN4RlFVRkRMSGRDUVVGM1FpeERRVUZETERCQ1FVRXdRaXhEUVVGRExHdERRVUVyUXl4SFFVTXpSenM3UVVGNVJVUXNRVUYyUlVFc1QwRjFSVThzUTBFMldFd3NZMEZCWXl4RlFUZFlhRUlzUVVGMlJVRXNUMEYxUlU4c1EwRXlaa3dzUTBGQlF5eERRVUZCTEVGQlFVRXNTMEZCUXl4RlFVRlBMRTlCUVU4c1FVRkJaQ3hIUVRObVNpeEJRWFpGUVN4UFFYVkZUeXhEUVcxb1Frd3NiMEpCUVc5Q0xFVkJibWhDZEVJc1FVRjJSVUVzVDBGMVJVOHNRMEZ0YWtKTUxHZENRVUZuUWl4RlFXNXFRbXhDTEVGQmRrVkJMRTlCZFVWUExFTkJhWE5DVEN4alFVRmpMRU5CWlZvc2IwSkJRVzlDTEVWQk1FUjRRaXhCUVdveFFrRXNXVUZwTVVKWkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUlVGb2VrSnVReXhCUVhaRlFTeFBRWFZGVHl4RFFXbFhUQ3hqUVVGakxFTkJaMEphTEVWQlFVVXNRVUZCUVN4WlFVRlpMRU5CZUdKV08wVkJRMDRzVDBGQlR5eEZRVUZETEVsQlFVa3NSMEZMWWp0RmEwY3ZTa2NzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVkblQzWkRMRUZCZGtWQkxFOUJkVVZQTEVOQk5saE1MR05CUVdNc1JVRTNXR2hDTEVGQmRrVkJMRTlCZFVWUExFTkJNbVpNTEVOQlFVTXNRMEZCUVN4QlFVRkJMRXRCUVVNc1JVRkJUeXhQUVVGUExFRkJRV1FzUjBFelprb3NRVUYyUlVFc1QwRjFSVThzUTBGdGFFSk1MRzlDUVVGdlFpeEZRVzVvUW5SQ0xFRkJka1ZCTEU5QmRVVlBMRU5CYldwQ1RDeG5Ra0ZCWjBJc1JVRnVha0pzUWl4QlFYWkZRU3hQUVhWRlR5eERRV2x6UWt3c1kwRkJZeXhEUVdWYUxHOUNRVUZ2UWl4RlFUQkVlRUlzUVVGcU1VSkJMRmxCYVRGQ1dTeERRWE5EVml3MlFrRkJOa0lzUjBGQlJ5eERRVUZETEVWQmFIcENia01zUVVGMlJVRXNUMEYxUlU4c1EwRnBWMHdzWTBGQll5eERRV2RDV2l4RlFVRkZMRUZCUVVFc1dVRkJXU3hEUVhoaVZqdE5RVWxLTEU5QlFVOHNSVUZCUXl4TFFVRkxMRWRCUldoQ096dEJRV2xGUkN4QlFYSkVRU3hQUVhGRVR5eERRVFpZVEN4alFVRmpMRVZCTjFob1FpeEJRWEpFUVN4UFFYRkVUeXhEUVRKbVRDeERRVUZETEVOQlFVRXNRVUZCUVN4TFFVRkRMRVZCUVU4c1QwRkJUeXhCUVVGa0xFZEJNMlpLTEVGQmNrUkJMRTlCY1VSUExFTkJiV2hDVEN4dlFrRkJiMElzUlVGdWFFSjBRaXhCUVhKRVFTeFBRWEZFVHl4RFFXMXFRa3dzWjBKQlFXZENMRVZCYm1wQ2JFSXNRVUZ5UkVFc1QwRnhSRThzUTBGcGMwSk1MR05CUVdNc1EwRmxXaXh2UWtGQmIwSXNRMEZ5ZDBKcVFqdEZRVkJNTEdGQlFXRXNSVUZCUXl4UFFVRlBPMFZCUjI1Q0xGVkJRVlVzUlVGQlF5eHpRa0ZCYzBJc1IwRk5jRU03TzBGQk5ucENSQ3hCUVRONlFrRXNXVUV5ZWtKWkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUTBGcU1rSnlRanRGUVZoYUxHRkJRV0VzUlVGQlF5eFBRVUZQTzBWQllYSkNMRmxCUVZrc1JVRkJSU3hMUVVGTE8wVkJRMjVDTEdGQlFXRXNSVUZCUlN4TFFVRkxPMFZCUlhCQ0xGVkJRVlVzUlVGQlJTeDFRMEZCZFVNN1JVRkRia1FzUzBGQlN5eEZRVUZGTEd0RFFVRnJRenRGUVVONlF5eE5RVUZOTEVWQlFVVXNSMEZCUnl4RFFVRkRMRXRCUVVzc1EwRkJReXh2UlVGQmFVWXNSMEZyUTNCSE8wVkJhM2hDUkN4QlFXeDZRa1VzV1VGcmVrSlZMRU5CYzBOV0xEWkNRVUUyUWl4SFFVRkhMRU5CUVVNc1EwRjRNVUpxUXl4RFFVRkRMRU5CUVVNN1NVRkRRU3hMUVVGTExFVkJRVVVzV1VGQldTeEhRVU53UWp0RmEwY3hURU1zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVjd0swSjJReXhCUVRkNVFra3NXVUUyZVVKUkxFTkJjME5XTERaQ1FVRTJRaXhIUVVGSExFTkJRVU1zUTBGdU1VSXZRaXhGUVVGRkxFTkJRVU03VFVGRFJDeFBRVUZQTEVWQlFVVXNTVUZCU1N4SFFVTmtPMFZCTW5sQ1RDeEJRWGg1UWtVc1dVRjNlVUpWTEVOQmMwTldMRFpDUVVFMlFpeEhRVUZITEVOQlFVTXNRMEU1TUVKcVF5eE5RVUZOTEVOQlFVTTdTVUZEVEN4UlFVRlJMRVZCUVVVc1VVRkJVVHRKUVVOc1FpeEhRVUZITEVWQlFVVXNUVUZCVFR0SlFVTllMRXRCUVVzc1JVRkJSU3hOUVVGTk8wbEJRMklzUzBGQlN5eEZRVUZGTEZsQlFWazdTVUZEYmtJc1ZVRkJWU3hGUVVGRkxHZENRVUZuUWp0SlFVTTFRaXhWUVVGVkxFVkJRVVVzU1VGQlNTeEhRVk5xUWp0SlFYbDRRa2dzUVVGNGVVSkZMRmxCZDNsQ1ZTeERRWE5EVml3MlFrRkJOa0lzUjBGQlJ5eERRVUZETEVOQk9UQkNha01zVFVGQlRTeEJRVTlLTEUxQlFVOHNSVUZwZVVKWUxFRkJlSGxDUlN4WlFYZDVRbFVzUTBGelExWXNOa0pCUVRaQ0xFZEJRVWNzUTBGQlF5eERRVGt3UW1wRExFMUJRVTBzUVVGUFN5eE5RVUZQTEVOQlFVTTdUVUZEWml4TFFVRkxMRVZCUVVVc2QwTkJRWEZFTEVOQlFVTXNWVUZCVlR0TlFVTjJSU3hOUVVGTkxFVkJRVVVzU1VGQlNUdE5RVU5hTEZWQlFWVXNSVUZCUlN4SlFVRkpMRWRCU1dwQ08wMUJNSGhDVEN4QlFUZDRRazBzV1VFMmVFSk5MRU5CYzBOV0xEWkNRVUUyUWl4SFFVRkhMRU5CUVVNc1EwRTVNRUpxUXl4TlFVRk5MRUZCVDBvc1RVRkJUeXhEUVVsTUxFZEJRVWNzUlVFMmVFSlVMRUZCTjNoQ1RTeFpRVFo0UWswc1EwRnpRMVlzTmtKQlFUWkNMRWRCUVVjc1EwRkJReXhEUVRrd1FtcERMRTFCUVUwc1FVRlBTeXhOUVVGUExFTkJTV1FzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMSFZDUVVGMVFpeEhRVU01UWp0RlFUSjRRbEFzUVVFemVrSkJMRmxCTW5wQ1dTeERRWE5EVml3MlFrRkJOa0lzUjBFNWVrSTNRaXhyUWtGQmJVSXNRMEZCUXp0SlFVTnNRaXg1UWtGQmVVSXNSVUZCUlN4UFFVRlBPMGxCUTJ4RExHOUNRVUZ2UWl4RlFVRkZMRTlCUVU4N1NVRkROMElzTWtKQlFUSkNMRVZCUVVVc1QwRkJUenRKUVVOd1F5d3dRa0ZCTUVJc1JVRkJSU3hQUVVGUExFZEJRM0JET3p0QlFWTklMRUZCUVVFc1QwRkJUeXhEUVVGRE8wVkJaMDVPTEc5RFFVRnZRenRGUVVsd1F5d3JRa0ZCSzBJN1JVRm5SQzlDT3pzN096czdTMEZOUnp0RlFVVklPenM3T3pzN096czdPMHRCVlVjN1JVRXlRMGc3T3pzN096czdPMHRCVVVjN1JVRnJZa2c3T3pzN096czdTMEZQUnl4RlFVVktPMFZCY0hkQ1JDeEJRVU5GTEU5QlJFc3NRMEZEVEN3MlFrRkJOa0lzUTBGQlF6dEpRVXMxUWl4VlFVRlZMRVZCUVVVc2RVTkJRWFZETzBsQlVXNUVMRTlCUVU4c1JVRkJSU3hEUVVGRE8wbEJRMVlzUjBGQlJ5eEZRVUZGTEVOQlFVTTdTVUZ0UWs0c1ZVRkJWU3hGUVVGRkxFMUJRVTBzUjBGVGJrSTdTVUV6UTBnc1FVRkZUU3hQUVVaRExFTkJRMHdzTmtKQlFUWkNMRWRCUTNwQ0xFTkJRVU1zUTBGQlF6dE5RVU5HTEZGQlFWRXNSVUZCUlN4UlFVRlJMRWRCUTI1Q08wbHJSM0JQUkN4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzAxc1IyZFBka01zUVVGRFJTeFBRVVJMTEVOQlEwd3NOa0pCUVRaQ0xFTkJRVU03VVVGVE1VSXNWVUZCVlN4RlFVRkZMR3RDUVVGclFqdFJRVU01UWl4SlFVRkpMRVZCUVVNc1EwRkJRenRSUVVOT0xFdEJRVXNzUlVGQlF5eERRVUZETEVkQkswSldPMGxCTTBOSUxFRkJRMFVzVDBGRVN5eERRVU5NTERaQ1FVRTJRaXhEUVdVelFpeEJRVUZCTEZkQlFVVXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRVzlDTzAxQlJYQkNMRTlCUVU4c1JVRkJSU3hEUVVGRE8wMUJRMVlzUjBGQlJ5eEZRVUZGTEVsQlFVazdUVUZEVkN4UFFVRlBMRVZCUVVVc1MwRkJTenROUVVOa0xGVkJRVlVzUlVGQlJTd3JRMEZCSzBNc1IwRk5OVVE3U1d0SE0xQkVMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdUV3hIWjA5MlF5eEJRVU5GTEU5QlJFc3NRMEZEVEN3MlFrRkJOa0lzUTBGQlF6dFJRVFJDTVVJc1VVRkJVU3hGUVVGRkxGRkJRVkU3VVVGRGJFSXNTVUZCU1N4RlFVRkZMRU5CUVVNN1VVRkRVQ3hMUVVGTExFVkJRVVVzUTBGQlF6dFJRVU5TTEVkQlFVY3NSVUZCUlN4TlFVRk5MRWRCVjJRN1NVRXpRMGdzUVVGeFEwa3NUMEZ5UTBjc1EwRkRUQ3cyUWtGQk5rSXNRMEZ2UXpOQ0xFTkJRVU1zUTBGQlF6dE5RVU5CTEUxQlFVMHNSVUZCUlN4RFFVRkRMRWRCUTFZN1NVRjJRMHdzUVVGM1Ewa3NUMEY0UTBjc1EwRkRUQ3cyUWtGQk5rSXNRMEYxUXpOQ0xFdEJRVXNzUTBGQlF6dE5RVU5LTEZOQlFWTXNSVUZCUlN4dFFrRkJhMElzUjBGRE9VSTdSVUV4UTB3c1FVRTJRekJETEU5Qk4wTnVReXhEUVRSRFRDeHZRa0ZCYjBJc1EwRkRiRUlzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RlFVRk5MR0ZCUVdFc1FVRkJia0lzUTBGQmIwSXNVMEZCVXl4SFFVRkhMRXRCUVVzc1EwRkJRenRKUVVNeFF5eE5RVUZOTEVWQlFVVXNUMEZCVHp0SlFVTm1MRkZCUVZFc1JVRkJReXhSUVVGUk8wbEJRMnBDTEZsQlFWa3NSVUZCUlN4TFFVRkxMRWRCYVVKd1FqdEpRV3BGVEN4QlFXbEVUU3hQUVdwRVF5eERRVFJEVEN4dlFrRkJiMElzUTBGRGJFSXNTMEZCU3l4RFFVRkJMRUZCUVVFc1NVRkJReXhGUVVGTkxHRkJRV0VzUVVGQmJrSXNRMEZCYjBJc1UwRkJVeXhIUVVGSExFdEJRVXNzUTBGSmVrTXNVVUZCVVN4RFFVRkRPMDFCUTFBc1VVRkJVU3hGUVVGRExGRkJRVkU3VFVGRGFrSXNSMEZCUnl4RlFVRkRMRU5CUVVNN1RVRkRUQ3hKUVVGSkxFVkJRVU1zVFVGQlRUdE5RVU5ZTEUxQlFVMHNSVUZCUXl4RFFVRkRPMDFCUTFJc1QwRkJUeXhGUVVGRExFbEJRVWs3VFVGRFdpeGxRVUZsTEVWQlFVVXNUVUZCVFR0TlFVTjJRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRVU53UWp0SlFYcEVVQ3hCUVRaRE1FTXNUMEUzUTI1RExFTkJORU5NTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRVZCUVUwc1lVRkJZU3hCUVVGdVFpeERRVUZ2UWl4VFFVRlRMRWRCUVVjc1MwRkJTeXhCUVdGNlF5eE5RVUZQTEVOQlFVTTdUVUZEVGl4VlFVRlZMRVZCUVVVc2RVSkJRWFZDTzAxQlEyNURMRXRCUVVzc1JVRkJSU3cwUWtGQk5FSXNSMEZKY0VNN1RVRm9SVkFzUVVFMlJGRXNUMEUzUkVRc1EwRTBRMHdzYjBKQlFXOUNMRU5CUTJ4Q0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNSVUZCVFN4aFFVRmhMRUZCUVc1Q0xFTkJRVzlDTEZOQlFWTXNSMEZCUnl4TFFVRkxMRUZCWVhwRExFMUJRVThzUTBGSFRDeEhRVUZITEVOQlFVTTdVVUZEUml4SlFVRkpMRVZCUVVVc1dVRkJXU3hIUVVOdVFqdEZRUzlFVkN4QlFXMUZSU3hQUVc1RlN5eERRVzFGVEN4RFFVRkRMRU5CUVVNN1NVRkRRU3hMUVVGTExFVkJRVU1zTUVKQlFUQkNMRWRCUTJwRE8wVkJja1ZJTEVGQmRVVkZMRTlCZGtWTExFTkJkVVZNTEVWQlFVVXNSVUYyUlVvc1FVRjFSVXNzVDBGMlJVVXNRMEYxUlVZc1JVRkJSU3hGUVhaRlVDeEJRWFZGVVN4UFFYWkZSQ3hEUVhWRlF5eEZRVUZGTEVWQmRrVldMRUZCZFVWWExFOUJka1ZLTEVOQmRVVkpMRVZCUVVVc1JVRjJSV0lzUVVGMVJXTXNUMEYyUlZBc1EwRjFSVThzUlVGQlJTeEZRWFpGYUVJc1FVRjFSV2xDTEU5QmRrVldMRU5CZFVWVkxFVkJRVVVzUTBGQlF6dEpRVU5vUWl4WFFVRlhMRVZCUVVVc1RVRkJUU3hIUVVOd1FqdEZRWHBGU0N4QlFUSkZSU3hQUVRORlN5eERRVEpGVEN4RlFVRkZMRVZCTTBWS0xFRkJNa1ZMTEU5Qk0wVkZMRU5CTWtWR0xFVkJRVVVzUlVFelJWQXNRVUV5UlZFc1QwRXpSVVFzUTBFeVJVTXNSVUZCUlN4RlFUTkZWaXhCUVRKRlZ5eFBRVE5GU2l4RFFUSkZTU3hGUVVGRkxFVkJNMFZpTEVGQk1rVmpMRTlCTTBWUUxFTkJNa1ZQTEVWQlFVVXNSVUV6UldoQ0xFRkJNa1ZwUWl4UFFUTkZWaXhEUVRKRlZTeEZRVUZGTEVWQk0wVnVRaXhCUVRKRmNVSXNUMEV6UldRc1EwRXlSV01zUzBGQlN5eERRVUZETzBsQlEzWkNMRXRCUVVzc1JVRkJReXh6UWtGQmNVTXNSMEZETlVNN1JVRTNSVWdzUVVGdFJrVXNUMEZ1Umtzc1EwRnRSa3dzVFVGQlRTeERRVUZETzBsQk5WUlFMRlZCUVZVc1JVRkJReXgxUWtGQmRVSTdTVUZEYkVNc1ZVRkJWU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRWRCUVVjc1EwRkJReXcwUWtGQk5FSTdTVUZEYkVRc1MwRkJTeXhGUVVGRExEUkNRVUUwUWp0SlFVTnNReXhOUVVGTkxFVkJRVVVzUTBGQlF6dEpRVU5VTEdGQlFXRXNSVUZCUlN4SFFVRkhPMGxCUTJ4Q0xFOUJRVThzUlVGQlF5eFRRVUZUTzBsQk9GUm1MR0ZCUVdFc1JVRkJSU3hMUVVGTE8wbEJRM0JDTEZWQlFWVXNSVUZCUlN4SlFVRkpPMGxCUTJoQ0xHZENRVUZuUWl4RlFVTmtMR3RsUVVGclpUdEpRVWx3WlN4bFFVRmxMRVZCUVVVc1QwRkJUenRKUVVONFFpeHBRa0ZCYVVJc1JVRkJSU3hUUVVGVE8wbEJRelZDTEdkQ1FVRm5RaXhGUVVGRkxFOUJRVTg3U1VGRGVrSXNiVUpCUVcxQ0xFVkJRVVVzVlVGQlZUdEpRVU12UWpzN096czdPenM3TzA5QlUwY3NSVUZGU2p0SmEwZG9Wa01zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenROYkVkblQzWkRMRUZCYlVaRkxFOUJia1pMTEVOQmJVWk1MRTFCUVUwc1EwRkJRenRSUVVWSUxFdEJRVXNzUlVGQlJTeEpRVUZKTzFGQlExZ3NWVUZCVlN4RlFVRkZMRWxCUVVrc1IwRXdRbTVDTzBsQmFFaElMRUZCYlVaRkxFOUJia1pMTEVOQmJVWk1MRTFCUVUwc1FVRjBWRm9zVFVGQllTeERRVUZETzAxQlEwNHNUMEZCVHl4RlFVRkZMRWxCUVVrN1RVRkRZaXhqUVVGakxFVkJRVVVzYzBKQlFYTkNPMDFCUTNSRExIRkNRVUZ4UWl4RlFVRkZMSE5DUVVGelFpeEhRVU01UXpzN1FVRTJWRU1zWTBGQll5eERRVUZrTEZsQlFXTTdSVUU1Um14Q0xFRkJiVVpGTEU5QmJrWkxMRU5CYlVaTUxFMUJRVTBzUTBGQlRqdEpRVmxKTEdkQ1FVRm5RaXhGUVVGRkxEaENRVUU0UWl4SFFXbENia1E3UlVGb1NFZ3NRVUZ6U1VVc1QwRjBTVXNzUTBGelNVd3NUVUZCVFN4RFFVRkJMRUZCUVVFc1JVRkJReXhGUVVGSkxEWkNRVUUyUWl4QlFVRnFReXhGUVVGdFF6dEpRVU40UXl4aFFVRmhMRVZCUVVNc1NVRkJTVHRKUVVOc1FpeFZRVUZWTEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETERSQ1FVRTBRaXhGUVVGRkxFTkJRVU1zUTBGQlF5eE5RVUZOTEVOQlFVTXNRMEZCUXl4RFFVRkRMRFJDUVVGNVF6dEpRVU40UnpzN1QwRkZSeXhGUVZkS08wbEJkRXBJTEVGQmMwbEZMRTlCZEVsTExFTkJjMGxNTEUxQlFVMHNRMEZCUVN4QlFVRkJMRVZCUVVNc1JVRkJTU3cyUWtGQk5rSXNRVUZCYWtNc1EwRk5UQ3hOUVVGUExFTkJRVU03VFVGRFRpeGpRVUZqTEVWQlFVVXNjMEpCUVhOQ0xFZEJRM1pETzBsclJ6bFhSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ6U1VVc1QwRjBTVXNzUTBGelNVd3NUVUZCVFN4RFFVRkJMRUZCUVVFc1JVRkJReXhGUVVGSkxEWkNRVUUyUWl4QlFVRnFReXhGUVVGdFF6dFJRVlYwUXl4TFFVRkxMRVZCUVVVc1NVRkJTVHRSUVVOWUxGVkJRVlVzUlVGQlJTeFBRVUZQTEVkQlMzUkNPMGxyUjNSWVF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMXNSMmRQZGtNc1FVRnpTVVVzVDBGMFNVc3NRMEZ6U1V3c1RVRkJUU3hEUVVGQkxFRkJRVUVzUlVGQlF5eEZRVUZKTERaQ1FVRTJRaXhCUVVGcVF5eEZRVUZ0UXp0UlFXTjBReXhoUVVGaExFVkJRVU1zUTBGQlF5eEhRVVZzUWp0RlFYUktTQ3hCUVhsTFJTeFBRWHBMU3l4RFFYbExUQ3hEUVVGRExFRkJRVUVzVTBGQlV5eERRVUZETzBsQlExUXNUVUZCVFN4RlFVRkRMRmRCUVZjc1IwRkRia0k3UlVFeWJFSklMRUZCZW14Q1JTeFBRWGxzUWtzc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4dFFrRkJiVUlzUVVGQlFTeEpRVUZMTEVWQlFVRXNRVUZCUVN4QlFVRkJMRmRCUVVNc1EwRkJXU3hOUVVGTkxFRkJRV3hDTEV0QlFYVkNMRU5CUVVNc1FVRkJRU3hYUVVGWExFTkJlbXhDZGtVN1NVRndRbVFzWjBKQlFXZENMRVZCUVVVc1QwRkJUenRKUVVONlFpeG5Ra0ZCWjBJc1JVRkJSU3hwUTBGQmFVTTdTVUZEYmtRc1ZVRkJWU3hGUVVGRkxFbEJRVWs3U1VGRGFFSXNTMEZCU3l4RlFVRkZMRXRCUVVzc1IwRnRRbUk3U1VGMWJFSklMRUZCZW14Q1JTeFBRWGxzUWtzc1EwRkJReXh2UWtGQmIwSXNRMEZCUXl4dFFrRkJiVUlzUVVGQlFTeEpRVUZMTEVWQlFVRXNRVUZCUVN4QlFVRkJMRmRCUVVNc1EwRkJXU3hOUVVGTkxFRkJRV3hDTEV0QmVtMUNjRVFzVFVGQlV5eEJRWGx0UW0xRkxGZEJRVmNzUlVGQmVrWXNRVUY2YkVKRkxFOUJlV3hDU3l4RFFVRkRMRzlDUVVGdlFpeERRVUZETEcxQ1FVRnRRaXhCUVVGQkxFbEJRVXNzUlVGQlFTeEJRVUZCTEVGQlFVRXNWMEZCUXl4RFFVRlpMRTFCUVUwc1FVRkJiRUlzUzBGNmJVSXpReXhOUVVGVExFRkJlVzFDTUVRc1YwRkJWeXhEUVhwdFFuQkZPMDFCUTJZc1kwRkJZeXhGUVVGRkxFOUJRVTg3VFVGRGRrSXNaMEpCUVdkQ0xFVkJRVVVzVDBGQlR6dE5RVU42UWl4blFrRkJaMElzUlVGQlJTeHBRMEZCYVVNN1RVRkRia1FzUzBGQlN5eEZRVUZGTEV0QlFVczdUVUZEV2l4VlFVRlZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVRkRMRFJDUVVFMFFpeEhRVU51UkR0SlFXMXRRa3dzUVVGNmJFSkZMRTlCZVd4Q1N5eERRVUZETEc5Q1FVRnZRaXhEUVVGRExHMUNRVUZ0UWl4QlFVRkJMRWxCUVVzc1JVRkJRU3hCUVVGQkxFRkJRVUVzVjBGQlF5eERRVUZaTEUxQlFVMHNRVUZCYkVJc1MwRnNiVUp3UkN4VFFVRlpMRUZCYTIxQ1owVXNWMEZCVnl4RFFXeHRRakZGTzAxQlExUXNUVUZCVFN4RlFVRkZMR1ZCUVdVc1IwRkRlRUk3UlVGMFMwd3NRVUZwVEVVc1QwRnFURXNzUTBGcFRFd3NRMEZCUXl4QlFVRkJMRTlCUVU4c1EwRkJRenRKUVVOUUxHVkJRV1VzUlVGQlF5eEpRVUZKTEVkQlJYSkNPMFZCY0V4SUxFRkJkMHhGTEU5QmVFeExMRU5CZDB4TUxFMUJRVTBzUlVGNFRGSXNRVUYzVEZVc1QwRjRURWdzUTBGM1RFY3NUMEZCVHl4RFFVRkRPMGxCYW1Gb1FpeFZRVUZWTEVWQlFVTXNkVUpCUVhWQ08wbEJRMnhETEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNORUpCUVRSQ08wbEJRMnhFTEV0QlFVc3NSVUZCUXl3MFFrRkJORUk3U1VGRGJFTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1NVRkRWQ3hoUVVGaExFVkJRVVVzUjBGQlJ6dEpRVU5zUWl4UFFVRlBMRVZCUVVNc1UwRkJVeXhIUVRCaGFFSTdTVUYwVFVnc1FVRjNURVVzVDBGNFRFc3NRMEYzVEV3c1RVRkJUU3hCUVROYVdpeE5RVUZoTEVWQmJVOVVMRUZCZDB4VkxFOUJlRXhJTEVOQmQweEhMRTlCUVU4c1FVRXpXbkpDTEUxQlFXRXNRMEZCUXp0TlFVTk9MRTlCUVU4c1JVRkJSU3hKUVVGSk8wMUJRMklzWTBGQll5eEZRVUZGTEhOQ1FVRnpRanROUVVOMFF5eHhRa0ZCY1VJc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VNN1NVRXJUa2dzUVVGM1RFVXNUMEY0VEVzc1EwRjNURXdzVFVGQlRTeEJRWEphVkN4TlFVRlpMRVZCTms1WUxFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGeVdteENMRTFCUVZrc1EwRkJRenROUVVOT0xGVkJRVlVzUlVGMlExSXNUMEZCVHp0TlFYZERWQ3hMUVVGTExFVkJRVVVzUzBGQlN6dE5RVU5hTEdOQlFXTXNSVUZCUlN3MlFrRkJNRU03VFVGRE1VUXNjVUpCUVhGQ0xFVkJRVVVzTmtKQlFUQkRMRWRCU1d4Rk8wMUJjVTVNTEVGQmVFNU5MRTlCZDA1RExFTkJkMHhNTEUxQlFVMHNRVUZ5V2s0c1RVRkJVeXhEUVV0TUxFZEJRVWNzUlVGM1RsUXNRVUY0VGswc1QwRjNUa01zUTBGM1RFY3NUMEZCVHl4QlFYSmFaaXhOUVVGVExFTkJTMHdzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMRXRCUVVzc1IwRkRXanRKUVhOT1VDeEJRWGRNUlN4UFFYaE1TeXhEUVhkTVRDeE5RVUZOTEVGQlIwd3NaMEpCUVd0Q0xFVkJNMHh5UWl4QlFYZE1WU3hQUVhoTVNDeERRWGRNUnl4UFFVRlBMRUZCUjJRc1owSkJRV3RDTEVOQlFVTTdUVUZzUTJ4Q0xHZENRVUZuUWl4RlFVRkZMRTlCUVU4N1RVRkRla0lzWjBKQlFXZENMRVZCUVVVc2FVTkJRV2xETzAxQlEyNUVMRlZCUVZVc1JVRkJSU3hKUVVGSk8wMUJRMmhDTEV0QlFVc3NSVUZCUlN4TFFVRkxMRWRCYVVOWU8wMUJOMHhNTEVGQmQweEZMRTlCZUV4TExFTkJkMHhNTEUxQlFVMHNRVUZIVEN4blFrRkJhMElzUVVFNVFtNUNMRTFCUVZNc1JVRTNTbGdzUVVGM1RFVXNUMEY0VEVzc1EwRjNURXdzVFVGQlRTeEJRVWRNTEdkQ1FVRnJRaXhCUVRsQ1ZpeE5RVUZUTEVWQk4wcHdRaXhCUVhkTVZTeFBRWGhNU0N4RFFYZE1SeXhQUVVGUExFRkJSMlFzWjBKQlFXdENMRUZCT1VKdVFpeE5RVUZUTEVWQk4wcFlMRUZCZDB4VkxFOUJlRXhJTEVOQmQweEhMRTlCUVU4c1FVRkhaQ3huUWtGQmEwSXNRVUU1UWxZc1RVRkJVeXhEUVVGRE8xRkJRMllzWTBGQll5eEZRVUZGTEU5QlFVODdVVUZEZGtJc1owSkJRV2RDTEVWQlFVVXNUMEZCVHp0UlFVTjZRaXhuUWtGQlowSXNSVUZCUlN4cFEwRkJhVU03VVVGRGJrUXNTMEZCU3l4RlFVRkZMRXRCUVVzN1VVRkRXaXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExEUkNRVUUwUWl4SFFVTnVSRHROUVc1TFRDeEJRWGRNUlN4UFFYaE1TeXhEUVhkTVRDeE5RVUZOTEVGQlIwd3NaMEpCUVd0Q0xFRkJka0p1UWl4VFFVRlpMRVZCY0V0a0xFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGSFpDeG5Ra0ZCYTBJc1FVRjJRbTVDTEZOQlFWa3NRMEZCUXp0UlFVTlVMRTFCUVUwc1JVRkJSU3hsUVVGbExFZEJRM2hDTzBsQmRFdE1MRUZCZDB4RkxFOUJlRXhMTEVOQmQweE1MRTFCUVUwc1FVRk5UQ3hWUVVGWkxFRkJRMVlzVFVGQlVTeEZRUzlNWWl4QlFYZE1SU3hQUVhoTVN5eERRWGRNVEN4TlFVRk5MRUZCVFV3c1ZVRkJXU3hCUVVORUxFOUJRVk1zUlVFdlRIWkNMRUZCZDB4RkxFOUJlRXhMTEVOQmQweE1MRTFCUVUwc1FVRk5UQ3hWUVVGWkxFRkJRMU1zVFVGQlVTeEZRUzlNYUVNc1FVRjNURVVzVDBGNFRFc3NRMEYzVEV3c1RVRkJUU3hCUVUxTUxGVkJRVmtzUVVGRGEwSXNUMEZCVXl4RlFTOU1NVU1zUVVGM1RGVXNUMEY0VEVnc1EwRjNURWNzVDBGQlR5eEJRVTFrTEZWQlFWa3NRVUZEVml4TlFVRlJMRVZCTDB4aUxFRkJkMHhWTEU5QmVFeElMRU5CZDB4SExFOUJRVThzUVVGTlpDeFZRVUZaTEVGQlEwUXNUMEZCVXl4RlFTOU1ka0lzUVVGM1RGVXNUMEY0VEVnc1EwRjNURWNzVDBGQlR5eEJRVTFrTEZWQlFWa3NRVUZEVXl4TlFVRlJMRVZCTDB4b1F5eEJRWGRNVlN4UFFYaE1TQ3hEUVhkTVJ5eFBRVUZQTEVGQlRXUXNWVUZCV1N4QlFVTnJRaXhQUVVGVExFTkJRVU03VFVGRGJrTXNZMEZCWXl4RlFVRkZMSE5EUVVGeFJEdE5RVU55UlN4blFrRkJaMElzUlVGcVkySXNSMEZCUnp0TlFXdGpUaXhMUVVGTExFVkJRVU1zUzBGQlN6dE5RVU5ZTEdkQ1FVRm5RaXhGUVVGRkxEWkNRVUZ0UkN4SFFVTjBSVHRGUVhCTlVDeEJRWGxOU1N4UFFYcE5SeXhGUVhkTlRDeEJRVUZCTEZkQlFVTXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRME1zVFVGQlRTeEJRVU5NTEdkQ1FVRnJRaXhGUVRGTmRrSXNRVUY1VFZrc1QwRjZUVXdzUlVGM1RVd3NRVUZCUVN4WFFVRkRMRU5CUVZrc1RVRkJUU3hCUVVGc1FpeEZRVU5UTEU5QlFVOHNRVUZEWkN4blFrRkJhMElzUTBGQlF6dEpRVzVpZEVJc1ZVRkJWU3hGUVVGRExIVkNRVUYxUWp0SlFVTnNReXhWUVVGVkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1IwRkJSeXhEUVVGRExEUkNRVUUwUWp0SlFVTnNSQ3hMUVVGTExFVkJRVU1zTkVKQlFUUkNPMGxCUTJ4RExFMUJRVTBzUlVGQlJTeERRVUZETzBsQlExUXNZVUZCWVN4RlFVRkZMRWRCUVVjN1NVRkRiRUlzVDBGQlR5eEZRVUZETEZOQlFWTXNSMEZuWWxvN1NVRTFUVkFzUVVGNVRVa3NUMEY2VFVjc1JVRjNUVXdzUVVGQlFTeFhRVUZETEVOQlFWa3NUVUZCVFN4QlFVRnNRaXhGUVVORExFMUJRVTBzUVVGRFRDeG5Ra0ZCYTBJc1FVRTNZVE5DTEUxQlFXRXNSVUZ0VDFRc1FVRjVUVmtzVDBGNlRVd3NSVUYzVFV3c1FVRkJRU3hYUVVGRExFTkJRVmtzVFVGQlRTeEJRVUZzUWl4RlFVTlRMRTlCUVU4c1FVRkRaQ3huUWtGQmEwSXNRVUUzWVROQ0xFMUJRV0VzUTBGQlF6dE5RVU5PTEU5QlFVOHNSVUZCUlN4SlFVRkpPMDFCUTJJc1kwRkJZeXhGUVVGRkxITkNRVUZ6UWp0TlFVTjBReXh4UWtGQmNVSXNSVUZCUlN4elFrRkJjMElzUjBGRE9VTTdTVUVyVGtnc1FVRjVUVWtzVDBGNlRVY3NSVUYzVFV3c1FVRkJRU3hYUVVGRExFTkJRVmtzVFVGQlRTeEJRVUZzUWl4RlFVTkRMRTFCUVUwc1FVRkRUQ3huUWtGQmEwSXNRVUYyWVhoQ0xFMUJRVmtzUlVFMlRsZ3NRVUY1VFZrc1QwRjZUVXdzUlVGM1RVd3NRVUZCUVN4WFFVRkRMRU5CUVZrc1RVRkJUU3hCUVVGc1FpeEZRVU5UTEU5QlFVOHNRVUZEWkN4blFrRkJhMElzUVVGMllYaENMRTFCUVZrc1EwRkJRenROUVVOT0xGVkJRVlVzUlVGMlExSXNUMEZCVHp0TlFYZERWQ3hMUVVGTExFVkJRVVVzUzBGQlN6dE5RVU5hTEdOQlFXTXNSVUZCUlN3MlFrRkJNRU03VFVGRE1VUXNjVUpCUVhGQ0xFVkJRVVVzTmtKQlFUQkRMRWRCU1d4Rk8wMUJjVTVNTEVGQmVFNU5MRTlCZDA1RExFVkJkMDFNTEVGQlFVRXNWMEZCUXl4RFFVRlpMRTFCUVUwc1FVRkJiRUlzUlVGRFF5eE5RVUZOTEVGQlEwd3NaMEpCUVd0Q0xFRkJkbUYyUWl4TlFVRlhMRU5CUzB3c1IwRkJSeXhGUVhkT1ZDeEJRWGhPVFN4UFFYZE9ReXhGUVhkTlRDeEJRVUZCTEZkQlFVTXNRMEZCV1N4TlFVRk5MRUZCUVd4Q0xFVkJRMU1zVDBGQlR5eEJRVU5rTEdkQ1FVRnJRaXhCUVhaaGRrSXNUVUZCVnl4RFFVdE1MRWRCUVVjc1EwRkJRenRSUVVOR0xFbEJRVWtzUlVGQlJTeExRVUZMTEVkQlExbzdSVUZ6VGxBc1FVRjVUa1VzVDBGNlRrc3NRMEY1VGt3c1MwRkJTeXhEUVVGQkxFRkJRVUVzU1VGQlF5eERRVUZMTEUxQlFVMHNRVUZCV0N4RlFVRmhPMGxCUTJwQ0xGbEJRVmtzUlVGQlF5eE5RVUZOTzBsQlEyNUNMR0ZCUVdFc1JVRkJReXhOUVVGTkxFZEJRM0pDTzBWQk5VNUlMRUZCT0U1RkxFOUJPVTVMTEVOQk9FNU1MRXRCUVVzc1EwRkJRU3hCUVVGQkxFbEJRVU1zUTBGQlN5eE5RVUZOTEVGQlFWZ3NSVUZCWVR0SlFVTnFRaXhaUVVGWkxFVkJRVU1zZDBKQlFYZENPMGxCUTNKRExGbEJRVmtzUlVGQlF5d3dRa0ZCTUVJN1NVRkRka01zV1VGQldTeEZRVUZETERSQ1FVRTBRaXhIUVVNeFF6dEZRV3hQU0N4QlFXOVBSU3hQUVhCUFN5eERRVzlQVEN4UlFVRlJMRU5CUVVNN1NVRkRVQ3hOUVVGTkxFVkJRVU1zU1VGQlNTeEhRVTlhTzBsclJ6VmpReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ2VDBVc1QwRndUMHNzUTBGdlQwd3NVVUZCVVN4RFFVRkRPMUZCUjB3c1dVRkJXU3hGUVVGRExIZENRVUYzUWp0UlFVTnlReXhaUVVGWkxFVkJRVU1zTUVKQlFUQkNPMUZCUTNaRExGbEJRVmtzUlVGQlF5dzBRa0ZCTkVJN1VVRkRla01zWVVGQllTeEZRVUZETERSQ1FVRXlRaXhIUVVVMVF6dEZRVFZQU0N4QlFUaFBSU3hQUVRsUFN5eERRVGhQVEN4UFFVRlBMRU5CUVVNN1NVRkRUaXhYUVVGWExFVkJRVVVzU1VGQlNTeEhRVU5zUWp0RlFXaFFTQ3hCUVd0UVZTeFBRV3hRU0N4RFFXdFFUQ3hQUVVGUExFTkJRVU1zVDBGQlR5eERRVUZETzBsQlEyUXNXVUZCV1N4RlFVRkRMRWxCUVVrc1IwRkRiRUk3UlVGd1VFZ3NRVUZ6VUVVc1QwRjBVRXNzUTBGelVFd3NTVUZCU1N4RFFVRkRPMGxCUTBnc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqdEZRWGhRU0N4QlFUQlFSU3hQUVRGUVN5eERRVEJRVEN4SFFVRkhMRU5CUVVNN1NVRkRSaXhUUVVGVExFVkJRVU1zU1VGQlNTeEhRVU5tTzBWQk5WQklMRUZCZDFKRkxFOUJlRkpMTEVOQmQxSk1MRmRCUVZjc1EwRkJRenRKUVVOV0xHZENRVUZuUWl4RlFVRkZMSGRDUVVGM1FqdEpRVU14UXl4WlFVRlpMRVZCUVVVc05FSkJRVFJDTzBsQlF6RkRMRXRCUVVzc1JVRkJSU3h6UWtGQmMwSXNSMEZET1VJN1JVRTFVa2dzUVVFNFVrVXNUMEU1VWtzc1EwRTRVa3dzWTBGQll5eERRVUZETzBsQlEySXNaMEpCUVdkQ0xFVkJRVVVzVDBGQlR6dEpRVU42UWl4WlFVRlpMRVZCUVVVc1QwRkJUenRKUVVOeVFpeExRVUZMTEVWQlFVVXNUMEZCVHl4SFFVTm1PMFZyUjJ4blFrTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEpiRWRuVDNaRExFRkJkMU5STEU5QmVGTkVMRU5CYjFOTUxHMUNRVUZ0UWl4SFFVbGlMRU5CUVVNc1EwRkJRenROUVVOR0xGbEJRVmtzUlVGQlJTeERRVUZETEVkQlEyaENPMFZCTVZOUUxFRkJhVlJGTEU5QmFsUkxMRU5CYVZSTUxHRkJRV0VzUTBGQlF6dEpRVU5hTEdGQlFXRXNSVUZCUXl4SlFVRkpPMGxCUTJ4Q0xGZEJRVmNzUlVGQlJTdzBRa0ZCTkVJc1IwRlJNVU03U1d0SE0yaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZwVkVVc1QwRnFWRXNzUTBGcFZFd3NZVUZCWVN4RFFVRkRPMUZCU1ZZc1lVRkJZU3hGUVVGRExFdEJRVXNzUjBGTmRFSTdTVUZLUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxFMUJRVTA3VFVGMlZETkNMRUZCYVZSRkxFOUJhbFJMTEVOQmFWUk1MR0ZCUVdFc1EwRkJRenRSUVU5V0xGTkJRVk1zUlVGQlF5eExRVUZMTzFGQlEyWXNWMEZCVnl4RlFVRkZMRzFEUVVGdFF5eEhRVVZ1UkR0RlFUTlVTQ3hCUVRKVlJTeFBRVE5WU3l4RFFUSlZUQ3gzUWtGQmQwSXNRMEZCUXp0SlFVVjJRaXhsUVVGbExFVkJRVU1zV1VGQldUdEpRVU0xUWl4VlFVRlZMRVZCUVVNc2VVSkJRV3RETzBsQlF6ZERMRmRCUVZjc1JVRkJReXhEUVVGRE8wbEJRMklzV1VGQldTeEZRVUZETEVOQlFVTTdTVUZEWkN4UFFVRlBMRVZCUVVNc1QwRkJUeXhIUVVsb1FqdEpRWEpXU0N4QlFXdFdUU3hQUVd4V1F5eERRVEpWVEN4M1FrRkJkMElzUjBGUGNFSXNRMEZCUXl4QlFVRkJMRTlCUVU4c1JVRnNWbVFzUVVGclZtZENMRTlCYkZaVUxFTkJNbFZNTEhkQ1FVRjNRaXhEUVU5V0xFMUJRVTBzUTBGQlF6dE5RVU5xUWl4VFFVRlRMRVZCUVVNc1VVRkJVU3hIUVVOdVFqdEZRWEJXVEN4QlFYZFdTU3hQUVhoV1J5eEJRWFZXVEN4M1FrRkJlVUlzUTBGRGRrSXNkMEpCUVhkQ0xFTkJRVU03U1VGRGRrSXNWMEZCVnl4RlFVRkRMRTFCUVUwN1NVRkRiRUlzWTBGQll5eEZRVUZETEUxQlFVMHNSMEZKZEVJN1NVRTVWa3dzUVVFeVZsRXNUMEV6VmtRc1FVRjFWa3dzZDBKQlFYbENMRU5CUTNaQ0xIZENRVUYzUWl4SFFVZHdRaXhEUVVGRExFRkJRVUVzVDBGQlR5eEZRVE5XYUVJc1FVRXlWbXRDTEU5Qk0xWllMRUZCZFZaTUxIZENRVUY1UWl4RFFVTjJRaXgzUWtGQmQwSXNRMEZIVml4TlFVRk5MRU5CUVVNN1RVRkRha0lzVTBGQlV5eEZRVUZETEV0QlFVc3NSMEZEYUVJN1JVRTNWbEFzUVVGcFYwVXNUMEZxVjBzc1EwRnBWMHdzWTBGQll5eERRVUZETzBsQlEySXNVMEZCVXl4RlFVRkRMRWxCUVVrc1IwRnhRbVk3U1VGMldFZ3NRVUZ0VjBrc1QwRnVWMGNzUTBGcFYwd3NZMEZCWXl4RFFVVmFMRVZCUVVVc1EwRkJRU3hCUVVGQkxGZEJRVU1zUVVGQlFTeEZRVUZoTzAxQlEyUXNZMEZCWXl4RlFVRkRMRXRCUVVzN1RVRkRjRUk3TzFOQlJVY3NSVUZUU2p0TmEwZG9iRUpFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3VVd4SFowOTJReXhCUVcxWFNTeFBRVzVYUnl4RFFXbFhUQ3hqUVVGakxFTkJSVm9zUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRVZCUVdFN1ZVRk5XaXhYUVVGWExFVkJRVU1zUzBGQlN5eEhRVTl3UWp0TlFXaFlUQ3hCUVcxWFNTeFBRVzVYUnl4RFFXbFhUQ3hqUVVGakxFTkJSVm9zUlVGQlJTeERRVUZCTEVGQlFVRXNWMEZCUXl4QlFVRkJMRU5CVVVRc01rSkJRVFJDTEVGQlF6RkNMRmRCUVZrc1EwRkJRenRSUVVOWUxHTkJRV01zUlVGQlF5eERRVUZETEVkQlEycENPMGxCT1ZkVUxFRkJiVmhOTEU5QmJsaERMRU5CYVZkTUxHTkJRV01zUTBGblFsb3NSVUZCUlN4QlFVRkJMRmxCUVZrc1EwRkZXaXhEUVVGRExFTkJRVUVzUVVGQlFTeExRVUZETEVWQlFVOHNUMEZCVHl4QlFVRmtMRVZCUVdkQ08wMUJRMmhDTEUxQlFVMHNSVUZCUXl4RFFVRkRMRWRCUTFRN1JVRnlXRkFzUVVGNVdFVXNUMEY2V0Vzc1EwRjVXRXdzYVVKQlFXbENMRU5CUVVNN1NVRkRhRUlzVlVGQlZTeEZRVUZGTEhsRFFVRjVReXhIUVVOMFJEdEZRVE5ZU0N4QlFUWllSU3hQUVRkWVN5eERRVFpZVEN4alFVRmpMRU5CUVVNN1NVRkZZaXhQUVVGUExFVkJRVU1zUTBGQlF6dEpRVU5VTEdGQlFXRXNSVUZCUXl4TFFVRkxMRWRCVTNCQ08wbHJSM3B0UWtNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0TmJFZG5UM1pETEVGQk5saEZMRTlCTjFoTExFTkJObGhNTEdOQlFXTXNRMEZCUXp0UlFVdFlMR0ZCUVdFc1JVRkJReXhEUVVGRExFZEJUMnhDTzBsQmVsbElMRUZCYjFsSkxFOUJjRmxITEVOQk5saE1MR05CUVdNc1EwRlBXaXhGUVVGRkxFRkJRMFlzV1VGQlpTeEZRWEpaYmtJc1FVRnZXVThzVDBGd1dVRXNRMEUyV0V3c1kwRkJZeXhEUVU5VUxFVkJRVVVzUVVGRFRDeFpRVUZsTEVWQmNsbHVRaXhCUVc5WlZTeFBRWEJaU0N4RFFUWllUQ3hqUVVGakxFTkJUMDRzUlVGQlJTeEJRVU5TTEZsQlFXVXNRMEZCUXp0TlFVTmFMRlZCUVZVc1JVRkJReXhEUVVGRExFZEJRMkk3UlVGMldWQXNRVUV5V1VVc1QwRXpXVXNzUTBFeVdVd3NNa0pCUVRKQ0xFTkJRVU03U1VGRk1VSXNUMEZCVHl4RlFVRkRMRXRCUVVzc1IwRTJRbVE3U1d0SE1XOUNReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUV5V1VVc1QwRXpXVXNzUTBFeVdVd3NNa0pCUVRKQ0xFTkJRVU03VVVGSmVFSXNZMEZCWXl4RlFVRkZMRU5CUVVNc1IwRXlRbkJDTzBsQk1XRklMRUZCYVZwSkxFOUJhbHBITEVOQk1sbE1MREpDUVVFeVFpeERRVTE2UWl4dFFrRkJiVUlzUTBGQlF6dE5RVU5zUWl4WFFVRlhMRVZCUVVNc1EwRkJRenROUVdGaUxGTkJRVk1zUlVGQlF5eEpRVUZKTzAxQlEyUXNUMEZCVHl4RlFVRkRMRWxCUVVrN1RVRkRXaXhoUVVGaExFVkJRVU1zU1VGQlNTeEhRVkZ1UWp0TmEwZDZiMEpFTEUxQlFVMHNRMEZCUXl4TlFVRk5MRTFCUVUwc1UwRkJVeXhGUVVGRkxFdEJRVXM3VVd4SFowOTJReXhCUVdsYVNTeFBRV3BhUnl4RFFUSlpUQ3d5UWtGQk1rSXNRMEZOZWtJc2JVSkJRVzFDTEVOQlFVTTdWVUZKYUVJc1UwRkJVeXhGUVVGRExFMUJRVTA3VlVGRGFFSXNTVUZCU1N4RlFVRkRMRkZCUVZFN1ZVRkZZaXhUUVVGVExFVkJRVVVzU1VGQlNTeEhRV2xDYkVJN1RVRjZZVXdzUVVFeVdrMHNUMEV6V2tNc1EwRXlXVXdzTWtKQlFUSkNMRU5CVFhwQ0xHMUNRVUZ0UWl4RFFWVnFRaXhMUVVGTExFTkJRVU03VVVGRFNpeExRVUZMTEVWQlFVTXNjMEpCUVhGQ0xFZEJSVFZDTzAxclJ6bHVRa2dzVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRSYkVkblQzWkRMRUZCYVZwSkxFOUJhbHBITEVOQk1sbE1MREpDUVVFeVFpeERRVTE2UWl4dFFrRkJiVUlzUTBGQlF6dFZRV3RDYUVJc1lVRkJZU3hGUVVGRExFTkJRVU1zUjBGTmJFSTdUVUY2WVV3c1FVRnhZVTBzVDBGeVlVTXNRMEV5V1V3c01rSkJRVEpDTEVOQlRYcENMRzFDUVVGdFFpeERRVzlDYWtJc1MwRkJTeXhEUVVGRE8xRkJRMG9zU1VGQlNTeEZRVUZETEZGQlFWRTdVVUZEWWl4VFFVRlRMRVZCUVVNc1QwRkJUeXhIUVVOc1FqdEZRWGhoVUN4QlFUUmhSU3hQUVRWaFN5eERRVFJoVEN4cFEwRkJhVU1zUTBGQlF6dEpRVVZvUXl4aFFVRmhMRVZCUVVNc1NVRkJTU3hIUVhGQ2JrSTdTV3RIYm5GQ1F5eE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wMXNSMmRQZGtNc1FVRTBZVVVzVDBFMVlVc3NRMEUwWVV3c2FVTkJRV2xETEVOQlFVTTdVVUZKT1VJc1dVRkJXU3hGUVVGRExFbEJRVWs3VVVGRGFrSXNZVUZCWVN4RlFVRkZMRTFCUVUwc1IwRnJRbmhDTzBsQmJtTklMRUZCYldKSkxFOUJibUpITEVOQk5HRk1MR2xEUVVGcFF5eERRVTh2UWl4TlFVRk5MRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVVVGQlVTeEJRVUZpTEVWQlFXVTdUVUZEY0VJc1YwRkJWeXhGUVVGRExFbEJRVWtzUjBGRGFrSTdTVUZ5WWt3c1FVRnpZa2tzVDBGMFlrY3NRMEUwWVV3c2FVTkJRV2xETEVOQlZTOUNMRWxCUVVrc1EwRkJRenROUVVOSUxGRkJRVkVzUlVGQlJTeFJRVUZSTzAxQlEyeENPenM3T3pzN096czdVMEZUUnl4RlFVTktPMFZCYkdOTUxFRkJjV05GTEU5QmNtTkxMRU5CY1dOTUxHbENRVUZwUWl4RFFVRkRPMGxCVDJoQ0xFMUJRVTBzUlVGQlF5eFhRVUZYTEVkQlVXNUNPMGxCY0dSSUxFRkJjMk5OTEU5QmRHTkRMRU5CY1dOTUxHbENRVUZwUWl4SFFVTmlMRU5CUVVNc1EwRkJRenROUVVOR0xFMUJRVTBzUlVGQlF5eFhRVUZYTEVkQlNXNUNPMDFCTTJOTUxFRkJjMk5OTEU5QmRHTkRMRU5CY1dOTUxHbENRVUZwUWl4SFFVTmlMRU5CUVVNc1FVRkZSQ3hYUVVGWkxFTkJRVU03VVVGRFdDeFpRVUZaTEVWQlFVTXNRMEZCUXl4SFFVTm1PMGxyUnpGeFFrZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5iRWRuVDNaRExFRkJjV05GTEU5QmNtTkxMRU5CY1dOTUxHbENRVUZwUWl4RFFVRkRPMUZCVTJRc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUjBGTmJrSTdTVUZ3WkVnc1FVRm5aRWtzVDBGb1pFY3NRMEZ4WTB3c2FVSkJRV2xDTEVOQlYyWXNUVUZCVFN4RlFXaGtWaXhCUVdka1dTeFBRV2hrVEN4RFFYRmpUQ3hwUWtGQmFVSXNRMEZYVUN4UFFVRlBMRU5CUVVNN1RVRkRaQ3hUUVVGVExFVkJRVU1zU1VGQlNUdE5RVU5rTEVsQlFVa3NSVUZCUXl4UlFVRlJMRWRCUTJRN1JVRnVaRXdzUVVGelpFVXNUMEYwWkVzc1EwRnpaRXdzT0VKQlFUaENMRU5CUVVNN1NVRkROMElzWVVGQllTeEZRVUZETEVsQlFVa3NSMEZUYmtJN1NVRm9aVWdzUVVFeVpFa3NUMEV6WkVjc1EwRnpaRXdzT0VKQlFUaENMRU5CU3pWQ0xFVkJRVVVzUVVGRFJDeFpRVUZqTEVWQk5XUnVRaXhCUVRKa1R5eFBRVE5rUVN4RFFYTmtUQ3c0UWtGQk9FSXNRMEZMZWtJc1JVRkJSU3hCUVVOS0xGbEJRV01zUTBGQlF6dE5RVU5hTEZWQlFWVXNSVUZCUXl4RFFVRkRMRWRCUTJJN1JXdEhPWEpDU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzBsc1IyZFBka01zUVVGclpVVXNUMEZzWlVzc1EwRnJaVXdzYjBKQlFXOUNMRU5CUVVNN1RVRkZha0lzWVVGQllTeEZRVUZGTEVsQlFVa3NSMEZSZEVJN1JXdEhOWE5DUXl4TlFVRk5MRU5CUVVNc1RVRkJUU3hOUVVGTkxGTkJRVk1zUlVGQlJTeExRVUZMTzBsc1IyZFBka01zUVVGelpVa3NUMEYwWlVjc1EwRnJaVXdzYjBKQlFXOUNMRU5CU1d4Q0xFdEJRVXNzUTBGQlF6dE5RVVZHTEU5QlFVOHNSVUZCUlN4TFFVRkxMRWRCUjJwQ08wVkJNMlZNTEVGQloyWk5MRTlCYUdaRExFRkJPR1ZNTEVsQlFVMHNRMEZCUVN4QlFVRkJMRzlDUVVGdlFpeEZRVU40UWl4dlFrRkJiMElzUTBGRGJFSXNTMEZCU3l4RFFVRkRPMGxCZW5SQ1ZpeFZRVUZWTEVWQlFVTXNkVUpCUVhWQ08wbEJRMnhETEZWQlFWVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNORUpCUVRSQ08wbEJRMnhFTEV0QlFVc3NSVUZCUXl3MFFrRkJORUk3U1VGRGJFTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1NVRkRWQ3hoUVVGaExFVkJRVVVzUjBGQlJ6dEpRVU5zUWl4UFFVRlBMRVZCUVVNc1UwRkJVenRKUVhOMFFsZ3NVMEZCVXl4RlFVRkZMRkZCUVZFN1NVRkRia0lzVlVGQlZTeEZRVUZGTEUxQlFVMHNSMEZEYmtJN1NVRndabEFzUVVGblprMHNUMEZvWmtNc1FVRTRaVXdzU1VGQlRTeERRVUZCTEVGQlFVRXNiMEpCUVc5Q0xFVkJRM2hDTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVGQmJuUkNaaXhOUVVGaExFTkJRVU03VFVGRFRpeFBRVUZQTEVWQlFVVXNTVUZCU1R0TlFVTmlMR05CUVdNc1JVRkJSU3h6UWtGQmMwSTdUVUZEZEVNc2NVSkJRWEZDTEVWQlFVVXNjMEpCUVhOQ0xFZEJRemxETzBsQkswNUlMRUZCWjJaTkxFOUJhR1pETEVGQk9HVk1MRWxCUVUwc1EwRkJRU3hCUVVGQkxHOUNRVUZ2UWl4RlFVTjRRaXh2UWtGQmIwSXNRMEZEYkVJc1MwRkJTeXhCUVRkelFsb3NUVUZCV1N4RFFVRkRPMDFCUTA0c1ZVRkJWU3hGUVhaRFVpeFBRVUZQTzAxQmQwTlVMRXRCUVVzc1JVRkJSU3hMUVVGTE8wMUJRMW9zWTBGQll5eEZRVUZGTERaQ1FVRXdRenROUVVNeFJDeHhRa0ZCY1VJc1JVRkJSU3cyUWtGQk1FTXNSMEZKYkVVN1RVRnhUa3dzUVVGNFRrMHNUMEYzVGtNc1FVRTRaVXdzU1VGQlRTeERRVUZCTEVGQlFVRXNiMEpCUVc5Q0xFVkJRM2hDTEc5Q1FVRnZRaXhEUVVOc1FpeExRVUZMTEVGQk4zTkNXaXhOUVVGWkxFTkJTMHdzUjBGQlJ5eERRVUZETzFGQlEwWXNTVUZCU1N4RlFVRkZMRXRCUVVzc1IwRkRXanRGUVhOT1VDeEJRVzFuUWtVc1QwRnVaMEpMTEVOQmJXZENUQ3h0UWtGQmJVSXNRMEZCUXp0SlFVTnNRaXhsUVVGbExFVkJRVU1zVVVGQlVUdEpRVU40UWpzN1QwRkZSeXhGUVZWS08wbEJhbWhDU0N4QlFXMW5Ra1VzVDBGdVowSkxMRU5CYldkQ1RDeHRRa0ZCYlVJc1EwRkxha0lzUVVGQlFTeFhRVUZGTEVOQlFWa3NUVUZCVFN4QlFVRnNRaXhGUVVGdlFqdE5RVU53UWl4TlFVRk5MRVZCUVVVc1pVRkJaU3hIUVVONFFqdEpRVEZuUWt3c1FVRXlaMEpKTEU5Qk0yZENSeXhEUVcxblFrd3NiVUpCUVcxQ0xFTkJVV3BDTEUxQlFVMHNRMEZCUXp0TlFVTk1MRk5CUVZNc1JVRkJReXhKUVVGSkxFZEJTV1k3VFd0SGFIWkNSQ3hOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMUZzUjJkUGRrTXNRVUV5WjBKSkxFOUJNMmRDUnl4RFFXMW5Ra3dzYlVKQlFXMUNMRU5CVVdwQ0xFMUJRVTBzUTBGQlF6dFZRVWRJTEZOQlFWTXNSVUZCUXl4TFFVRkxMRWRCUld4Q08wVkJhR2hDVEN4QlFXMW9Ra1VzVDBGdWFFSkxMRU5CYldoQ1RDeHZRa0ZCYjBJc1EwRkJRenRKUVVWdVFpeGhRVUZoTEVWQlFVTXNTMEZCU3l4SFFUUkNjRUk3U1d0SGFuaENReXhOUVVGTkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNSVUZCUlN4TFFVRkxPMDFzUjJkUGRrTXNRVUZ0YUVKRkxFOUJibWhDU3l4RFFXMW9Ra3dzYjBKQlFXOUNMRU5CUVVNN1VVRkpha0lzWVVGQllTeEZRVUZETEVOQlFVTXNSMEV3UW14Q08wbEJhbXBDU0N4QlFYbG9Ra2tzVDBGNmFFSkhMRU5CYldoQ1RDeHZRa0ZCYjBJc1EwRk5iRUlzUjBGQlJ5eERRVUZETzAxQlEwWXNTMEZCU3l4RlFVRkRMSE5DUVVGeFFpeEhRVU0xUWp0SlFUTm9Ra3dzUVVFNGFFSlJMRTlCT1doQ1JDeERRVzFvUWt3c2IwSkJRVzlDTEVOQlUyeENMRTlCUVU4c1IwRkRTQ3hQUVVGUExFTkJRMUFzUjBGQlJ5eERRVUZETzAxQlEwWXNVMEZCVXl4RlFVRkRMR2xDUVVGcFFqdE5RVU16UWl4WlFVRlpMRVZCUVVNc1RVRkJUU3hIUVVOd1FqdEpRV3BwUWxRc1FVRnJhVUpWTEU5QmJHbENTQ3hEUVcxb1Frd3NiMEpCUVc5Q0xFTkJVMnhDTEU5QlFVOHNSMEZEU0N4UFFVRlBMRWRCUzB3c2FVSkJRV2xDTEVOQlFVTTdUVUZEYkVJc1QwRkJUeXhGUVVGRExFbEJRVWtzUjBGRFlqdEpRWEJwUWxRc1FVRjNhVUpaTEU5QmVHbENUQ3hEUVcxb1Frd3NiMEpCUVc5Q0xFTkJVMnhDTEU5QlFVOHNRMEZWVEN4QlFVRkJMRWxCUVVVc1FVRkJRU3hKUVVORkxFOUJRVThzUjBGRFRDeHBRa0ZCYVVJc1EwRkJRenROUVVOc1FpeFBRVUZQTEVWQlFVTXNXVUZCV1N4SFFVTnlRanRKUVRGcFFsZ3NRVUV5YVVKWkxFOUJNMmxDVEN4RFFXMW9Ra3dzYjBKQlFXOUNMRU5CVTJ4Q0xFOUJRVThzUTBGVlRDeEJRVUZCTEVsQlFVVXNRVUZCUVN4SlFVTkZMRTlCUVU4c1IwRkpUQ3haUVVGWkxFTkJRVU03VFVGRFlpeFBRVUZQTEVWQlFVTXNTVUZCU1N4SFFVTmlPMFZCTjJsQ1dDeEJRVzFxUWtVc1QwRnVha0pMTEVOQmJXcENUQ3huUWtGQlowSXNRMEZCUXp0SlFVVm1MRTlCUVU4c1JVRkJSU3hMUVVGTE8wbEJRMlFzWVVGQllTeEZRVUZETEV0QlFVczdTVUZEYmtJc1ZVRkJWU3hGUVVGRExFdEJRVXNzUjBGblFtcENPMGxyUjNaNVFrTXNUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dE5iRWRuVDNaRExFRkJiV3BDUlN4UFFXNXFRa3NzUTBGdGFrSk1MR2RDUVVGblFpeERRVUZETzFGQlRXSXNZVUZCWVN4RlFVRkRMRU5CUVVNc1IwRmpiRUk3U1VGMmEwSklMRUZCTW1wQ1NTeFBRVE5xUWtjc1EwRnRha0pNTEdkQ1FVRm5RaXhEUVZGa0xFOUJRVThzUTBGQlF6dE5RVU5PTEZOQlFWTXNSVUZCUlN4VlFVRlZMRWRCUTNSQ08wbEJOMnBDVEN4QlFTdHFRbEVzVDBFdmFrSkVMRU5CYldwQ1RDeG5Ra0ZCWjBJc1EwRlhaQ3hQUVVGUExFZEJRMGdzUjBGQlJ5eERRVUZETzAxQlEwb3NWMEZCVnl4RlFVRkRMRWxCUVVrc1IwRkRha0k3U1VGcWEwSlFMRUZCYld0Q1NTeFBRVzVyUWtjc1EwRnRha0pNTEdkQ1FVRm5RaXhEUVdkQ1pDeDNRa0ZCZDBJc1EwRkJRenROUVVOMlFpeFZRVUZWTEVWQlFVTXNTVUZCU1R0TlFVTm1MRTFCUVUwc1JVRkJReXhKUVVGSkxFZEJRMW83UlVGMGEwSk1MRUZCZVd0Q1JTeFBRWHByUWtzc1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVVGRE8wbEJRM1JDTEV0QlFVc3NSVUZCUXl4elFrRkJjVUlzUjBGblJEVkNPMGxCTVc1Q1NDeEJRVEpyUWtrc1QwRXphMEpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZGY2tJc1VVRkJVU3hEUVVGRE8wMUJRMUFzVFVGQlRTeEZRVUZETEVOQlFVTTdUVUZEVWl4UFFVRlBMRVZCUVVNc1RVRkJUU3hIUVVsbU8wMXJSMnA2UWtRc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0UmJFZG5UM1pETEVGQk1tdENTU3hQUVROclFrY3NRMEY1YTBKTUxIVkNRVUYxUWl4RFFVVnlRaXhSUVVGUkxFTkJRVU03VlVGSlRDeFBRVUZQTEVWQlFVTXNRMEZCUXl4SFFVVmFPMGxCYW14Q1RDeEJRWEZzUWtrc1QwRnliRUpITEVOQmVXdENUQ3gxUWtGQmRVSXNRMEZaY2tJc2QwSkJRWGRDTEVOQlFVTTdUVUZEZGtJc1QwRkJUeXhGUVVGRExFbEJRVWs3VFVGRFdpeGxRVUZsTEVWQlFVVXNXVUZCV1N4SFFXdERPVUk3VFVGNmJrSk1MRUZCZVd4Q1VTeFBRWHBzUWtRc1EwRjVhMEpNTEhWQ1FVRjFRaXhEUVZseVFpeDNRa0ZCZDBJc1IwRkpjRUlzUjBGQlJ5eERRVUZETzFGQlEwb3NUMEZCVHl4RlFVRkZMRWxCUVVrN1VVRkRZaXhYUVVGWExFVkJRVVVzVFVGQlRUdFJRVU51UWl4bFFVRmxMRVZCUVVVc1RVRkJUU3hIUVVONFFqdE5RVGRzUWxBc1FVRXJiRUpOTEU5QkwyeENReXhEUVhsclFrd3NkVUpCUVhWQ0xFTkJXWEpDTEhkQ1FVRjNRaXhEUVZWMFFpeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1QwRkJUeXhCUVVGYUxFZEJMMnhDV2l4QlFTdHNRakpDTEU5QkwyeENjRUlzUTBGNWEwSk1MSFZDUVVGMVFpeERRVmx5UWl4M1FrRkJkMElzUTBGVlJDeExRVUZMTEVOQlFVRXNRVUZCUVN4SlFVRkRMRU5CUVVzc1ZVRkJWU3hCUVVGbUxFVkJRV2xDTzFGQlJURkRPenM3T3pzN1YwRk5SeXhGUVZWS08xRkJhbTVDVUN4QlFUSnRRbU1zVDBFemJVSlFMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CVlhSQ0xFdEJRVXNzUTBGQlFTeEJRVUZCTEVsQlFVTXNRMEZCU3l4UFFVRlBMRUZCUVZvc1EwRlRUQ3hSUVVGVkxFZEJSVXdzUzBGQlN5eERRVU5JTEVkQlFVY3NRMEZCUVN4QlFVRkJMRXRCUVVNc1JVRkJUeXhOUVVGTkxFRkJRV0lzUjBFemJVSnNRaXhCUVRKdFFtTXNUMEV6YlVKUUxFTkJlV3RDVEN4MVFrRkJkVUlzUTBGWmNrSXNkMEpCUVhkQ0xFTkJWVVFzUzBGQlN5eERRVUZCTEVGQlFVRXNTVUZCUXl4RFFVRkxMRlZCUVZVc1FVRkJaaXhEUVZNeFFpeFJRVUZWTEVkQlJVd3NTMEZCU3l4RFFVTklMRWRCUVVjc1EwRkJRU3hCUVVGQkxFdEJRVU1zUlVGQlR5eE5RVUZOTEVGQlFXSXNSVUZCWlR0VlFVTnFRaXhKUVVGSkxFVkJRVU1zYzBKQlFYTkNMRWRCUXpWQ08wMUJOMjFDWml4QlFXdHVRazBzVDBGc2JrSkRMRU5CZVd0Q1RDeDFRa0ZCZFVJc1EwRlpja0lzZDBKQlFYZENMRU5CTmtKMFFpeExRVUZMTEVOQlFVTTdVVUZGU2l4VFFVRlRMRVZCUVVNc1RVRkJUVHRSUVVOb1FpeFBRVUZQTEVWQlFVVXNTVUZCU1R0UlFVTmlMRmRCUVZjc1JVRkJSU3hOUVVGTk8xRkJRMjVDTEdWQlFXVXNSVUZCUlN4TlFVRk5MRWRCUTNoQ08wVkJlRzVDVUN4QlFUUnVRa1VzVDBFMWJrSkxMRU5CTkc1Q1RDeEhRVUZITEVOQlEwUXNRVUZCUVN4TFFVRkZMRVZCUVU4c1RVRkJUU3hCUVVGaUxFVkJRV1U3U1VGRFppeFJRVUZSTEVWQlFVTXNVVUZCVVR0SlFVTnFRaXhMUVVGTExFVkJRVU1zUjBGQlJ6dEpRVU5VTEUxQlFVMHNSVUZCUXl4SFFVRkhPMGxCUTFZc1NVRkJTU3hGUVVGRExGbEJRVmtzUjBGRGJFSTdSV3RIYkRKQ1JDeE5RVUZOTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1JVRkJSU3hMUVVGTE8wbHNSMmRQZGtNc1FVRnhiMEpGTEU5QmNtOUNTeXhEUVhGdlFrd3NNa0pCUVRKQ0xFTkJRVU03VFVGRmVFSXNUMEZCVHl4RlFVRkRMRWxCUVVrc1IwRkZaanRGYTBkNk1rSkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTV3hIWjA5MlF5eEJRVEp2UWtVc1QwRXpiMEpMTEVOQk1tOUNUQ3d5UWtGQk1rSXNRMEZCUXp0TlFVVjRRaXhQUVVGUExFVkJRVU1zU1VGQlNTeEhRVVZtTzBWQkwyOUNTQ3hCUVdsd1FrVXNUMEZxY0VKTExFTkJhWEJDVEN4clFrRkJhMElzUTBGQlF6dEpRVU5xUWl4SlFVRkpMRVZCUVVNc1VVRkJVVHRKUVVOaUxFOUJRVThzUlVGQlF5eEpRVUZKTzBsQlExb3NUVUZCVFN4RlFVRkRMRTlCUVU4c1IwRkRaanRGUVhKd1FrZ3NRVUYxY0VKRkxFOUJkbkJDU3l4RFFYVndRa3dzZFVKQlFYVkNMRU5CUVVNN1NVRkRkRUlzUzBGQlN5eEZRVUZETEVsQlFVazdTVUZGVml4UFFVRlBMRVZCUVVNc1MwRkJTenRKUVVWaUxGbEJRVmtzUlVGQlJTeEhRVUZITzBsQlEycENMRmxCUVZrc1JVRkJSU3d5UWtGQmQwTTdTVUZEZEVRc1dVRkJXU3hGUVVGRkxFMUJRVTA3U1VGRGNFSXNZVUZCWVN4RlFVRkZMRWRCUVVjN1NVRkRiRUlzWjBKQlFXZENMRVZCUVVNc1YwRkJWenRKUVVNMVFpeFZRVUZWTEVWQlFVTXNNRVJCUVRCRU8wbEJSM0pGTEdWQlFXVXNSVUZCUlN4TlFVRk5PMGxCUTNaQ0xGZEJRVmNzUlVGQlJTeE5RVUZOTzBsQlJXNUNMRTlCUVU4c1JVRkJReXhKUVVGSkxFZEJkMEppTzBsclJ5ODFRa01zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VlFVRlZMRVZCUVVVc1MwRkJTenROYkVkblQzaERMRUZCZFhCQ1JTeFBRWFp3UWtzc1EwRjFjRUpNTEhWQ1FVRjFRaXhEUVVGRE8xRkJiMEp3UWl4UFFVRlBMRVZCUVVVc1NVRkJTU3hIUVc5Q2FFSTdTVUV2Y2tKSUxFRkJPSEZDU1N4UFFUbHhRa2NzUTBGMWNFSk1MSFZDUVVGMVFpeERRWFZDY2tJc1IwRkJSeXhEUVVGRE8wMUJRMFlzVTBGQlV5eEZRVUZETEVkQlFVYzdUVUZEWWl4SlFVRkpMRVZCUVVNc01rSkJRWGRETzAxQlF6ZERMRlZCUVZVc1JVRkJReXg1UTBGQmVVTTdUVUZEY0VRc1QwRkJUeXhGUVVGRExIRkRRVUZ4UXp0TlFVTTNReXhWUVVGVkxFVkJRVU1zU1VGQlNTeEhRVU5vUWp0SlFYQnlRa3dzUVVGMWNFSkZMRTlCZG5CQ1N5eERRWFZ3UWt3c2RVSkJRWFZDTEVGQkswSnlRaXc0UWtGQkswSXNRMEZCUXp0TlFVTTVRaXhuUWtGQlowSXNSVUZCUXl4UFFVRnhRanROUVVOMFF5eFpRVUZaTEVWQlFVVXNjMEpCUVhOQ08wMUJRM0JETEZWQlFWVXNSVUZCUXl3MFJFRkJORVFzUjBGTGVFVTdUVUU1Y2tKTUxFRkJNSEpDVFN4UFFURnlRa01zUTBGMWNFSk1MSFZDUVVGMVFpeEJRU3RDY2tJc09FSkJRU3RDTEVOQlNUZENMRWRCUVVjc1EwRkJRenRSUVVOR0xFbEJRVWtzUlVGQlF5eHpRa0ZCYzBJN1VVRkRNMElzVDBGQlR5eEZRVUZETEVOQlFVTXNSMEZEVmp0RlFUZHlRbEFzUVVGcGMwSkZMRTlCYW5OQ1N5eERRV2x6UWt3c1kwRkJZeXhEUVVGRE8wbEJSMklzVDBGQlR5eEZRVUZGTEUxQlFXRTdTVUZGZEVJc1QwRkJUeXhGUVVGRExFbEJRVWs3U1VGRFdpeGxRVUZsTEVWQlFVTXNUVUZCVFR0SlFVTjBRaXhYUVVGWExFVkJRVVVzVFVGQlRTeEhRV2xFY0VJN1NVRjZka0pJTEVGQk1ITkNTU3hQUVRGelFrY3NRMEZwYzBKTUxHTkJRV01zUTBGVFdpeHZRa0ZCYjBJc1EwRkJRenROUVVWdVFpeFZRVUZWTEVWQlFVTXNiVUpCUVdkQ08wMUJRek5DTEU5QlFVOHNSVUZCUXl4RFFVRkRMRWRCUTFZN1NVRTVjMEpNTEVGQlozUkNTU3hQUVdoMFFrY3NRMEZwYzBKTUxHTkJRV01zUTBGbFdpeHZRa0ZCYjBJc1EwRkJRenROUVVkdVFpeFRRVUZUTEVWQlFVTXNTVUZCU1R0TlFVVmtMRk5CUVZNc1JVRkJReXhKUVVGSk8wMUJRMlFzVlVGQlZTeEZRVUZETEVsQlFVazdUVUZEWml4UlFVRlJMRVZCUVVNc1VVRkJVVHROUVVOcVFpeFBRVUZQTEVWMVJ6a3JRa29zUzBGQlN5eEhka2QzWjBOVU8wMUJiSFpDVEN4QlFYbDBRazBzVDBGNmRFSkRMRU5CYVhOQ1RDeGpRVUZqTEVOQlpWb3NiMEpCUVc5Q0xFTkJVMnhDTEVWQlFVVXNRVUZEUml4WlFVRmxMRVZCTVhSQ2NrSXNRVUY1ZEVKVExFOUJlblJDUml4RFFXbHpRa3dzWTBGQll5eERRV1ZhTEc5Q1FVRnZRaXhEUVZObUxFVkJRVVVzUVVGRFRDeFpRVUZsTEVWQk1YUkNja0lzUVVGNWRFSlpMRTlCZW5SQ1RDeERRV2x6UWt3c1kwRkJZeXhEUVdWYUxHOUNRVUZ2UWl4RFFWTmFMRVZCUVVVc1FVRkRVaXhaUVVGbExFTkJRVU03VVVGRFdpeFZRVUZWTEVWQlFVTXNRMEZCUXl4SFFVTmlPMDFCTlhSQ1ZDeEJRVGgwUW1Nc1QwRTVkRUpRTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRU5CWTJ4Q0xFOUJRVThzUTBGQlF5eExRVUZMTEVOQlFVTTdVVUZEV2l4UFFVRlBMRVZCUVVNc1MwRkJTenRSUVVOaUxHRkJRV0VzUlVGQlF5eExRVUZMTEVkQlNYQkNPMUZCY0hWQ1VDeEJRVGgwUW1Nc1QwRTVkRUpRTEVOQmFYTkNUQ3hqUVVGakxFTkJaVm9zYjBKQlFXOUNMRU5CWTJ4Q0xFOUJRVThzUTBGQlF5eExRVUZMTEVOQlIxZ3NRVUZCUVN4SFFVRkZMRU5CUVVrc01FSkJRVEJDTEVGQlFUbENMRVZCUVdkRE8xVkJRMmhETEdGQlFXRXNSVUZCUlN4RFFVRkRMRWRCUTJwQ08wMUJiblZDVkN4QlFYRjFRazBzVDBGeWRVSkRMRU5CYVhOQ1RDeGpRVUZqTEVOQlpWb3NiMEpCUVc5Q0xFTkJjVUpzUWl4TFFVRkxMRU5CUVVFc1FVRkJRU3hKUVVGRExFTkJRVXNzVFVGQlRTeEJRVUZZTEVWQlFXRTdVVUZEYWtJc1MwRkJTeXhGUVVGRExFbEJRVWs3VVVGRFZpeFRRVUZUTEVWQlFVTXNTMEZCU3l4SFFVTm9RanROUVhoMVFsQXNRVUY1ZFVKTkxFOUJlblZDUXl4RFFXbHpRa3dzWTBGQll5eERRV1ZhTEc5Q1FVRnZRaXhEUVhsQ2JFSXNiVUpCUVcxQ0xFTkJRVU03VVVGRGJFSXNWVUZCVlN4RlFVRkRMRXRCUVVzc1IwRlBha0k3VVVGcWRrSlFMRUZCTW5WQ1ZTeFBRVE4xUWtnc1EwRnBjMEpNTEdOQlFXTXNRMEZsV2l4dlFrRkJiMElzUTBGNVFteENMRzFDUVVGdFFpeEhRVVZtTEVOQlFVTXNRMEZCUXp0VlFVTkdMRWxCUVVrc1JVRkJReXhSUVVGUkxFZEJTV1E3U1VGb2RrSlVMRUZCYjNaQ1RTeFBRWEIyUWtNc1EwRnBjMEpNTEdOQlFXTXNRVUZyUkZvc1pVRkJaMElzUTBGRFpDeHZRa0ZCYjBJc1EwRkJRenROUVVOdVFpeFRRVUZUTEVWQlFVTXNhMEpCUVd0Q08wMUJRelZDTEZWQlFWVXNSVUZCUXl4clFrRkJhMElzUjBGRE9VSTdPMEZyUjNZNVFrZ3NUVUZCVFN4RFFVRkRMRTFCUVUwc1RVRkJUU3hUUVVGVExFVkJRVVVzUzBGQlN6dEZiRWN3SzBKMlF5eEJRVU5GTEZsQlJGVXNRMEZEVml4dFFrRkJiVUlzUTBGQlF6dEpRVVZvUWl4UFFVRlBMRVYxUjI1cFEwb3NTMEZCU3p0SmRrZHZhVU5TTEZGQlFWRXNSVUZCUlN4TlFVRk5PMGxCUTJoQ0xFbEJRVWtzUlVGQlJTeE5RVUZOTzBsQlExb3NTMEZCU3l4RlFVRkZMRTFCUVUwN1NVRkRZaXhIUVVGSExFVkJRVVVzUTBGQlF5eEhRVlZVTzBsQmFrSklMRUZCVVUwc1dVRlNUU3hEUVVOV0xHMUNRVUZ0UWl4RFFVOW1MRFpDUVVFMlFpeERRVUZETzAxQlJ6VkNPenM3VjBGSFJ5eEZRVU5LT3p0QlFXWlFMRUZCYTBKRkxGbEJiRUpWTEVOQmEwSldMRFpDUVVFMlFpeERRVUZETzBWQlJUVkNMRTlCUVU4c1JYVkhjR3BEUml4TFFVRkxPMFYyUjNGcVExWXNZVUZCWVN4RlFVRkZMRXRCUVVzc1IwRm5RbkpDTzBWclJ5OW5RME1zVFVGQlRTeERRVUZETEUxQlFVMHNUVUZCVFN4VFFVRlRMRVZCUVVVc1MwRkJTenRKYkVjd0swSjJReXhCUVd0Q1JTeFpRV3hDVlN4RFFXdENWaXcyUWtGQk5rSXNRMEZCUXp0TlFVc3hRaXhoUVVGaExFVkJRVVVzUTBGQlF5eEhRV051UWp0RlFYSkRTQ3hCUVhsQ1NTeFpRWHBDVVN4RFFXdENWaXcyUWtGQk5rSXNRMEZQTTBJc1RVRkJUU3hEUVVGRE8wbEJRMHdzVDBGQlR5eEZRVUZGTEUxQlFVMDdTVUZEWml4VlFVRlZMRVZCUVVVc1YwRkJWenRKUVVOMlFpeE5RVUZOTEVWQlFVVXNTVUZCU1R0SlFVTmFMRTlCUVU4c1JVRkJSU3hEUVVGRExFZEJUMWc3U1VGd1Ewd3NRVUY1UWtrc1dVRjZRbEVzUTBGclFsWXNOa0pCUVRaQ0xFTkJUek5DTEUxQlFVMHNRVUZMU2l4TlFVRlBMRVZCT1VKaUxFRkJlVUpKTEZsQmVrSlJMRU5CYTBKV0xEWkNRVUUyUWl4RFFVOHpRaXhOUVVGTkxFRkJTMHNzVFVGQlR5eERRVUZETzAxQlEyWXNWVUZCVlN4RlFVRkZMSE5DUVVGelFqdE5RVU5zUXl4TlFVRk5MRVZCUVVVc1pVRkJaVHROUVVWMlFpeFZRVUZWTEVWQlFVVXNaVUZCWlN4SFFVTTFRanM3UVVGdVExQXNRVUZ6UTJ0RExGbEJkRU4wUWl4RFFYTkRWaXcyUWtGQk5rSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1JVRkZhRU1zVDBGQlR5eEZRVUZGTEV0QlFVczdSVUZKWkN4WFFVRlhMRVZCUVVVc1NVRkJTVHRGUVVOcVFpeFpRVUZaTEVWQlFVVXNTVUZCU1N4SFFVTnVRanRGYTBkNGFFTkRMRTFCUVUwc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEZRVUZGTEV0QlFVczdTV3hITUN0Q2RrTXNRVUZ6UTJ0RExGbEJkRU4wUWl4RFFYTkRWaXcyUWtGQk5rSXNSMEZCUnl4RFFVRkRMRU5CUVVNN1RVRkpPVUlzVDBGQlR5eEZRVUZGTEZsQlFWa3NSMEZKZUVJN08wRkJPVU5JTEVGQkswTkZMRmxCTDBOVkxFTkJLME5XTEhGQ1FVRnhRaXhEUVVGRE8wVkJRM0JDTEdGQlFXRXNSVUZCUlN4SlFVRkpMRWRCVTNCQ08wVnJSMjVwUTBNc1RVRkJUU3hEUVVGRExFMUJRVTBzVFVGQlRTeFRRVUZUTEVWQlFVVXNTMEZCU3p0SmJFY3dLMEoyUXl4QlFTdERSU3haUVM5RFZTeERRU3REVml4eFFrRkJjVUlzUTBGQlF6dE5RVWRzUWl4aFFVRmhMRVZCUVVVc1EwRkJRenROUVVOb1FpeFRRVUZUTEVWQlFVVXNhVUpCUVdkQ08wMUJRek5DTEU5QlFVOHNSVUZCUlN4RFFVRkRMRWRCUzJJN1JVRjZSRWdzUVVGelJFa3NXVUYwUkZFc1EwRXJRMVlzY1VKQlFYRkNMRU5CVDI1Q0xGRkJRVkVzUTBGQlF6dEpRVU5RTEUxQlFVMHNSVUZCUlN4SlFVRkpMRWRCUTJJaUNuMD0gKi8iLG51bGwsbnVsbF19 */
\ No newline at end of file
diff --git a/client/build/assets/css/main.min.css b/client/build/assets/css/main.min.css
new file mode 100644
index 0000000..1034035
--- /dev/null
+++ b/client/build/assets/css/main.min.css
@@ -0,0 +1 @@
+.eureka{-webkit-box-sizing:border-box;box-sizing:border-box}.eureka *,.eureka ::after,.eureka ::before{-webkit-box-sizing:inherit;box-sizing:inherit}.eureka .eureka__media-source-selector select,.eureka.eureka__view-mode__grid img,.eureka.eureka__view-mode__thumb img{width:100%}.eureka .button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns label,.eureka .eureka__upload-form label,.eureka button,.eureka select,.eureka th[aria-sort]{cursor:pointer}.eureka .eureka__modal,.eureka .eureka__modal .eureka__modal-scrim{position:absolute;top:0;left:0;right:0;bottom:0}.eureka .eureka__crop-modal input[type=radio]:checked+label,.eureka button[aria-pressed=true],.eureka input[aria-pressed=true]+label{-webkit-box-shadow:0 0 0 1px #e4e4e4,inset 0 .175em 0 #c5c5c5;-webkit-box-shadow:0 0 0 1px var(--border-shadow-color,#e4e4e4),inset 0 .175em 0 var(--border-shadow-color,#c5c5c5);box-shadow:0 0 0 1px #e4e4e4,inset 0 .175em 0 #c5c5c5;box-shadow:0 0 0 1px var(--border-shadow-color,#e4e4e4),inset 0 .175em 0 var(--border-shadow-color,#c5c5c5)}.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox],.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio],.eureka .eureka__layout-chooser legend,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka:not(.eureka__server-side) .eureka__upload-form input[type=file],.visually-hidden{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] a,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=checkbox] input,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] a,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] button,.eureka .eureka__layout-chooser .eureka__icon-radio-btns body:hover input[type=radio] input,.eureka .eureka__layout-chooser body:hover legend a,.eureka .eureka__layout-chooser body:hover legend button,.eureka .eureka__layout-chooser body:hover legend input,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) a,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) button,.eureka-root .eureka.eureka__view-mode__list.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) input,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) a,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) button,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side body:hover table>thead>tr>th:nth-of-type(1) input,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] a,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] button,.eureka:not(.eureka__server-side) .eureka__upload-form body:hover input[type=file] input,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] a,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] button,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox] input,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] a,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] button,body:hover .eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio] input,body:hover .eureka .eureka__layout-chooser legend a,body:hover .eureka .eureka__layout-chooser legend button,body:hover .eureka .eureka__layout-chooser legend input,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) a,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) button,body:hover .eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1) input,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) a,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) button,body:hover .eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1) input,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] a,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] button,body:hover .eureka:not(.eureka__server-side) .eureka__upload-form input[type=file] input,body:hover .visually-hidden a,body:hover .visually-hidden button,body:hover .visually-hidden input{display:none!important}[class*=eureka-wrapper],[class*=modal-section]{padding:0}@media screen and (min-width:641px){[class*=eureka-wrapper],[class*=modal-section]{display:-webkit-box;display:-ms-flexbox;display:flex;overflow-y:hidden;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.eureka-root:-webkit-full-screen{width:100vw;height:100vh;overflow-y:auto;background:#ececec;background:var(--bg-color,#ececec)}.eureka-root label[for*=fullscreen-toggle]{margin-left:8px;margin-left:.5rem}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row,.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr.eureka__focused-media-item>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden]{display:block!important}@media screen and (max-width:640px){.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr>td.eureka__td-media,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr>td.eureka__td-media{text-align:center}}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus>td.eureka__context-row[hidden]{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus-within>td.eureka__context-row,.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus-within>td.eureka__context-row{display:block!important}.eureka-root .eureka__view-mode__list tbody:not(.empty)>tr:focus-within>td.eureka__context-row[hidden],.eureka-root .eureka__view-mode__table tbody:not(.empty)>tr:focus-within>td.eureka__context-row[hidden]{display:block!important}.eureka-root tbody:not(.empty)>tr:not(.empty){display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka-root tbody:not(.empty)>tr:not(.empty)>*{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}@supports (display:grid){.eureka-root tbody:not(.empty)>tr:not(.empty){display:grid}.eureka-root tbody:not(.empty)>tr:not(.empty)>td .eureka__td-media{grid-area:media}.eureka-root tbody:not(.empty)>tr:not(.empty)>td .eureka__td-filename{grid-area:name}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__context-row{grid-area:actions}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{grid-area:dimensions}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{display:none}}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{grid-area:file-size}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{display:none}}.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{grid-area:edited-on}@media screen and (max-width:640px){.eureka-root tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{display:none}}}@supports (display:grid){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__choose{grid-area:choose}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__td-media{grid-area:media}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__td-filename{grid-area:name}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__context-row{grid-area:actions}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{grid-area:dimensions}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__dimensions{display:none}}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{grid-area:file-size}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__file-size{display:none}}.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{grid-area:edited-on}@media screen and (max-width:640px){.eureka-root .eureka tbody:not(.empty)>tr:not(.empty)>td.eureka__edited-on{display:none}}}@supports (display:grid){@media screen and (min-width:641px){.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table tbody:not(.empty)>tr:not(.empty){grid-template-areas:"choose media name dimensions file-size edited-on" "actions actions actions actions actions actions";grid-template-columns:2rem auto 24% 12% 12% 12%}}}.eureka .eureka__choose-radio{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__choose-radio fieldset{margin:0;padding:0}.eureka .eureka__choose-radio .eureka__fieldset{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__choose-radio .eureka__fieldset>*{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>thead>tr{grid-template-columns:2rem 16% 40% 8% auto auto!important;grid-template-areas:"radio name media dimensions file-size edited-on"!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>thead>tr th:nth-of-type(3){text-align:left!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty){grid-template-columns:2rem 16% 40% 8% auto auto!important;grid-template-areas:"radio name media dimensions file-size edited-on"!important}@supports (display:grid){.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td.eureka__td-filename{text-align:left!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(4){grid-area:dimensions!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5){grid-area:file-size!important}.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table.eureka__table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6){grid-area:edited-on!important}}.eureka-root{padding:8px;padding:.5rem}@media screen and (max-width:640px){.eureka-root .eureka table>thead{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);padding:0!important;border:0!important;height:1px!important;width:1px!important;overflow:hidden}body:hover .eureka-root .eureka table>thead a,body:hover .eureka-root .eureka table>thead button,body:hover .eureka-root .eureka table>thead input{display:none!important}}@media screen and (max-width:640px){.eureka-root .eureka tbody>tr>td:not(.eureka__context-row){padding-right:.5rem}}.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>thead>tr{grid-template-areas:"choose choose choose choose choose choose" "media media media media media media" "name name name name name name" "actions actions actions actions actions actions"}@media screen and (min-width:641px){.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__table table>thead>tr{grid-template-areas:"choose media name dimensions file-size edited-on";grid-template-columns:2rem auto 24% 12% 12% 12%}}.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__grid table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__masonry table>thead>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table>tbody>tr,.eureka-root .eureka.eureka__choose-multiple.eureka__view-mode__thumb table>thead>tr{grid-template-areas:"choose choose choose choose choose choose" "media media media media media media"}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>thead>tr{display:grid;grid-gap:0}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__list table>thead>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>thead>tr{grid-template-areas:"media name dimensions file-size edited-on";grid-template-columns:40% 24% 12% 12% 12%}}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr{grid-template-areas:"media media media media media" "name name name name name" "actions actions actions actions actions"}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody>tr{grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions"}}.eureka-root .eureka.eureka__view-mode__list table>tbody.empty>tr,.eureka-root .eureka.eureka__view-mode__table table>tbody.empty>tr{display:block}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*=upload-form],.eureka-root .eureka.eureka__view-mode__table.eureka__server-side .eureka__tree-toggle .eureka__upload-form label[for*=upload-form]{padding:.5em;margin-right:16px;margin-right:1rem}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr,.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr{grid-template-areas:"radio media name dimensions file-size edited-on";grid-template-columns:2rem 40% 24% auto auto auto}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1){grid-area:radio}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(2),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(2){grid-area:media;text-align:left}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(3),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(3){grid-area:name}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(5),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(5){grid-area:dimensions}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(6),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(6){grid-area:file-size}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>tbody:not(.empty)>tr:not(.empty)>th:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>td:nth-of-type(7),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(7){grid-area:edited-on}}.eureka-root .eureka.eureka__view-mode__list.eureka__server-side table>thead>tr>th:nth-of-type(1),.eureka-root .eureka.eureka__view-mode__table.eureka__server-side table>thead>tr>th:nth-of-type(1){grid-area:none}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr td:first-child,.eureka-root .eureka.eureka__view-mode__list table>tbody>tr th:first-child,.eureka-root .eureka.eureka__view-mode__list table>thead>tr td:first-child,.eureka-root .eureka.eureka__view-mode__list table>thead>tr th:first-child{padding-left:8px;padding-left:.5rem}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr{grid-template-areas:"name name name name name" "actions actions actions actions actions";margin-bottom:8px;margin-bottom:.5rem}.eureka-root .eureka.eureka__view-mode__list table>tbody>tr>td.eureka__choose{text-align:center}@media screen and (min-width:641px){.eureka-root .eureka.eureka__view-mode__list table>tbody>tr{grid-template-areas:"media name dimensions file-size edited-on" "actions actions actions actions actions"}}.eureka-root .eureka__table embed,.eureka-root .eureka__table img,.eureka-root .eureka__table object,.eureka-root .eureka__table video{-o-object-fit:contain;object-fit:contain}@media screen and (min-width:641px){.eureka-root{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eureka-root .eureka{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-ms-flex:1;flex:1}.eureka-root .eureka>.eureka__browse-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.eureka-root .eureka>.eureka__browse-content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%}.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser{-webkit-box-flex:0;-ms-flex:0 0 14rem;flex:0 0 14rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:0;flex-shrink:0;-ms-flex-positive:0;flex-grow:0;margin-right:.5rem}.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser[aria-hidden=true],.eureka-root .eureka>.eureka__browse-content>.eureka__pathbrowser[hidden]{display:none}.eureka-root .eureka>.eureka__browse-content>.eureka__stage{-webkit-box-flex:1;-ms-flex:1 1 100%;flex:1 1 100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view{-ms-flex-preferred-size:auto;flex-basis:auto;-ms-flex-negative:1;flex-shrink:1;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;min-width:0;min-height:0;-ms-flex-wrap:nowrap;flex-wrap:nowrap;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:.5rem}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header>h2{margin-bottom:0;margin-right:auto}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__stage__filter-view>header>h2 form{float:right}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;height:auto;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 .5rem .5rem 0}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper>div{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-height:100%;height:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:1;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.eureka-root .eureka>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper>div>table{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-height:100%;height:100%;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-negative:1;flex-shrink:1;display:-webkit-box;display:-ms-flexbox;display:flex;max-width:100%}.eureka-root .eureka>.eureka__choose-bar{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;margin-top:.5rem}}.eureka-root .eureka.eureka__view-mode__masonry>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{padding-left:8px;padding-left:.5rem}@media screen and (max-width:640px){.eureka-root .eureka.eureka__view-mode__masonry>.eureka__browse-content>.eureka__stage>.eureka__table-wrapper{padding-right:.5rem}}@media screen and (max-width:640px){.eureka-root .eureka>.eureka__choose-bar>*{margin-right:.5rem}.eureka-root .eureka>.eureka__choose-bar>:last-child{margin-right:0}}.eureka-root thead{-ms-flex-preferred-size:auto;flex-basis:auto;display:block;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.eureka-root thead.eureka__tbody-scrolling{padding-right:16px}.eureka-root thead[hidden]{display:none}.eureka-root thead>tr{display:block;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka-root thead>tr>th{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka-root thead>tr>th.eureka__choose{grid-area:choose}.eureka-root thead>tr>th.eureka__th-media{grid-area:media}.eureka-root thead>tr>th.eureka__th-filename{grid-area:name}.eureka-root thead>tr>th.eureka__th-actions{grid-area:none}.eureka-root thead>tr>th.eureka__th-dimensions{grid-area:dimensions}.eureka-root thead>tr>th.eureka__th-file-size{grid-area:file-size}.eureka-root thead>tr>th.eureka__th-edited-on{grid-area:edited-on}.eureka-root tbody.empty{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka-root tbody.empty>tr{text-align:center;display:block}.eureka-root tbody.empty>tr td{margin:0 auto;display:inline-block}.eureka-root tbody{-ms-flex-preferred-size:0;flex-basis:0;text-align:center;display:block;-ms-flex-wrap:no-wrap;flex-wrap:no-wrap;overflow-y:auto;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-ms-flex-negative:1;flex-shrink:1;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:100%;-webkit-overflow-scrolling:touch}.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__td-media,.eureka.eureka__choose-multiple:not(.eureka__view-mode__grid) .eureka__th-media{padding-left:16px;padding-left:1rem}@media screen and (min-width:641px){.eureka__media-directory-selector form{display:inline-block}.eureka__media-directory-selector>div{display:inline-block;margin-left:.5em}}.eureka__sort-select select{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka__sort-select{margin-left:auto;margin-right:auto}.eureka__sort-select label{margin-right:.5rem}.eureka__sort-select select{margin-right:1rem;margin-bottom:0}}@media screen and (min-width:641px){.eureka__tree-toggle{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:.5rem}.eureka__tree-toggle>:first-child{margin-right:auto}.eureka__tree-toggle .eureka__upload-form{margin-right:auto}}@media screen and (min-width:641px) and (min-width:641px){.eureka__tree-toggle .eureka__upload-form form{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .eureka__tree-toggle .eureka__upload-form label[for*=upload-form]{padding-top:0;padding-bottom:0;line-height:2.2}}@media screen and (min-width:641px){.eureka__server-side .eureka__tree-toggle .eureka__upload-form{margin-right:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__table .eureka__table img{max-height:20vh}}.eureka.eureka__view-mode__table .eureka__table thead th:first-child{padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__table .eureka__table thead th:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:first-child{padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__table .eureka__table tr[contextmenu] td:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__table .eureka__table tr td,.eureka.eureka__view-mode__table .eureka__table tr th{text-align:center}@media screen and (min-width:641px){.eureka.eureka__view-mode__table .eureka__table tr td,.eureka.eureka__view-mode__table .eureka__table tr th{text-align:right}.eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media,.eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media{text-align:left}}.eureka.eureka__view-mode__table .eureka__table tr td.eureka__th-media,.eureka.eureka__view-mode__table .eureka__table tr th.eureka__th-media{text-align:left}.eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table img{max-height:20vh}.eureka.eureka__view-mode__table.eureka__enlarge-focused-rows .eureka__table tr:focus img{max-height:30vh}.eureka.eureka__view-mode__grid .eureka__table thead,.eureka.eureka__view-mode__masonry .eureka__table thead,.eureka.eureka__view-mode__thumb .eureka__table thead{display:none!important}.eureka.eureka__view-mode__grid .eureka__table td:not(.eureka__td-media):not(.eureka__choose),.eureka.eureka__view-mode__masonry .eureka__table td:not(.eureka__td-media):not(.eureka__choose),.eureka.eureka__view-mode__thumb .eureka__table td:not(.eureka__td-media):not(.eureka__choose){display:none}.eureka.eureka__view-mode__grid .eureka__table td[colspan],.eureka.eureka__view-mode__masonry .eureka__table td[colspan],.eureka.eureka__view-mode__thumb .eureka__table td[colspan]{display:block}.eureka.eureka__view-mode__grid .eureka__table tbody,.eureka.eureka__view-mode__masonry .eureka__table tbody,.eureka.eureka__view-mode__thumb .eureka__table tbody{-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody,.eureka.eureka__view-mode__masonry .eureka__table tbody,.eureka.eureka__view-mode__thumb .eureka__table tbody{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important}}.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{margin:0 8px 8px 0;margin:0 .5rem .5rem 0;-ms-flex-preferred-size:42vw;flex-basis:42vw;width:100%}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{display:inline-block}}.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex] td,.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex] td,.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex] td{display:block}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__thumb .eureka__table tbody tr[tabindex]{-ms-flex-preferred-size:16vw;flex-basis:16vw}}.eureka.eureka__view-mode__grid .eureka__table tbody .eureka__context-row,.eureka.eureka__view-mode__masonry .eureka__table tbody .eureka__context-row,.eureka.eureka__view-mode__thumb .eureka__table tbody .eureka__context-row{display:none}@media screen and (max-width:640px){.eureka.eureka__view-mode__thumb .eureka__table tbody{display:-webkit-box;display:-ms-flexbox;display:flex}}@media screen and (max-width:640px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{margin-bottom:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex],.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{-ms-flex-preferred-size:25vw;flex-basis:25vw}}@media screen and (max-width:640px){.eureka.eureka__view-mode__grid .eureka__table tbody tr[tabindex]>td:not(.eureka__context-row),.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]>td:not(.eureka__context-row){padding-right:0}}@media screen and (min-width:641px){.eureka.eureka__view-mode__masonry .eureka__table tbody tr[tabindex]{max-width:20%;margin:0;padding:0 .25rem}}@media screen and (min-width:641px){.eureka .eureka__tree{-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}}.eureka.eureka__view-mode__table .eureka__context-row{margin-top:8px;margin-top:.5rem}@media screen and (min-width:641px){.eureka .eureka__context-row{margin-top:0;width:100%;display:block;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%}.eureka .eureka__context-row[hidden]{display:none!important}.eureka .eureka__context-row .eureka__context-buttons{width:100%}}.eureka .eureka__tree-bar{text-align:center}.eureka.eureka__view-mode__grid .eureka__td-media,.eureka.eureka__view-mode__masonry .eureka__td-media{margin:0 auto;display:inline-block}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead th:first-child{display:none}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead th:nth-of-type(2){text-align:left;padding-left:.5rem}}.eureka.eureka__view-mode__list .eureka__table thead th:last-child{padding-right:8px;padding-right:.5rem}.eureka.eureka__view-mode__list .eureka__table thead td,.eureka.eureka__view-mode__list .eureka__table thead th,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th{text-align:right}.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{text-align:left}@supports (display:grid){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{display:block}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__th-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-media,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__th-media{display:none}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table thead td.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table thead th.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] td.eureka__td-filename,.eureka.eureka__view-mode__list .eureka__table tr[contextmenu] th.eureka__td-filename{text-align:center;padding-top:.5rem;padding-bottom:.5rem}}@media screen and (max-width:640px){.eureka.eureka__view-mode__list .eureka__table tbody{line-height:2}}.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media embed,.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media img,.eureka.eureka__view-mode__list .eureka__table tbody .eureka__td-media video{max-width:10vh;max-height:10vh}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]{padding-top:0;padding-bottom:0}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]>td:nth-of-type(2){padding-left:8px;padding-left:.5rem}.eureka.eureka__view-mode__list .eureka__table tbody tr[contextmenu]>td:last-child{padding-right:8px;padding-right:.5rem}@media screen and (max-width:640px){.eureka .eureka__crop-btn{display:none}}.eureka .flex-bar fieldset{margin:0;padding:0}.eureka .flex-bar fieldset label{margin-bottom:0}.eureka .eureka__invert-horz{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.eureka .eureka__td-media{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}@media screen and (min-width:641px){.eureka .eureka__show-for-mobile-up p,.eureka .eureka__show-for-mobile-up textarea{max-height:3em;overflow-y:auto;display:block;width:100%}}.eureka .eureka__pathbar textarea{resize:none}.eureka label[for=eureka__crop_show-adv-controls]{position:absolute;top:.75em;right:1em}.eureka .eureka__crop-modal .icon-bar{margin-top:1em;font-size:16px;font-size:1rem}.eureka .eureka__crop-modal .icon-bar label[for=eureka__crop-drag-mode-move]{border-top-left-radius:3px;border-bottom-left-radius:3px}.eureka .eureka__crop-modal .icon-bar .button,.eureka .eureka__crop-modal .icon-bar button{border-radius:0}.eureka .eureka__crop-modal .icon-bar .button:first-child,.eureka .eureka__crop-modal .icon-bar button:first-child{border-top-left-radius:3px;border-bottom-left-radius:3px}.eureka .eureka__crop-modal .icon-bar .button:last-child,.eureka .eureka__crop-modal .icon-bar button:last-child{border-top-right-radius:3px;border-bottom-right-radius:3px}.eureka .eureka__crop-modal .icon-bar.flex-bar>*{margin-right:0}.eureka .eureka__crop-modal .icon-bar button{font-size:16px;font-size:1rem}.eureka .eureka__crop-modal .wrappable.flex-bar{-ms-flex-pack:distribute;justify-content:space-around;margin-bottom:32px;margin-bottom:2rem}.eureka .eureka__crop-modal .wrappable.flex-bar>*{padding-left:16px;padding-left:1rem;padding-right:16px;padding-right:1rem}.eureka .eureka__crop-modal .wrappable.flex-bar summary{margin-bottom:8px;margin-bottom:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box{margin-top:16px;margin-top:1rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label{margin-bottom:0}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box label[for=eureka__crop-aspect-ratio]{line-height:2}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[type=number]{width:5em}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box input[id*=eureka__crop-scale]{width:4em}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box summary{display:-webkit-box;display:-ms-flexbox;display:flex}}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div>*,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div>*{margin-right:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>details>div:last-child,.eureka .eureka__modal .eureka__modal-panel .eureka__crop-bounding-box>div:last-child{margin-right:0}}.eureka [hidden]{display:none!important}.eureka .eureka__crop-save-as-checkbox{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__crop-as{padding-right:16px;padding-right:1rem}.eureka .eureka__crop-as input[type=text]{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eureka label[for=eureka__crop-save-as-name]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka label[for=eureka__crop-aspect-ratio-remember]{line-height:2}.eureka label[for=eureka__crop-rotate]+input[type=range]{min-width:14em}.eureka .eureka__choose-multile>label{display:block;height:100%}.dangerous{color:red;color:var(--dangerous,red)}input:not([type=checkbox]):not([type=radio]):focus{outline:1px solid #3697cd;outline:1px solid var(--active,#3697cd)}[role=listbox]:focus,tr.eureka__context-row:focus,tr[tabindex]:focus{outline:1px solid #3697cd;outline:1px solid var(--active,#3697cd)}summary:focus{outline:0;font-weight:700;color:#3697cd;color:var(--active,#3697cd)}.eureka .eureka__button-bar,.eureka .eureka__tree-bar,.flex-bar{display:-webkit-box;display:-ms-flexbox;display:flex}.eureka .wrappable.eureka__button-bar,.eureka .wrappable.eureka__tree-bar,.wrappable.flex-bar{-ms-flex-wrap:wrap;flex-wrap:wrap}.eureka .wrappable.eureka__button-bar>*,.eureka .wrappable.eureka__tree-bar>*,.wrappable.flex-bar>*{padding-left:16px;padding-left:1rem;padding-right:16px;padding-right:1rem}.balanced.flex-bar,.eureka .balanced.eureka__button-bar,.eureka .balanced.eureka__tree-bar{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka .eureka__button-bar>*,.eureka .eureka__tree-bar>*,.flex-bar>*{margin-right:8px;margin-right:.5rem}.eureka .eureka__button-bar>.growable,.eureka .eureka__tree-bar>.growable,.flex-bar>.growable{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.eureka .eureka__button-bar>:last-child,.eureka .eureka__tree-bar>:last-child,.flex-bar>:last-child{margin-right:0}[role=dialog] .flex-bar{margin-top:8px;margin-top:.5rem}.eureka .eureka__button-bar,.eureka .eureka__notice{text-align:center}a[role=presentation]{color:currentColor!important;text-decoration:none!important}@-webkit-keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.icon-circle-o-notch{-webkit-animation:spinner 1s linear infinite;animation:spinner 1s linear infinite}.eureka__table tr[tabindex].eureka__focused-media-item .eureka__td-filename{font-weight:700}.eureka__table tr[tabindex]:target .eureka__td-media>*{outline:3px solid #32ab9a}.eureka__table tr[tabindex]:target .eureka__td-filename{font-weight:700}.eureka .eureka__context-buttons,.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{border:1px solid #ddd;border:var(--border-width,1px) var(--border-style,solid) var(--panel-border-color,#ddd)}.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka .eureka__table td.comfortable,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{padding:16px;padding:1rem}@media screen and (min-width:641px){.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka .eureka__table td.comfortable,.eureka [class^=alert],.eureka-root .eureka__notification-wrapper>*{padding:.5rem}}.eureka .eureka__modal .eureka__modal-panel,.eureka .eureka__pathbar,.eureka .eureka__pathbrowser,.eureka .eureka__stage,.eureka [class^=alert]{border-radius:.25rem;background:#fff;background:var(--light-bg,#fff)}.eureka-root .eureka__notification-wrapper>*{border-radius:.25rem;padding-left:1.5em;padding-right:1.5em;background:#d9edf7;background:var(--notification-background,#d9edf7);color:#1d6e95;color:var(--notification-color,#1d6e95);border:1px solid #309dd4;border:1px solid var(--notification-border-color,var(--notification-color,#309dd4))}.eureka-root .eureka__notification-wrapper>* a{color:currentColor}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper>* br{display:none}}.eureka-root .eureka__notification-wrapper>* button{position:absolute;top:4px;top:.25rem;right:4px;right:.25rem;color:currentColor;-webkit-transition:color 240ms ease;transition:color 240ms ease;-webkit-box-shadow:none;box-shadow:none}.eureka-root .eureka__notification-wrapper>* button:focus,.eureka-root .eureka__notification-wrapper>* button:hover{color:#247fad!important;color:var(--notification-focus-color,#247fad)!important;border:none;-webkit-box-shadow:none;box-shadow:none}.eureka-root .eureka__notification-wrapper>* button:focus svg,.eureka-root .eureka__notification-wrapper>* button:hover svg{fill:currentColor!important}.eureka-root .eureka__notification-wrapper>.eureka__dangerous{--notification-background:#f7a2a2;--notification-color:#911912;--notification-border-color:#911912;--notification-focus-color:#911912}.eureka .eureka__notification-wrapper{-webkit-transition:top 240ms ease 90ms,opacity 240ms ease;transition:top 240ms ease 90ms,opacity 240ms ease;opacity:1;top:0;text-align:center}.eureka .eureka__notification-wrapper>*{position:relative}@media screen and (max-width:640px){.eureka .eureka__notification-wrapper{-webkit-transition:opacity 240ms ease;transition:opacity 240ms ease;left:0;right:0}}.eureka .eureka__notification-wrapper[aria-hidden=true]{opacity:0;top:-5em;display:block;-webkit-transition:opacity 340ms ease-out 90ms,top 420ms ease-out;transition:opacity 340ms ease-out 90ms,top 420ms ease-out}@media screen and (min-width:641px){.eureka .eureka__notification-wrapper{position:absolute;left:0;right:0;top:.25rem}}.eureka .eureka__notification-wrapper p{margin:0}.eureka .eureka__notification-wrapper .icon{-webkit-transform:translateY(.125em);transform:translateY(.125em)}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label{cursor:default;position:relative;padding-left:1.5em}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label .spinner{position:absolute;top:0;left:.275em;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label:hover{background:#fff;background:var(--button-bg,#fff);color:#555;color:var(--button-color,#555)}.eureka .eureka__upload-form input[name*=uploadFiles]:disabled+label:hover svg{fill:currentColor}.eureka a{color:#3697cd;color:var(--link-color,#3697cd)}.eureka h1,.eureka h2,.eureka h3,.eureka h4,.eureka h5,.eureka h6{font-weight:400}.eureka h1,.eureka h2,.eureka h3,.eureka h4,.eureka h5,.eureka h6,.eureka thead{color:#555;color:var(--subtle,#555)}.eureka select{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em;padding-right:1.5em;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8, ");background-size:contain;background-repeat:no-repeat;background-scale:70% 70%;background-position:right .5em}@media screen and (max-width:640px){.eureka select{width:100%;margin-top:.5em}}.eureka select:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}@-moz-document url-prefix(){.eureka select{background-image:url(../img/select-arrow.svg)}}.eureka button[id^=eureka__tree-toggle__button]{margin-bottom:16px;margin-bottom:1rem;-webkit-box-shadow:0 0 0 1px #e4e4e4,0 .25em 0 #c5c5c5;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4),0 .25em 0 var(--border-color,#c5c5c5);box-shadow:0 0 0 1px #e4e4e4,0 .25em 0 #c5c5c5;box-shadow:0 0 0 1px var(--border-color,#e4e4e4),0 .25em 0 var(--border-color,#c5c5c5)}.eureka button[id^=eureka__tree-toggle__button]:focus{--button-color:#3697cd;--button-color:var(--active, #3697cd)}@media screen and (max-width:640px){.eureka button[id^=eureka__tree-toggle__button]{width:100%;min-height:1.75rem}}@media screen and (min-width:641px){.eureka button[id^=eureka__tree-toggle__button]{margin-bottom:0}}.eureka :disabled{cursor:not-allowed}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:last-child{background-color:#32ab9a;background-image:-webkit-gradient(linear,left top,left bottom,from(#32ab9a),to(#00948e));background-image:linear-gradient(#32ab9a,#00948E);-webkit-box-shadow:none;box-shadow:none;color:#fff}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:focus:last-child,.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:hover:last-child{--border-color:#007571;background-color:#2b9385;background-image:-webkit-gradient(linear,left top,left bottom,from(#2b9385),to(#007571));background-image:linear-gradient(#2b9385,#007571);color:#fff;-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4)}.eureka .eureka__modal-panel .eureka__button-bar:not([aria-hidden=true])>:disabled:last-child{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka a.button{text-decoration:none}.eureka .button,.eureka button{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em}.eureka .button:focus,.eureka button:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka .button:hover,.eureka button:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka .button:hover svg,.eureka button:hover svg{fill:#fff}.eureka .button.eureka__primary,.eureka button.eureka__primary{background-color:#32ab9a;background-image:-webkit-gradient(linear,left top,left bottom,from(#32ab9a),to(#00948e));background-image:linear-gradient(#32ab9a,#00948E);-webkit-box-shadow:none;box-shadow:none;color:#fff}.eureka .button.eureka__primary:focus,.eureka .button.eureka__primary:hover,.eureka button.eureka__primary:focus,.eureka button.eureka__primary:hover{--border-color:#007571;background-color:#2b9385;background-image:-webkit-gradient(linear,left top,left bottom,from(#2b9385),to(#007571));background-image:linear-gradient(#2b9385,#007571);color:#fff;-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4)}.eureka .button.eureka__primary:disabled,.eureka button.eureka__primary:disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka .button.dangerous:active,.eureka .button.dangerous:focus,.eureka .button.dangerous:hover,.eureka .button.dangerous:target,.eureka button.dangerous:active,.eureka button.dangerous:focus,.eureka button.dangerous:hover,.eureka button.dangerous:target{--border-color:#b80000;--border-color:var(--border-color-dangerous, #b80000);background-color:red;color:#fff;background-image:-webkit-gradient(linear,left top,left bottom,from(red),to(#c00));background-image:linear-gradient(red,#c00)}.eureka [aria-hidden=true] .button.eureka__primary,.eureka [aria-hidden=true] button.eureka__primary{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em}.eureka [aria-hidden=true] .button.eureka__primary:focus,.eureka [aria-hidden=true] button.eureka__primary:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka [aria-hidden=true] .button.eureka__primary:hover,.eureka [aria-hidden=true] button.eureka__primary:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka [aria-hidden=true] .button.eureka__primary:hover svg,.eureka [aria-hidden=true] button.eureka__primary:hover svg{fill:#fff}.eureka input[type=text]{padding-left:8px;padding-left:.5rem;padding-right:8px;padding-right:.5rem}.eureka input[type=text]{border-width:1px;border-width:var(--border-width,1px);border-style:solid;border-style:var(--border-style,solid);border-color:#e4e4e4;border-color:var(--border-color,#e4e4e4)}.eureka fieldset{border:none}@media screen and (max-width:640px){.eureka fieldset{border-width:1px;border-width:var(--border-width,1px);border-style:solid;border-style:var(--border-style,solid);border-color:#e4e4e4;border-color:var(--border-color,#e4e4e4);border-radius:.25rem;border-radius:var(--border-color,.25rem)}}.eureka .active{font-weight:700}.eureka details details{padding-left:.5em}.eureka menu{display:none}.eureka img{max-width:100%}.eureka .alert-info{background-color:#d9edf7;background-color:var(--light-bg,#d9edf7);border-color:#bce8f1;border-color:var(--border-color,#bce8f1);color:#31708f;color:var(--subtle,#31708f)}.eureka .alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}@media screen and (max-width:640px){.eureka .eureka__button-bar>*{margin-right:0}}.eureka .eureka__tree{margin-bottom:16px;margin-bottom:1rem;line-height:1.6;line-height:var(--tree-line-height,1.6)}@media screen and (min-width:641px){.eureka .eureka__tree{margin-bottom:.5rem}}@media (pointer:coarse){.eureka .eureka__tree{font-size:1.4em;line-height:1.8;line-height:var(--tree-course-line-height,1.8)}}.eureka .eureka__context-buttons{-ms-flex-pack:distribute;justify-content:space-around;background:#f7f7f7;background:var(--button-bg,#f7f7f7);border-left:0;border-right:0;padding:8px 0;padding:.5rem 0}.eureka .eureka__context-buttons button,.eureka .eureka__context-buttons>a.button{font-size:11px;font-size:.6875rem}.eureka.eureka__view-mode__list .eureka__context-buttons{padding-top:5.6px;padding-top:.35rem;padding-bottom:5.6px;padding-bottom:.35rem}.eureka.eureka__view-mode__list .eureka__context-buttons button,.eureka.eureka__view-mode__list .eureka__context-buttons>a.button{font-size:9.6px;font-size:.6rem}.eureka .eureka__table{min-width:100%}.eureka .eureka__table tr[contextmenu]{padding-bottom:8px;padding-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__table tr[contextmenu]{padding-top:.5rem}}.eureka .eureka__table tr[contextmenu].eureka__focused-media-item:last-child{padding-bottom:0}.eureka .eureka__table td.comfortable p[class^=alert]{margin:0}.eureka .eureka__td-media{background:0 0;background:var(--media-cell-background,transparent)}.eureka .eureka__stage{padding:0;margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__stage{margin-bottom:0}}.eureka .eureka__stage h1:first-child,.eureka .eureka__stage h2:first-child,.eureka .eureka__stage h3:first-child{margin-top:0}.eureka .eureka__stage__filter-view{padding:8px;padding:.5rem}@media screen and (max-width:640px){.eureka .eureka__stage__filter-view{padding-bottom:0}}.eureka .eureka__stage__filter-view .eureka__search-bar{line-height:2;font-size:16px;font-size:1rem;display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka .eureka__stage__filter-view .eureka__search-bar{font-size:.8rem;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;max-width:22em}}.eureka .eureka__stage__filter-view .eureka__search-bar label{color:#556c88;color:var(--subtle,#556c88)}@media screen and (min-width:641px){.eureka .eureka__stage__filter-view .eureka__search-bar{margin-bottom:0}}.eureka .eureka__stage__filter-view .eureka__search-bar input{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto;font-size:inherit}.eureka .eureka__media-directory-selector{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka .eureka__media-directory-selector{margin-right:auto;margin-bottom:.5rem}}.eureka .eureka__media-directory-selector button[type=submit]{margin-left:16px;margin-left:1rem}.eureka .eureka__media-directory-selector form{position:relative}.eureka .eureka__tree-bar{margin:8px 0 0 0;margin:.5rem 0 0 0}.eureka .eureka__tree-bar>*{margin:0 8px 0 0;margin:0 .5rem 0 0}.eureka .eureka__tree-bar>:last-child{margin-right:0}@media screen and (max-width:640px){.eureka .eureka__tree-bar{margin-top:1rem}}.eureka .eureka__tree-bar .button,.eureka .eureka__tree-bar button{font-size:16px;font-size:1rem;-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka .eureka__media-source-selector{margin-bottom:16px;margin-bottom:1rem}.eureka .eureka__media-source-selector h2:first-child,.eureka .eureka__media-source-selector h3:first-child{margin-top:0}@media screen and (max-width:640px){.eureka .eureka__upload-form{margin-bottom:1rem}}@media screen and (max-width:640px){.eureka .eureka__upload-form label{display:block}}.eureka:not(.eureka__server-side) .eureka__upload-form label{background:#fff;background:var(--button-bg,#fff);-webkit-box-shadow:0 0 0 1px #e4e4e4;-webkit-box-shadow:0 0 0 1px var(--border-color,#e4e4e4);box-shadow:0 0 0 1px #e4e4e4;box-shadow:0 0 0 1px var(--border-color,#e4e4e4);color:#555;color:var(--button-color,#555);border:0;border-radius:3px;padding:.5em .5em;font-size:11px;font-size:.6875rem;text-align:center}.eureka:not(.eureka__server-side) .eureka__upload-form label:focus{outline:0;--border-color:#3697cd;--border-color:var(--active, #3697cd);--border-shadow-color:#3697cd;--border-shadow-color:var(--active, #3697cd)}.eureka:not(.eureka__server-side) .eureka__upload-form label:hover{background:#3697cd;color:#fff;--border-color:#297aa7;--border-color:var(--active-darker, #297aa7);--border-shadow-color:#297aa7;--border-shadow-color:var(--active-darker, #297aa7)}.eureka:not(.eureka__server-side) .eureka__upload-form label:hover svg{fill:#fff}.eureka .eureka__choose-bar{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.eureka .eureka__choose-bar[aria-hidden=true]{-webkit-filter:grayscale(100%);filter:grayscale(100%)}.eureka .eureka__choose-bar button{font-size:16px;font-size:1rem}@media screen and (min-width:641px){.eureka .eureka__choose-bar button{font-size:.8rem}}.eureka .eureka__pathbrowser{margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka .eureka__pathbrowser{margin-bottom:0}}.eureka .eureka__pathbrowser nav{color:#556c88;color:var(--subtle,#556c88)}.eureka .eureka__pathbrowser details>summary svg{-webkit-transform:translateY(.2em);transform:translateY(.2em);margin-right:.25em}.eureka .eureka__pathbrowser details>summary>.icon-folder-open{display:none}.eureka .eureka__pathbrowser details[open]>summary>.icon-folder-open{display:inline-block}.eureka .eureka__pathbrowser details[open]>summary>.icon-folder{display:none}.eureka .eureka__pathbar{padding:8px;padding:.5rem;margin-bottom:8px;margin-bottom:.5rem;margin-top:8px;margin-top:.5rem}@media screen and (min-width:641px){.eureka .eureka__pathbar{margin-bottom:0}}.eureka .eureka__pathbar summary{word-wrap:break-word}.eureka .eureka__pathbar details>div{padding-top:16px;padding-top:1rem}.eureka .eureka__pathbar .eureka__context-buttons{background:0 0;border:none}.eureka .eureka__layout-chooser{color:#556c88;color:var(--subtle,#556c88)}.eureka .eureka__layout-chooser fieldset{margin:0;padding:.5em 0}@media screen and (min-width:641px){.eureka .eureka__layout-chooser fieldset{padding:0}}.eureka .eureka__layout-chooser .eureka__icon-radio-btns{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.eureka .eureka__layout-chooser .eureka__icon-radio-btns>div{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=checkbox]:checked+label svg[class^=icon],.eureka .eureka__layout-chooser .eureka__icon-radio-btns input[type=radio]:checked+label svg[class^=icon]{fill:#3697cd;fill:var(--active,#3697cd)}.eureka .eureka__layout-chooser .eureka__icon-radio-btns label{font-size:22.4px;font-size:1.4rem;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.eureka svg[class^=icon]{position:relative;width:1em;height:1em;fill:currentColor}@media screen and (min-width:641px){.eureka .eureka__hide-for-mobile-up{display:none}}@media screen and (max-width:640px){.eureka .eureka__show-for-mobile-up{display:none}}.eureka .eureka__drop-area{-webkit-box-flex:2;-ms-flex:2 8 auto;flex:2 8 auto;display:-webkit-box;display:-ms-flexbox;display:flex;cursor:pointer}.eureka .eureka__drop-area-zone{width:100%;padding:8px;padding:.5rem;border-width:2px;border-color:#ddd;border-color:var(--very-subtle,#ddd);border-style:dashed;border-radius:5px;background-color:transparent;-webkit-transition:border-color 240ms ease,background-color 320ms ease 120ms;transition:border-color 240ms ease,background-color 320ms ease 120ms;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:none}@media screen and (min-height:360px){.eureka .eureka__drop-area-zone{display:-webkit-box;display:-ms-flexbox;display:flex}}.eureka .eureka__drop-area-zone svg{font-size:4em;fill:#ddd;fill:var(--very-subtle,#ddd);-webkit-transition:fill 240ms ease 160ms,opacity 240ms ease;transition:fill 240ms ease 160ms,opacity 240ms ease;opacity:.42;opacity:var(--very-subtle-icon-opacity,.42);max-height:100%}.eureka .eureka__drop-area-zone.eureka__drop-area-zone-active{background-color:#d9ecf6;border-color:#3697cd;border-color:var(--active,#3697cd);-webkit-transition:border-color 240ms ease 120ms,background-color 320ms ease 0;transition:border-color 240ms ease 120ms,background-color 320ms ease 0}.eureka .eureka__drop-area-zone.eureka__drop-area-zone-active svg{fill:#3697cd;fill:var(--active,#3697cd);opacity:1}.eureka .eureka__modal{z-index:100009;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.eureka .eureka__modal .eureka__modal-scrim{background:rgba(8,8,8,.25);z-index:0}.eureka .eureka__modal .eureka__modal-panel{min-width:30vw;max-width:70vw;max-height:70vh;position:relative;z-index:99999}.eureka .eureka__modal .eureka__modal-panel h1:first-child,.eureka .eureka__modal .eureka__modal-panel h2:first-child,.eureka .eureka__modal .eureka__modal-panel h3:first-child{margin-top:0}.eureka .eureka__modal .eureka__modal-panel summary label{display:block;margin-bottom:8px;margin-bottom:.5rem}.eureka .eureka__modal .eureka__modal-panel summary label[for=eureka__crop-upload-file]{margin-bottom:0}.eureka .eureka__modal .eureka__modal-panel input[type=text]{width:100%;font-size:1.4em}.eureka .eureka__modal .eureka__modal-panel .eureka__button-bar{margin-top:8px;margin-top:.5rem}.eureka .eureka__modal .eureka__modal-panel .eureka__button-bar>*{-webkit-box-flex:1;-ms-flex:1 0 auto;flex:1 0 auto}.eureka .eureka__modal.eureka__greedy .eureka__modal-panel{max-width:calc(100vw - 2rem);max-height:calc(100vh - 2rem)}@media screen and (max-width:640px){.eureka-root .eureka__sticky-bar{z-index:99999;position:-webkit-sticky;position:sticky;left:.5rem;right:.5rem;top:0}}.eureka-root .eureka__notification-wrapper{z-index:99999;margin-bottom:8px;margin-bottom:.5rem}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper{margin-bottom:0}}.eureka-root .eureka__notification-wrapper button{display:inline;background:0 0;border:none;padding:0}.eureka-root .eureka__notification-wrapper button:focus,.eureka-root .eureka__notification-wrapper button:hover{background:0 0!important;border:none!important;-webkit-box-shadow:none!important;box-shadow:none!important}.eureka-root .eureka__notification-wrapper>*{display:block;margin-left:auto;margin-right:auto}@media screen and (min-width:641px){.eureka-root .eureka__notification-wrapper>*{display:inline-block}}.eureka-root .eureka__choose-radio{margin-bottom:16px;margin-bottom:1rem}@media screen and (min-width:641px){.eureka-root .eureka__choose-radio{margin-bottom:0;-webkit-transform:translateY(.3em);transform:translateY(.3em);z-index:0}}.eureka-root .eureka__choose-radio fieldset{border:none}
\ No newline at end of file
diff --git a/client/build/assets/img/icons.0.0.129.min.svg b/client/build/assets/img/icons.0.0.129.min.svg
new file mode 100644
index 0000000..6587383
--- /dev/null
+++ b/client/build/assets/img/icons.0.0.129.min.svg
@@ -0,0 +1 @@
+arrow-down arrow-left arrow-right arrow-up arrows-h arrows-v arrows caret-down caret-left caret-right caret-square-o-down caret-square-o-left caret-square-o-right caret-square-o-up caret-up check circle-o-notch compress crop download exclamation-circle exclamation-triangle exclamation expand file-archive-o file-audio-o file-code-o file-excel-o file-image-o file-o file-pdf-o file-powerpoint-o file-text-o file-text file-video-o file-word-o file folder-o folder-open-o folder-open folder info-circle list masonry plus-square-o plus-square search-minus search-plus sort-alpha-asc sort-alpha-desc sort-amount-asc sort-amount-desc sort-asc sort-desc sort-numeric-asc sort-numeric-desc sort spinner square-o square table th-large th-list times trash-o trash undo upload
\ No newline at end of file
diff --git a/client/build/assets/img/icons.0.0.129.svg b/client/build/assets/img/icons.0.0.129.svg
new file mode 100644
index 0000000..cb32267
--- /dev/null
+++ b/client/build/assets/img/icons.0.0.129.svg
@@ -0,0 +1,333 @@
+
+
+ arrow-down
+
+
+
+ arrow-left
+
+
+
+ arrow-right
+
+
+
+ arrow-up
+
+
+
+ arrows-h
+
+
+
+ arrows-v
+
+
+
+ arrows
+
+
+
+ caret-down
+
+
+
+ caret-left
+
+
+
+ caret-right
+
+
+
+ caret-square-o-down
+
+
+
+ caret-square-o-left
+
+
+
+ caret-square-o-right
+
+
+
+ caret-square-o-up
+
+
+
+ caret-up
+
+
+
+ check
+
+
+
+ circle-o-notch
+
+
+
+ compress
+
+
+
+ crop
+
+
+
+ download
+
+
+
+ exclamation-circle
+
+
+
+ exclamation-triangle
+
+
+
+ exclamation
+
+
+
+ expand
+
+
+
+ file-archive-o
+
+
+
+ file-audio-o
+
+
+
+ file-code-o
+
+
+
+ file-excel-o
+
+
+
+ file-image-o
+
+
+
+ file-o
+
+
+
+ file-pdf-o
+
+
+
+ file-powerpoint-o
+
+
+
+ file-text-o
+
+
+
+ file-text
+
+
+
+ file-video-o
+
+
+
+ file-word-o
+
+
+
+ file
+
+
+
+ folder-o
+
+
+
+ folder-open-o
+
+
+
+ folder-open
+
+
+
+ folder
+
+
+
+ info-circle
+
+
+
+ list
+
+
+
+ masonry
+
+
+
+
+
+
+
+
+ plus-square-o
+
+
+
+ plus-square
+
+
+
+ search-minus
+
+
+
+ search-plus
+
+
+
+ sort-alpha-asc
+
+
+
+ sort-alpha-desc
+
+
+
+ sort-amount-asc
+
+
+
+ sort-amount-desc
+
+
+
+ sort-asc
+
+
+
+ sort-desc
+
+
+
+ sort-numeric-asc
+
+
+
+ sort-numeric-desc
+
+
+
+ sort
+
+
+
+ spinner
+
+
+
+ square-o
+
+
+
+ square
+
+
+
+ table
+
+
+
+ th-large
+
+
+
+ th-list
+
+
+
+ times
+
+
+
+ trash-o
+
+
+
+ trash
+
+
+
+ undo
+
+
+
+ upload
+
+
+
\ No newline at end of file
diff --git a/client/build/assets/img/select-arrow.svg b/client/build/assets/img/select-arrow.svg
new file mode 100644
index 0000000..420275d
--- /dev/null
+++ b/client/build/assets/img/select-arrow.svg
@@ -0,0 +1 @@
+
diff --git a/client/build/assets/img/src/svg/arrow-down.svg b/client/build/assets/img/src/svg/arrow-down.svg
new file mode 100644
index 0000000..1937562
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrow-left.svg b/client/build/assets/img/src/svg/arrow-left.svg
new file mode 100644
index 0000000..64e59f8
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrow-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrow-right.svg b/client/build/assets/img/src/svg/arrow-right.svg
new file mode 100644
index 0000000..4db606f
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrow-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrow-up.svg b/client/build/assets/img/src/svg/arrow-up.svg
new file mode 100644
index 0000000..a4f3927
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrow-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrows-h.svg b/client/build/assets/img/src/svg/arrows-h.svg
new file mode 100644
index 0000000..4fdbd33
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrows-h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrows-v.svg b/client/build/assets/img/src/svg/arrows-v.svg
new file mode 100644
index 0000000..5c3e7b7
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrows-v.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/arrows.svg b/client/build/assets/img/src/svg/arrows.svg
new file mode 100644
index 0000000..19f6ecb
--- /dev/null
+++ b/client/build/assets/img/src/svg/arrows.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-down.svg b/client/build/assets/img/src/svg/caret-down.svg
new file mode 100644
index 0000000..194ecb4
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-left.svg b/client/build/assets/img/src/svg/caret-left.svg
new file mode 100644
index 0000000..713c8db
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-right.svg b/client/build/assets/img/src/svg/caret-right.svg
new file mode 100644
index 0000000..ec8109f
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-square-o-down.svg b/client/build/assets/img/src/svg/caret-square-o-down.svg
new file mode 100644
index 0000000..28edc1c
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-square-o-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-square-o-left.svg b/client/build/assets/img/src/svg/caret-square-o-left.svg
new file mode 100644
index 0000000..26bf130
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-square-o-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-square-o-right.svg b/client/build/assets/img/src/svg/caret-square-o-right.svg
new file mode 100644
index 0000000..eea5042
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-square-o-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-square-o-up.svg b/client/build/assets/img/src/svg/caret-square-o-up.svg
new file mode 100644
index 0000000..b143e73
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-square-o-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/caret-up.svg b/client/build/assets/img/src/svg/caret-up.svg
new file mode 100644
index 0000000..fe0e474
--- /dev/null
+++ b/client/build/assets/img/src/svg/caret-up.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/check.svg b/client/build/assets/img/src/svg/check.svg
new file mode 100644
index 0000000..a2973b2
--- /dev/null
+++ b/client/build/assets/img/src/svg/check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/circle-o-notch.svg b/client/build/assets/img/src/svg/circle-o-notch.svg
new file mode 100644
index 0000000..a1789d3
--- /dev/null
+++ b/client/build/assets/img/src/svg/circle-o-notch.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/compress.svg b/client/build/assets/img/src/svg/compress.svg
new file mode 100644
index 0000000..56587b4
--- /dev/null
+++ b/client/build/assets/img/src/svg/compress.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/crop.svg b/client/build/assets/img/src/svg/crop.svg
new file mode 100644
index 0000000..2c32410
--- /dev/null
+++ b/client/build/assets/img/src/svg/crop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/download.svg b/client/build/assets/img/src/svg/download.svg
new file mode 100644
index 0000000..cb6a98d
--- /dev/null
+++ b/client/build/assets/img/src/svg/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/exclamation-circle.svg b/client/build/assets/img/src/svg/exclamation-circle.svg
new file mode 100644
index 0000000..532aa9f
--- /dev/null
+++ b/client/build/assets/img/src/svg/exclamation-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/exclamation-triangle.svg b/client/build/assets/img/src/svg/exclamation-triangle.svg
new file mode 100644
index 0000000..641ec2e
--- /dev/null
+++ b/client/build/assets/img/src/svg/exclamation-triangle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/exclamation.svg b/client/build/assets/img/src/svg/exclamation.svg
new file mode 100644
index 0000000..e3e131b
--- /dev/null
+++ b/client/build/assets/img/src/svg/exclamation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/expand.svg b/client/build/assets/img/src/svg/expand.svg
new file mode 100644
index 0000000..1008232
--- /dev/null
+++ b/client/build/assets/img/src/svg/expand.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-archive-o.svg b/client/build/assets/img/src/svg/file-archive-o.svg
new file mode 100644
index 0000000..7eadecc
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-archive-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-audio-o.svg b/client/build/assets/img/src/svg/file-audio-o.svg
new file mode 100644
index 0000000..67c9500
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-audio-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-code-o.svg b/client/build/assets/img/src/svg/file-code-o.svg
new file mode 100644
index 0000000..c3e0aa2
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-code-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-excel-o.svg b/client/build/assets/img/src/svg/file-excel-o.svg
new file mode 100644
index 0000000..4eb8589
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-excel-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-image-o.svg b/client/build/assets/img/src/svg/file-image-o.svg
new file mode 100644
index 0000000..12fffff
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-image-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-o.svg b/client/build/assets/img/src/svg/file-o.svg
new file mode 100644
index 0000000..eff72ff
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-pdf-o.svg b/client/build/assets/img/src/svg/file-pdf-o.svg
new file mode 100644
index 0000000..fbc7535
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-pdf-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-powerpoint-o.svg b/client/build/assets/img/src/svg/file-powerpoint-o.svg
new file mode 100644
index 0000000..a2574f0
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-powerpoint-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-text-o.svg b/client/build/assets/img/src/svg/file-text-o.svg
new file mode 100644
index 0000000..f26f5b1
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-text-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-text.svg b/client/build/assets/img/src/svg/file-text.svg
new file mode 100644
index 0000000..2bcba79
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-text.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-video-o.svg b/client/build/assets/img/src/svg/file-video-o.svg
new file mode 100644
index 0000000..6754918
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-video-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file-word-o.svg b/client/build/assets/img/src/svg/file-word-o.svg
new file mode 100644
index 0000000..2149464
--- /dev/null
+++ b/client/build/assets/img/src/svg/file-word-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/file.svg b/client/build/assets/img/src/svg/file.svg
new file mode 100644
index 0000000..5f3f439
--- /dev/null
+++ b/client/build/assets/img/src/svg/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/folder-o.svg b/client/build/assets/img/src/svg/folder-o.svg
new file mode 100644
index 0000000..1ea19cf
--- /dev/null
+++ b/client/build/assets/img/src/svg/folder-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/folder-open-o.svg b/client/build/assets/img/src/svg/folder-open-o.svg
new file mode 100644
index 0000000..a869316
--- /dev/null
+++ b/client/build/assets/img/src/svg/folder-open-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/folder-open.svg b/client/build/assets/img/src/svg/folder-open.svg
new file mode 100644
index 0000000..9b2b830
--- /dev/null
+++ b/client/build/assets/img/src/svg/folder-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/folder.svg b/client/build/assets/img/src/svg/folder.svg
new file mode 100644
index 0000000..ff0efe6
--- /dev/null
+++ b/client/build/assets/img/src/svg/folder.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/info-circle.svg b/client/build/assets/img/src/svg/info-circle.svg
new file mode 100644
index 0000000..4488ea1
--- /dev/null
+++ b/client/build/assets/img/src/svg/info-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/list.svg b/client/build/assets/img/src/svg/list.svg
new file mode 100644
index 0000000..1cf121a
--- /dev/null
+++ b/client/build/assets/img/src/svg/list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/masonry.svg b/client/build/assets/img/src/svg/masonry.svg
new file mode 100644
index 0000000..ef6be14
--- /dev/null
+++ b/client/build/assets/img/src/svg/masonry.svg
@@ -0,0 +1,10 @@
+
+ masonry
+
+
+
+
+
+
+
+
diff --git a/client/build/assets/img/src/svg/plus-square-o.svg b/client/build/assets/img/src/svg/plus-square-o.svg
new file mode 100644
index 0000000..649b992
--- /dev/null
+++ b/client/build/assets/img/src/svg/plus-square-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/plus-square.svg b/client/build/assets/img/src/svg/plus-square.svg
new file mode 100644
index 0000000..070a125
--- /dev/null
+++ b/client/build/assets/img/src/svg/plus-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/search-minus.svg b/client/build/assets/img/src/svg/search-minus.svg
new file mode 100644
index 0000000..3ad217b
--- /dev/null
+++ b/client/build/assets/img/src/svg/search-minus.svg
@@ -0,0 +1,5 @@
+
+ search-minus
+
+
+
diff --git a/client/build/assets/img/src/svg/search-plus.svg b/client/build/assets/img/src/svg/search-plus.svg
new file mode 100644
index 0000000..f6a7d98
--- /dev/null
+++ b/client/build/assets/img/src/svg/search-plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-alpha-asc.svg b/client/build/assets/img/src/svg/sort-alpha-asc.svg
new file mode 100644
index 0000000..80d318d
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-alpha-asc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-alpha-desc.svg b/client/build/assets/img/src/svg/sort-alpha-desc.svg
new file mode 100644
index 0000000..64bda2e
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-alpha-desc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-amount-asc.svg b/client/build/assets/img/src/svg/sort-amount-asc.svg
new file mode 100644
index 0000000..b183b36
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-amount-asc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-amount-desc.svg b/client/build/assets/img/src/svg/sort-amount-desc.svg
new file mode 100644
index 0000000..3f8c1f4
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-amount-desc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-asc.svg b/client/build/assets/img/src/svg/sort-asc.svg
new file mode 100644
index 0000000..38f79a5
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-asc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-desc.svg b/client/build/assets/img/src/svg/sort-desc.svg
new file mode 100644
index 0000000..998980f
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-desc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-numeric-asc.svg b/client/build/assets/img/src/svg/sort-numeric-asc.svg
new file mode 100644
index 0000000..2168848
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-numeric-asc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort-numeric-desc.svg b/client/build/assets/img/src/svg/sort-numeric-desc.svg
new file mode 100644
index 0000000..ad38614
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort-numeric-desc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/sort.svg b/client/build/assets/img/src/svg/sort.svg
new file mode 100644
index 0000000..505c65e
--- /dev/null
+++ b/client/build/assets/img/src/svg/sort.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/spinner.svg b/client/build/assets/img/src/svg/spinner.svg
new file mode 100644
index 0000000..af9b75b
--- /dev/null
+++ b/client/build/assets/img/src/svg/spinner.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/square-o.svg b/client/build/assets/img/src/svg/square-o.svg
new file mode 100644
index 0000000..956acbc
--- /dev/null
+++ b/client/build/assets/img/src/svg/square-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/square.svg b/client/build/assets/img/src/svg/square.svg
new file mode 100644
index 0000000..7f012c7
--- /dev/null
+++ b/client/build/assets/img/src/svg/square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/table.svg b/client/build/assets/img/src/svg/table.svg
new file mode 100644
index 0000000..1894839
--- /dev/null
+++ b/client/build/assets/img/src/svg/table.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/th-large.svg b/client/build/assets/img/src/svg/th-large.svg
new file mode 100644
index 0000000..74a7c39
--- /dev/null
+++ b/client/build/assets/img/src/svg/th-large.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/th-list.svg b/client/build/assets/img/src/svg/th-list.svg
new file mode 100644
index 0000000..c0cc7c8
--- /dev/null
+++ b/client/build/assets/img/src/svg/th-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/times.svg b/client/build/assets/img/src/svg/times.svg
new file mode 100644
index 0000000..2c96303
--- /dev/null
+++ b/client/build/assets/img/src/svg/times.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/trash-o.svg b/client/build/assets/img/src/svg/trash-o.svg
new file mode 100644
index 0000000..45c047f
--- /dev/null
+++ b/client/build/assets/img/src/svg/trash-o.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/trash.svg b/client/build/assets/img/src/svg/trash.svg
new file mode 100644
index 0000000..4c3f85d
--- /dev/null
+++ b/client/build/assets/img/src/svg/trash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/undo.svg b/client/build/assets/img/src/svg/undo.svg
new file mode 100644
index 0000000..6aa896d
--- /dev/null
+++ b/client/build/assets/img/src/svg/undo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/img/src/svg/upload.svg b/client/build/assets/img/src/svg/upload.svg
new file mode 100644
index 0000000..36cfc41
--- /dev/null
+++ b/client/build/assets/img/src/svg/upload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/cs.json b/client/build/assets/js/i18n/locales/cs.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/cs.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/de.json b/client/build/assets/js/i18n/locales/de.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/de.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/es.json b/client/build/assets/js/i18n/locales/es.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/es.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/fy.json b/client/build/assets/js/i18n/locales/fy.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/fy.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/it.json b/client/build/assets/js/i18n/locales/it.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/it.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/ja.json b/client/build/assets/js/i18n/locales/ja.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/ja.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/nl.json b/client/build/assets/js/i18n/locales/nl.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/nl.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/pl.json b/client/build/assets/js/i18n/locales/pl.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/pl.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/ru.json b/client/build/assets/js/i18n/locales/ru.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/ru.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/i18n/locales/sv.json b/client/build/assets/js/i18n/locales/sv.json
new file mode 100644
index 0000000..851fcc4
--- /dev/null
+++ b/client/build/assets/js/i18n/locales/sv.json
@@ -0,0 +1,76 @@
+{
+ "close.mediaBrowser":"Close Media Browser",
+ "choose":"Choose",
+ "item":"item",
+ "mediaItem":"media item",
+ "pluralItem":"a media item",
+ "rename.item":"Rename Item{item}",
+ "media":"Media",
+ "name":"Name",
+ "dimensions":"Dimensions",
+ "fileSize":"File Size",
+ "editedOn":"Edited On",
+ "search.tryAnother":"Try another search",
+ "search.noResults":"Uh oh. No results found for \"{filter}\"",
+ "grammar.or":"or",
+ "search.clearFilter":"clear the search filter",
+ "directory.appearsToBeEmpty":"Directory \"{cd}\" appears to be empty.",
+ "perhapsYouWouldLikeTo":"Perhaps you'd like to",
+ "upload.someFiles":"upload some files",
+ "grammar.to":"to",
+ "directory.set":"Set Directory",
+ "directory.browse":"Browse Directory",
+ "support.noVideo":"Your browser does not support the video tag.",
+ "support.noAudio":"Your browser does not support the audio tag.",
+ "select":"Select",
+ "media.contents":"Media Contents",
+ "grammar.a":"a",
+ "media.source":"Media Source",
+ "modal.closeWindow":"Close {title} Modal Window",
+ "cancel":"Cancel",
+ "directory.cancelCreating":"creating directory {cd}",
+ "create":"Create",
+ "directory":"directory",
+ "renamingItem":"renaming item {filename}",
+ "filter":"Filter",
+ "sortBy":"Sort by",
+ "upload.files":"Upload files",
+ "upload.dragFilesUploading":"Uploading files…",
+ "layout.fullscreenMode":"Fullscreen Mode",
+ "layout.table":"Table Layout",
+ "layout.thumb":"Thumbnail Layout",
+ "layout.grid":"Grid Layout",
+ "layout.list":"List Layout",
+ "media.browse":"Browse",
+ "directory.create":"Create a Directory",
+ "directory.createNewIn":"Create a new Directory in {cd}",
+ "mediaSourceTree":"Media Source Panel",
+ "close":"Close",
+ "open":"Open",
+ "rename":"Rename",
+ "delete":"Delete",
+ "in":"in",
+ "file.create":"Create File",
+ "contents.ofby":"contents of {cd} by filename, filesize, dimensions or even modification date",
+ "contents.filterBy":"Filter contents of {cd} by filename, filesize, dimensions or even modification date",
+ "file.quickCreate":"Quick Create Files",
+ "rename.cannot":"Cannot rename {filename} to the same name",
+ "expand":"Expand",
+ "choose.item":"Choose {filename}",
+ "directory.delete":"Delete Directory",
+ "delete.item":"Delete {filename}",
+ "download":"Download",
+ "download.item":"Download {filename}",
+ "expand.item":"Expand {filename}",
+ "directory.refresh":"Refresh Directory",
+ "upload.filesTo":"Upload File to {cd}",
+ "upload.createFileIn":"Create File in {cd}",
+ "context.performActions":"Perform Actions such as Expand or Choose on {filename}",
+ "directory.chmod":"chmod Directory",
+ "layout.tabular":"Tabular Layout displays image thumbnails along with Name, Description, File Size and Edited On columns",
+ "layout.thumbnail":"Thumbnail layout displays a grid of medium sized thumbnails",
+ "file.openInNewTab":"Open {filename} in a new tab",
+ "toggle":"Toggle",
+ "media.sourceTree":"Media Source Panel",
+ "upload.dragFilestoUpload":"Drag files here to be uploaded to {cd}"
+}
\ No newline at end of file
diff --git a/client/build/assets/js/stats.html b/client/build/assets/js/stats.html
new file mode 100644
index 0000000..654eda7
--- /dev/null
+++ b/client/build/assets/js/stats.html
@@ -0,0 +1,208 @@
+
+
+ Webpack Visualizer
+
+
+